Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix travis builds #38340

Merged
merged 1 commit into from
Dec 14, 2016
Merged

Fix travis builds #38340

merged 1 commit into from
Dec 14, 2016

Commits on Dec 13, 2016

  1. Fix travis builds

    After reading some articles [1] [2] yesterday about Docker and the "init"
    process I got to thinking about the problems that we've been seeing on Travis.
    The basic problem is that a Linux system may need an "init" process to work
    properly when processes become zombies. Docker by default doesn't handle this
    and the root process typically isn't an init process, so this can occasionally
    cause quite a few problems.
    
    We've been seeing spurious errors on Travis inside containers which look like
    OOM and such, but my guess is that zombie processes were being reparented to the
    top-level shell. The shell didn't expect the zombies and then behaved very
    strangely.
    
    This commit fixes these problems by using Yelp's "dumb-init" program [2] as the
    init process in all of our containers. This ensures that there's a valid init
    ready to reap children when they're reparented, which our test suite apparently
    generates a bunch of throughout the tests and such.
    
    [1]: https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
    [2]: https://engineeringblog.yelp.com/2016/01/dumb-init-an-init-for-docker.html
    alexcrichton committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    5e991e0 View commit details
    Browse the repository at this point in the history