Comment 3 for bug 665185

Revision history for this message
danmb (danmbox) wrote :

This bug has not been fixed in Lucid and is still present in Natty (mitigated there by a fixed killall5 (which has no hard limit on the omitpid buffer). Ubuntu Lucid should either patch /etc/init.d/sendscripts as per in my original report (and attached patch), or backport killall5. This is a serious issue that affects proper shutdown.

In any case, the OMITPID code is... puzzling. Some PID numbers are granted immunity because at some point they were Upstart jobs. PIDs that stay alive accumulate multiple times in the OMITPIDS list during 10 iterations. PIDs can wrap around and the immunity could "save" an unrelated, non-upstart process.

Could Steve Langasek (per debian/changelog) or someone else explain the OMITPID code? I understand that the list of upstart jobs is dynamical and re-query is needed, but why hang on to old PIDs from previous iterations?