Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

EXC_BAD_ACCESS (camlLuv__Helpers__set_reference_inner_1334 + 40)

オープン
#604 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
c, ocaml
領域
networking

調査の方向性

helpers.c の luv_async_trampoline から開始し、バックトレースをたどって camlLuv__Helpers__set_reference_inner_1334 と camlLuv__Stream__read_start_inner_3000 を調査します。スレッド 4 の EXC_BAD_ACCESS を調査し、周辺の luv と libuv のエントリポイントを使って再現可能な障害を確立します。クラッシュの原因が特定され、リグレッションチェックでカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

説明

(lldb) bt all
  thread #1, queue = 'com.apple.main-thread'
    frame #0: 0x0000000180a48a74 libsystem_kernel.dylib`__select + 8
    frame #1: 0x00000001013624d0 com.docker.vpnkit`unix_select(readfds=<unavailable>, writefds=<unavailable>, exceptfds=<unavailable>, timeout=<unavailable>) at select.c:94:15 [opt]
    frame #2: 0x000000010138c4f8 com.docker.vpnkit`caml_c_call + 28
    frame #3: 0x0000000100ccc890 com.docker.vpnkit`camlLwt_engine__fun_2758 + 32
    frame #4: 0x0000000100ccc39c com.docker.vpnkit`camlLwt_engine__fun_2681 + 284
    frame #5: 0x0000000100cced8c com.docker.vpnkit`camlLwt_main__run_loop_436 + 156
    frame #6: 0x0000000100ccf014 com.docker.vpnkit`camlLwt_main__run_494 + 268
    frame #7: 0x0000000100c3ceec com.docker.vpnkit`camlLuv_lwt__run_2432 + 92
    frame #8: 0x0000000100c1ec4c com.docker.vpnkit`camlDune__exe__Main__main_5289 + 1180
    frame #9: 0x00000001012c0bb0 com.docker.vpnkit`camlCmdliner_term__fun_452 + 112
    frame #10: 0x00000001012c3d9c com.docker.vpnkit`camlCmdliner__run_745 + 44
    frame #11: 0x00000001012c40c4 com.docker.vpnkit`camlCmdliner__term_eval_797 + 276
    frame #12: 0x00000001012c48f4 com.docker.vpnkit`camlCmdliner__eval_1333 + 284
    frame #13: 0x0000000100c2098c com.docker.vpnkit`camlDune__exe__Main__entry + 6532
    frame #14: 0x0000000100c118d4 com.docker.vpnkit`caml_program + 15996
    frame #15: 0x000000010138c568 com.docker.vpnkit`caml_start_program + 104
    frame #16: 0x0000000101366704 com.docker.vpnkit`caml_startup_common(argv=0x0000000100ccc890, pooling=<unavailable>) at startup_nat.c:160:9 [opt]
    frame #17: 0x0000000101366778 com.docker.vpnkit`caml_main [inlined] caml_startup_exn(argv=<unavailable>) at startup_nat.c:167:10 [opt]
    frame #18: 0x0000000101366770 com.docker.vpnkit`caml_main [inlined] caml_startup(argv=<unavailable>) at startup_nat.c:172:15 [opt]
    frame #19: 0x0000000101366770 com.docker.vpnkit`caml_main(argv=<unavailable>) at startup_nat.c:179:3 [opt]
    frame #20: 0x00000001013667d8 com.docker.vpnkit`main(argc=<unavailable>, argv=<unavailable>) at main.c:37:3 [opt]
    frame #21: 0x0000000180757e38 dyld`start + 2520
  thread #2
    frame #0: 0x0000000180a415e4 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x0000000180a7d638 libsystem_pthread.dylib`_pthread_cond_wait + 1232
    frame #2: 0x0000000101358fe0 com.docker.vpnkit`caml_condition_wait [inlined] st_condvar_wait(c=0x000060000054c270, m=0x0000600001e4c280) at st_posix.h:290:10 [opt]
    frame #3: 0x0000000101358fd4 com.docker.vpnkit`caml_condition_wait(wcond=<unavailable>, wmut=<unavailable>) at st_stubs.c:884:15 [opt]
    frame #4: 0x000000010138c4f8 com.docker.vpnkit`caml_c_call + 28
    frame #5: 0x0000000100c20d0c com.docker.vpnkit`camlDune__exe__Logging__next_1306 + 116
    frame #6: 0x0000000100c20b08 com.docker.vpnkit`camlDune__exe__Logging__with_lock_1175 + 64
    frame #7: 0x0000000100c20e98 com.docker.vpnkit`camlDune__exe__Logging__loop_1313 + 48
    frame #8: 0x0000000100cf61f4 com.docker.vpnkit`camlThread__fun_850 + 44
    frame #9: 0x000000010138c568 com.docker.vpnkit`caml_start_program + 104
    frame #10: 0x0000000101380e70 com.docker.vpnkit`caml_callback_exn(closure=<unavailable>, arg=1) at callback.c:111:10 [opt]
    frame #11: 0x00000001013584b8 com.docker.vpnkit`caml_thread_start(arg=<unavailable>) at st_stubs.c:548:5 [opt]
    frame #12: 0x0000000180a7d06c libsystem_pthread.dylib`_pthread_start + 148
  thread #3
    frame #0: 0x0000000180a48a74 libsystem_kernel.dylib`__select + 8
    frame #1: 0x000000010135852c com.docker.vpnkit`caml_thread_tick(arg=<unavailable>) at st_posix.h:388:5 [opt]
    frame #2: 0x0000000180a7d06c libsystem_pthread.dylib`_pthread_start + 148
