난해한 Linux 프로세스 플래그를 사용한 지연 시간 83% 감소
2025-03-06
Recall.ai의 Output Media 기능을 최적화하던 엔지니어가 당혹스러운 문제에 직면했습니다. 샌드박스 환경에서 Chromium 프로세스가 무작위로 종료되는 현상이 발생한 것입니다. 철저한 디버깅 결과, 원인은 Linux 커널의 prctl(PR_SET_PDEATHSIG, SIGKILL) 함수에 있는 것으로 밝혀졌습니다. 이 함수는 프로세스가 아닌 부모 스레드를 추적합니다. Tokio의 스레드 관리 메커니즘과 예상치 못한 상호 작용으로 부모 스레드가 수거되고 SIGKILL 신호가 트리거되어 자식 프로세스가 종료되었습니다. Bubblewrap의 --die-with-parent 플래그를 제거함으로써 문제가 해결되었고, 지연 시간이 83% 감소했습니다.