Eine Falle im Lebenszyklus von Linux-Kernel-Threads: Der Fall des zufällig terminierenden Chromium-Prozesses
Bei der Optimierung der Startlatenz von Recall.ai's Output Media stieß ein Ingenieur auf einen rätselhaften Fehler: Der Chromium-Prozess beendete sich nach dem Start zufällig. Die Ursache wurde auf das Flag `--die-with-parent` von Bubblewrap und die Behandlung von PR_SET_PDEATHSIG durch den Linux-Kernel zurückgeführt. Dieses Flag führt dazu, dass untergeordnete Prozesse ein SIGKILL-Signal erhalten, wenn der übergeordnete Thread, nicht der übergeordnete Prozess, beendet wird. Die Threadverwaltung von Tokio interagierte mit diesem Verhalten und führte dazu, dass Chromium unerwartet beendet wurde, wenn der übergeordnete Thread bereinigt wurde. Das Entfernen des Flags behob das Problem, offenbarte aber eine wenig bekannte Eigenart des Linux-Kernels und unterstreicht die Notwendigkeit von Vorsicht beim Umgang mit der Interaktion zwischen Thread-Lebenszyklen und Prozessisolation.