Regression 7.0R -> 7-stable?

Gerrit Kühn gerrit at pmp.uni-hannover.de
Tue Oct 14 09:53:48 UTC 2008


On Mon, 13 Oct 2008 10:27:40 -0400 John Baldwin <jhb at freebsd.org> wrote
about Re: Regression 7.0R -> 7-stable?:

JB> On Monday 13 October 2008 03:09:46 am Gerrit Kühn wrote:

JB> > JB> Ok, can you run gdb on your kernel.debug and do
JB> > JB> 'l *0xffffffff804608c0'

JB> > 0xffffffff804608c0 is in scheduler (/usr/src/sys/vm/vm_glue.c:670).
JB> > [...lines 665-674...]

JB> I was afraid of that, it basically means that it finished the entire
JB> boot process.  

I already thought so because I saw a grey (not white) cursor afterwards.

JB> The next step is that init (pid 1) should be scheduled
JB> and try to execute.  You can maybe add some printf's to the code to
JB> start up init to see how far it gets.  The routine in question is
JB> 'start_init()' in sys/kern/init_main.c.

Let me see...
I added my first printf in line 619 (and several after that), right after
the "Need just enough stack..." comment. This was never reached, the
system hangs before that.

After that I added printf before and after vfs_mountroot(). Now the things
runs just a bit further for the first time. I see my new printfs and
between them the message "Trying to mount root from ufs:/dev/ad0s1a".
After that come all my printfs I had added before, followed by
"start_init: trying /sbin/init". Then it hangs again.

I am a bit puzzled because I did not see the "Trying to mount..." and
"start_init:..." messages before. Just trying again to boot with the
same setup hangs in vfs_mountroot() (printf before is displayed, printf
after not). It appears to me as if the hang is caused by some kind of
"parallel task", and what I am seeing on the console stops a bit earlier
or later depending on that.
As I am seeing this only with the ULE-scheduler: Is the scheduler already
in action at this point, and may the hang depend on what it is deciding
to do?


cu
  Gerrit


More information about the freebsd-stable mailing list