page fault panic tracked down (selwakeuppri())
Stefan Ehmann
shoesoft at gmx.net
Tue Jan 6 12:26:17 PST 2004
On Tue, 2004-01-06 at 21:01, Don Lewis wrote:
> > #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.
(kgdb) print *src
$2 = {dev = 0xc37a8580, buf = 0xc3880c00 "",
tmpbuf = 0xc3882000
"ÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞÞÀÞ"...,
bufsize = 688, maxsize = 688, dl = 0, rp = 0, rl = 0, hp = 0, total =
0,
prev_total = 0, dmachan = 0, dir = 0, fmt = 268435472, spd = 44100,
bps = 4,
blksz = 344, blkcnt = 2, xrun = 0, flags = 0, dmamap = 0x0, dmatag =
0x0,
buf_addr = 0, sel = {si_thrlist = {tqe_next = 0x0, tqe_prev = 0x0},
si_thread = 0x0, si_note = {slh_first = 0x0}, si_flags = 0},
name = "pcm0:play:0:secondary", '\0' <repeats 26 times>}
> > #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.
(kgdb) print *channel
$3 = {methods = 0xc377ec20, num = 0, pid = -1, refcount = 0,
feeder = 0xc3967c00, align = 4, volume = 25700, speed = 44100,
format = 268435472, flags = 12320, feederflags = 0, blocks = 0,
direction = 1, interrupts = 224003, xruns = 1, bufhard = 0xc3741600,
bufsoft = 0xc3741500, parentsnddev = 0xc37c0200, parentchannel = 0x0,
devinfo = 0xc37a8738, dev = 0xc37a8580,
name = "pcm0:play:0", '\0' <repeats 20 times>, lock = 0xc37ba280,
children = {slh_first = 0xc377ebf0}}
gdb made problems again. When using add-symbol-file as described in the
handbook backtrace was fine but couldn't debug anything (getting no
stack). So I just copied the .ko.debug files to /boot/.ko - Hope this
won't cause any problems.
More information about the freebsd-current
mailing list