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