Bug 10324

Summary: When running builds in a docker contain, they occasionally fail and close the container
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Mark Hatle <mark.hatle>
Component: Scripts and ToolsAssignee: Mark Hatle <mark.hatle>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Undecided CC: hongxu.jia, joshuagloe, mark.asselstine, richard.purdie, ross.burton, seebs
Version: 2.2   
Target Milestone: 2.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Mark Hatle 2016-09-22 20:21:09 UTC
It was discovered that in some cases a build in a docker container would cause the container to terminate.  It appeared that the mini init program in the container would simply exist.

In a heavily loaded container, the child process might not started before the parent process had terminated.  The child process attempts to signal the parent with SIGUSR1.  If the parent had terminated, the parent becomes PID 1, which is generally init.  When it signaled pid 1, it caused the docker mini-init to terminate.

This doesn't happen in a traditional system, as systemd/sysvinit is protected to only root users can signal it.

This was fixed in the pseudo commit: 647ea4b1bc780b40a852e7e2d1439f700339e613
Comment 1 Mark Hatle 2016-09-23 14:57:56 UTC
Sent to oe-core list on 2016-09-22