* thread #4, stop reason = EXC_BAD_ACCESS (code=1, address=0x4f83f8b48148)
  * frame #0: 0x0000000100cdb8c8 com.docker.vpnkit`camlLuv__Helpers__set_reference_inner_1334 + 40
    frame #1: 0x0000000100ce58c8 com.docker.vpnkit`camlLuv__Stream__read_start_inner_3000 + 192
    frame #2: 0x00000001012ec708 com.docker.vpnkit`camlStdlib__Queue__iter_329 + 72
    frame #3: 0x0000000100cdb370 com.docker.vpnkit`camlLuv__Error__catch_exceptions_1447 + 56
    frame #4: 0x000000010138c568 com.docker.vpnkit`caml_start_program + 104
    frame #5: 0x0000000101381118 com.docker.vpnkit`caml_callback [inlined] caml_callback_exn(closure=<unavailable>, arg=1) at callback.c:111:10 [opt]
    frame #6: 0x0000000101381100 com.docker.vpnkit`caml_callback(closure=<unavailable>, arg=1) at callback.c:165:34 [opt]
    frame #7: 0x0000000101340ab0 com.docker.vpnkit`luv_async_trampoline(c_handle=<unavailable>) at helpers.c:64:5 [opt]
    frame #8: 0x0000000101346aa8 com.docker.vpnkit`uv__async_io(loop=0x0000000101bdd640, w=<unavailable>, events=<unavailable>) at async.c:163:5 [opt]
    frame #9: 0x0000000101356bf8 com.docker.vpnkit`uv__io_poll(loop=0x0000000101bdd640, timeout=164) at kqueue.c:0 [opt]
    frame #10: 0x0000000101346ed4 com.docker.vpnkit`uv_run(loop=0x0000000101bdd640, mode=UV_RUN_DEFAULT) at core.c:389:5 [opt]
    frame #11: 0x000000010133cde4 com.docker.vpnkit`luv_stub_blocking_1_uv_run(x1377=<unavailable>, x1376=<unavailable>) at c_generated_functions.c:1800:18 [opt]
    frame #12: 0x000000010138c4f8 com.docker.vpnkit`caml_c_call + 28
    frame #13: 0x0000000100cf5eac com.docker.vpnkit`camlLuv_c_generated_functions__fun_6620 + 52
    frame #14: 0x0000000100c3cfa4 com.docker.vpnkit`camlLuv_lwt__fun_2872 + 28
    frame #15: 0x0000000100cf61f4 com.docker.vpnkit`camlThread__fun_850 + 44
    frame #16: 0x000000010138c568 com.docker.vpnkit`caml_start_program + 104
    frame #17: 0x0000000101380e70 com.docker.vpnkit`caml_callback_exn(closure=<unavailable>, arg=1) at callback.c:111:10 [opt]
    frame #18: 0x00000001013584b8 com.docker.vpnkit`caml_thread_start(arg=<unavailable>) at st_stubs.c:548:5 [opt]
    frame #19: 0x0000000180a7d06c libsystem_pthread.dylib`_pthread_start + 148
  thread #5
    frame #0: 0x0000000180a415e4 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x0000000180a7d638 libsystem_pthread.dylib`_pthread_cond_wait + 1232
    frame #2: 0x0000000101352218 com.docker.vpnkit`uv_cond_wait(cond=<unavailable>, mutex=<unavailable>) at thread.c:780:7 [opt]
    frame #3: 0x0000000101343720 com.docker.vpnkit`worker(arg=0x0000000000000000) at threadpool.c:76:7 [opt]
    frame #4: 0x0000000180a7d06c libsystem_pthread.dylib`_pthread_start + 148
  thread #6
    frame #0: 0x0000000180a415e4 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x0000000180a7d638 libsystem_pthread.dylib`_pthread_cond_wait + 1232
    frame #2: 0x0000000101352218 com.docker.vpnkit`uv_cond_wait(cond=<unavailable>, mutex=<unavailable>) at thread.c:780:7 [opt]
    frame #3: 0x0000000101343720 com.docker.vpnkit`worker(arg=0x0000000000000000) at threadpool.c:76:7 [opt]
    frame #4: 0x0000000180a7d06c libsystem_pthread.dylib`_pthread_start + 148
  thread #7
    frame #0: 0x0000000180a415e4 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x0000000180a7d638 libsystem_pthread.dylib`_pthread_cond_wait + 1232
    frame #2: 0x0000000101352218 com.docker.vpnkit`uv_cond_wait(cond=<unavailable>, mutex=<unavailable>) at thread.c:780:7 [opt]
    frame #3: 0x0000000101343720 com.docker.vpnkit`worker(arg=0x0000000000000000) at threadpool.c:76:7 [opt]
    frame #4: 0x0000000180a7d06c libsystem_pthread.dylib`_pthread_start + 148
  thread #8
    frame #0: 0x0000000180a415e4 libsystem_kernel.dylib`__psynch_cvwait + 8
    frame #1: 0x0000000180a7d638 libsystem_pthread.dylib`_pthread_cond_wait + 1232
    frame #2: 0x0000000101352218 com.docker.vpnkit`uv_cond_wait(cond=<unavailable>, mutex=<unavailable>) at thread.c:780:7 [opt]
    frame #3: 0x0000000101343720 com.docker.vpnkit`worker(arg=0x0000000000000000) at threadpool.c:76:7 [opt]
    frame #4: 0x0000000180a7d06c libsystem_pthread.dylib`_pthread_start + 148


主要言語
OCaml
スター
1.2k
フォーク
214
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

moby/vpnkit のほかの issue

moby/vpnkit の issue をすべて見る

似ている issue

Networking の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。