ES /docs

ChildProcessManager fork — child process heap exhaustion during BIM comparison

Service
cupixworks-any-room-agent
Occurrences
10
Status
Reported
Confidence
65%
Actionability
28%
Cluster ID
27c6b85b-3e67-4e82-b67d-29614ef72f1c
First Seen
2026-04-07 10:53 UTC
Last Seen
2026-07-23 11:08 UTC
Actions

ChildProcessManager fork — child process heap exhaustion during BIM comparison

RCA Summary#

cupixworks-any-room-agent의 child process가 BIM 모델(ID 17926, 17928)에서 room을 추출하는 도중 SIGKILL 신호로 종료되었습니다. 이 서비스는 ECS Fargate에서 12 GB 메모리 제한으로 실행되며, 메인 프로세스에 --max-old-space-size=8192 (8 GB)가 설정되어 있습니다. 그러나 ChildProcessManagerfork()로 생성하는 room extraction child process에는 별도의 V8 heap 제한이 설정되지 않아 기본값(약 4 GB)까지 메모리를 사용할 수 있습니다. 대형 BIM 모델을 처리할 때 메인 프로세스(8 GB) + child process + filebeat + OS 오버헤드의 합계가 Fargate의 12 GB hard limit을 초과하면, 컨테이너 레벨의 OOM killer가 SIGKILL을 보내 child process를 강제 종료합니다. 성공한 작업들은 210분 내 완료되었으나, SIGKILL이 발생한 작업들은 710분간 실행된 후 종료되었으며 이는 메모리가 점진적으로 증가하다 한계에 도달했음을 시사합니다.

Scoring#

Confidence 65% · Actionability 28%

Confidence#

Dimension Score Detail
Evidence completeness 5/5 15 code refs, 5 log queries
Code path explicitness 3/3 15 file:line refs
Log evidence 2/3 section, query
RCA structure 3/3 3/3 sections
Revision history 0/3 0 revision(s)
Agent execution 0/3 no data

Actionability#

Dimension Score Detail
Fix complexity 1/5 critical
Affected files 1/5 21 file(s)
Single repo 1/3 3 service(s)
Immediate actions 0/3 absent
Testability 0/3 no test info
External dependency 1/3 external deps found
Data migration 3/3 no migration