Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Sep 2001 12:52:48 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        current@FreeBSD.org
Subject:   RE: panic: blockable sleep lock (sx) ...
Message-ID:  <XFMail.010929125248.jhb@FreeBSD.org>
In-Reply-To: <20010929013818.A407@athlon.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On 29-Sep-01 Marcel Moolenaar wrote:
> Gang,
> 
> I was running the Linux Test Project's (ltp) regression suite to see
> how our Linuxulator was doing. It looks like we can use that to test
> our kernel as well. :-)\

Can you do 'show locks' at the ddb prompt to get a list of what locks are held?
My guess is that sched_lock is held.  The real problem is in the trap.  It's
probably a NULL pointer dereference of some sort in _mtx_lock_sleep(). 
Ideally, printf wouldn't be trying to d a wakeup in this case. :-P  If you
could figure out the faulting address that it trapp'd one that would help.  You
could add KTR tracepoints or some such to store the log message to do that and
then examin the KTR buffer to get the actual faulting address.

> panicstr: bremfree: bp 0xc69541a8 not locked
> panic messages:
> ---
> panic: blockable sleep lock (sx) allproc @
> /nfs/5.x/src/sys/kern/kern_proc.c:212
> 
> syncing disks... panic: bremfree: bp 0xc69541a8 not locked
> Uptime: 3h46m47s
> 
> dumping to dev ad0s3b, offset 1572992
> [snip]
> 
> (kgdb) bt
>#0  0xc01bc316 in dumpsys ()
>#1  0xc01bc103 in boot ()
>#2  0xc01bc529 in panic ()
>#3  0xc01e96c9 in bremfree ()
>#4  0xc0194d49 in spec_fsync ()
>#5  0xc0194889 in spec_vnoperate ()
>#6  0xc02337fd in ffs_sync ()
>#7  0xc01f5c01 in sync ()
>#8  0xc01bbd4c in boot ()
>#9  0xc01bc529 in panic ()
>#10 0xc01d2582 in witness_lock ()
>#11 0xc01c0555 in _sx_slock ()
>#12 0xc01b76d0 in pfind ()
>#13 0xc01d5cc9 in selwakeup ()
>#14 0xc01df5a7 in ptcwakeup ()
>#15 0xc01df582 in ptsstart ()
>#16 0xc01dcc60 in ttstart ()
>#17 0xc01de08d in tputchar ()
>#18 0xc01cf037 in putchar ()
>#19 0xc01cf29e in kvprintf ()
>#20 0xc01cef64 in printf ()
>#21 0xc026b095 in trap ()
>#22 0xc01b62b7 in _mtx_lock_sleep ()
>#23 0xc01b5f45 in _mtx_lock_flags ()
>#24 0xc01c4594 in realitexpire ()
>#25 0xc01c49fa in softclock ()
>#26 0xc01aff5e in ithread_loop ()
>#27 0xc01af43c in fork_exit ()
> 
> -- 
>  Marcel Moolenaar       USPA: A-39004          marcel@xcllnt.net
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010929125248.jhb>