[Pkg-sysvinit-devel] Bug#740861: booting an lxc guest hangs at startpar unless .legacy-bootordering

Petter Reinholdtsen pere at hungry.com
Fri Apr 11 11:07:18 UTC 2014


[chrysn]
> hello petter,

Hi.

> i was not sure where in rc the invocation is exactly, but i replaced
> startpar with an `exec strace -o/startpar.strace /sbin/startpar.straced
> "$@"` /bin/sh-script, and got the attached output.

Great.  Most useful to get an idea what it is waiting for.  Here is
what I believe are relevant parts of the strace:

> close(3)                                = 0
> socket(PF_FILE, SOCK_STREAM, 0)         = 3
> connect(3, {sa_family=AF_FILE, path=@"/com/ubuntu/upstart"}, 22) = 0
> getsockopt(3, SOL_SOCKET, SO_PEERCRED, "\0\0\0\0\0\0\0\0\0\0\0\0", [12]) = 0
> close(3)                                = 0
> socket(PF_FILE, SOCK_SEQPACKET|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
> bind(3, {sa_family=AF_FILE, path=@"/com/ubuntu/upstart_startpar_bridge"}, 38) = 0
> listen(3, 128)                          = 0
> getuid()                                = 0
> open("/etc/init.d/.depend.boot", O_RDONLY|O_NOATIME) = 4
[...]
> pselect6(0, NULL, NULL, NULL, {0, 0}, {~[HUP INT QUIT TERM CHLD RTMIN], 8}) = 0 (Timeout)
> pselect6(4, [3], NULL, NULL, NULL, {~[HUP INT QUIT TERM CHLD RTMIN], 8}

The pselect6() is waiting for file descriptor 3, which is a AF_FILE
socket connected to the name "/com/ubuntu/upstart_startpar_bridge",
making me believe this hang is related to the upstart bridge code.

Not quite sure what is going on, but at least a starting point.  Hope
someone have time to look into this, as I do not know when I will find
time to try to debug it myself.

-- 
Happy hacking
Petter Reinholdtsen



More information about the Pkg-sysvinit-devel mailing list