Regression 7.0R -> 7-stable?
John Baldwin
jhb at freebsd.org
Tue Oct 14 11:39:52 PDT 2008
On Tuesday 14 October 2008 05:53:33 am Gerrit Kühn wrote:
> 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.
Are you sure you aren't using dual consoles somehow with serial being primary?
If you break into the loader, what does 'show console' show?
> 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?
Hmmm, I'm really not sure. I wonder if you are having some sort of interrupt
storm. What if you disable SMP via 'kern.smp.disabled=1' in the loader, does
that help at all?
--
John Baldwin
More information about the freebsd-stable
mailing list