Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Oct 2016 18:31:59 +1000
From:      Andy Farkas <chuzzwassa@gmail.com>
To:        Konstantin Belousov <kostikbel@gmail.com>, freebsd-stable@freebsd.org
Subject:   Re: Reproducible panic - Going nowhere without my init!
Message-ID:  <CAAJ1ec11zoBhO0Lmj=WEd%2B9K_ZDW0N8FCMoVbwE=q654-20EpA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Reverted your patch then changed line 1011 of init.c to _exit(97):

--- init.c-orig 2016-10-05 18:52:24.022910000 +1000
+++ init.c 2016-10-06 17:02:33.714624000 +1000
@@ -1008,7 +1008,7 @@
  */
  warning("single user shell terminated.");
  sleep(STALL_TIMEOUT);
- _exit(0);
+ _exit(97);
  } else {
  warning("single user shell terminated, restarting");
  return (state_func_t) single_user;

...and got a panic that showed "exit 97":  http://imgur.com/xonPwxR

I think that kern_reboot() is not being called somehow.
kern_reboot() is the only place rebooting = 1; is executed.

"init died (signal 0, exit 97)
panic: Going nowhere without my init!"

can only happen if rebooting = 0 in kern_exit.c exit1().

Another tell that kern_reboot() has not been called is "cpuid = 3"
because the first thing kern_reboot() does is bind to CPU 0.

Why is kern_reboot() being skipped? I have no idea.

Anything more I can do to help?  Do you want a core dump?

-andyf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAJ1ec11zoBhO0Lmj=WEd%2B9K_ZDW0N8FCMoVbwE=q654-20EpA>