page fault panic tracked down (selwakeuppri())
Don Lewis
truckman at FreeBSD.org
Tue Jan 6 12:02:16 PST 2004
On 6 Jan, Stefan Ehmann wrote:
> On Tue, 2004-01-06 at 20:05, Don Lewis wrote:
>> On 6 Jan, Stefan Ehmann wrote:
>>
>> > I'm also still not sure why I got three "bad bufsize" panics in a row
>> > all of the sudden instead of page faults. (Most of the previous kernels
>> > were built without INVARIANTS - but at least some with).
>>
>> I forgot that historially the kernel options were not used when building
>> modules. I think they are used right now, and were used for a while in
>> the recent past.
>
> Finally found out in the handbook why debugging of the modules didn't
> work and now got it right it seems.
>
> #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240
> #1 0xc04e5178 in boot (howto=256) at
> /usr/src/sys/kern/kern_shutdown.c:372
> #2 0xc04e5507 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
> #3 0xc07eb648 in feed_vchan_s16 (f=0xc3967c00, c=0x0, b=0xc37d0000 "",
> count=2048, source=0xc3741500) at
> /usr/src/sys/dev/sound/pcm/vchan.c:80
It is somewhat worrysome that c is 0x0 here, since it should be the same
as channel in frame #4. Maybe a gdb oops?
Print *src in this frame, the KASSERT is apparently failing because the
bufsize member of this structure is not the same as the count parameter.
> #4 0xc07e1c6d in sndbuf_feed (from=0xc3741500, to=0xc3741600,
> channel=0xc37a8880, feeder=0xc3967c00, count=3279164672) at
> feeder_if.h:60
Also, print *channel in this frame. I'd like to see what flags are set.
More information about the freebsd-current
mailing list