[Bug 12071] Busybox reboot command not working in version 1.29.3

bugzilla at busybox.net bugzilla at busybox.net
Sun Nov 17 16:33:16 UTC 2019


https://bugs.busybox.net/show_bug.cgi?id=12071

--- Comment #5 from Denys Vlasenko <vda.linux at googlemail.com> ---
We are here in this code:

                if (a->action_type & (SYSINIT | WAIT | ONCE | CTRLALTDEL |
SHUTDOWN)) {
                        pid_t pid = run(a);
                        if (a->action_type & (SYSINIT | WAIT | CTRLALTDEL |
SHUTDOWN))
                                waitfor(pid);
                }

inside waitfor(pid), pid is 425:

        /* Wait for any child (prevent zombies from exiting orphaned processes)
         * but exit the loop only when specified one has exited. */
        while (1) {
                pid_t wpid = wait(NULL);
                mark_terminated(wpid);
                /* Unsafe. SIGTSTP handler might have wait'ed it already */
                /*if (wpid == pid) break;*/
                /* More reliable: */
                if (kill(pid, 0))
                        break;
        }

Evidently, you have one of SYSINIT, WAIT, CTRLALTDEL or SHUTDOWN processes
which did not finish. init will wait for SYSINIT processes to finish before
reacting to signals (including shutdown / reboot).

Can you look with "ps" which process is that?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the busybox-cvs mailing list