[systemd-devel] daemon-reload seems racy

Lennart Poettering lennart at poettering.net
Mon Jan 20 04:37:43 PST 2014


On Thu, 16.01.14 12:28, Colin Guthrie (gmane at colin.guthr.ie) wrote:

> 
> 'Twas brillig, and Colin Guthrie at 14/01/14 13:28 did gyre and gimble:
> > 3. Some sort of kernel trigger for me today led it to run two reexecs
> > quite quickly and triggered this problem randomly during runtime. This
> > *might* have come in via "telinit u" instead. It doesn't appear that the
> > kernel actually execs telinit directly but perhaps userspace can react
> > on it in some way?
> 
> OK, this, it turns out is a result of running prelink via cron.
> 
> The prelink package we (Mageia) have is basically the same as the Fedora
> one. It has a cronjob which calls "telinit u" but the prelink binary
> itself calls "/sbin/init U" which does the same thing, thus two
> daemon-reexecs in rapid succession which triggers this bug.
> 
> For now I've disabled the "telinit u" call in prelink, but the real
> trick would be fixing the bug/race in serialisation :)

Hmm, so, normally PID 1 should not accept new requests after the
deserialization of the first reexec is complete.

Let me sumarize this a bit:

Is this about reexec or reload? Or both?

This is supposed to trigger the issue? "systemctl daemon-reexec ;
systemctl daemon-reexec"? What precisely goes bad afterwards? Does this
always trigger the issue or only sometimes?

WHat version are you using? Can you reproduce the issue on git?

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list