핵심 요약
인프랩이 strace를 활용해 shaka-packager의 동시성 버그를 분석하고, 디렉토리 생성 로직의 예외 처리 미스로 인한 레이스를 확인해 원인을 파악했습니다.
구현 방법
- strace -ff -tt -y 옵션으로 스레드별 시스템콜을 추적하고 출력 파일 경로를 구분해 비교했습니다.
- LocalFile::Open의 디렉토리 생성 흐름에서 is_directory와 create_directories(ec) 간의 race를 확인했습니다.
- 해결은 create_directories의 ec 체크 강화와 필요시 출력 디렉토리 선 생성으로 재현성을 확보했습니다.
주요 결과
- race 원인과 수정 포인트를 명확히 파악했습니다.
- ec 체크 보강 및 사전 생성으로 다중 입력 환경에서 안정성을 높였습니다.


