Re: page fault panic tracked down (selwakeuppri())

From: Stefan Ehmann <shoesoft_at_gmx.net>
Date: Tue, 06 Jan 2004 21:26:19 +0100
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.
Received on Tue Jan 06 2004 - 11:26:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:36 UTC