[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