難解なLinuxプロセスフラグによるレイテンシ83%削減
2025-03-06
Recall.aiのOutput Media機能を最適化していたエンジニアが、悩ましい問題に遭遇しました。サンドボックス環境内でChromiumプロセスがランダムに終了するのです。徹底的なデバッグの結果、原因はLinuxカーネルのprctl(PR_SET_PDEATHSIG, SIGKILL)関数にあることが判明しました。この関数は親プロセスではなく親スレッドを追跡します。Tokioのスレッド管理メカニズムとの予期せぬ相互作用により、親スレッドが刈り取られ、SIGKILLシグナルがトリガーされ、子プロセスが終了しました。Bubblewrapの--die-with-parentフラグを除去することで問題が解決し、レイテンシが83%削減されました。