Hi,
has anyone seen this panic yet? It appears to be LOR-related :
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so:
Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
#0 doadump () at pcpu.h:159
159 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) bt f
#0 doadump () at pcpu.h:159
No locals.
#1 0xc04944ea in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:410
first_buf_printf = 1
#2 0xc0494858 in panic (
fmt=0xc05fc48f "blockable sleep lock (%s) %s @ %s:%d")
at /usr/src/sys/kern/kern_shutdown.c:566
td = (struct thread *) 0xc13df000
bootopt = 256
newpanic = 1
ap = 0xc9ba6670 "??`???_?\236a_??\005"
buf = "blockable sleep lock (sleep mutex) tty @
/usr/src/sys/kern/kern_event.c:1453", '\0' <repeats 179
times>
#3 0xc04bb0ae in witness_checkorder (lock=0xc1580110, flags=9,
file=0xc05f619e "/usr/src/sys/kern/kern_event.c", line=1453)
at /usr/src/sys/kern/subr_witness.c:709
lock_list = (struct lock_list_entry **) 0xf00
lle = (struct lock_list_entry *) 0x20
lock1 = (struct lock_instance *) 0xc13df000
lock2 = (struct lock_instance *) 0x0
class = (struct lock_class *) 0xc062045c
w = (struct witness *) 0xc0648808
w1 = (struct witness *) 0xc0686b28
td = (struct thread *) 0xc13df000
---Type <return> to continue, or q <return> to quit---
i = -1067755093
j = -910530880
__func__ = "witness_checkorder"
#4 0xc048a5fa in _mtx_lock_flags (m=0xc1580110, opts=0,
file=0xc05f619e "/usr/src/sys/kern/kern_event.c", line=1453)
at /usr/src/sys/kern/kern_mutex.c:271
No locals.
#5 0xc0476d25 in knote (list=0xc1580098, hint=0, islocked=0)
at /usr/src/sys/kern/kern_event.c:1453
kq = (struct kqueue *) 0xc1580038
kn = (struct knote *) 0xc1580000
#6 0xc04c934e in ttwwakeup (tp=0xc1580000) at /usr/src/sys/kern/tty.c:2394
No locals.
#7 0xc05ba441 in scstart (tp=0xc1580000)
at /usr/src/sys/dev/syscons/syscons.c:1369
rbp = (struct clist *) 0xc1580038
len = 0
buf = "\fzi?\200\a\000\000\000p\000\000\000zi?lg??b`[?\fzi?\200\a\000\000
\000\000\000\000p\000\000BK\000
\\g??:z[??\235h?\fzi?\000zi?\000\a\000\000\224g??\225a[?\000zi?\200\a\000\000
\000\000\000\000\a\000\000\000\000\000\000\000zi?\000zi??\235h??g??\016?[?\000zi?\200\a\000\000\000\000\000"
scp = (scr_stat *) 0xc1697a00
#8 0xc05bd825 in scgetc (sc=0xc0689dc0, flags=3)
at /usr/src/sys/dev/syscons/syscons.c:3211
---Type <return> to continue, or q <return> to quit---
scp = (scr_stat *) 0xc1697a00
tp = (struct tty *) 0x0
c = 6
this_scr = -910530592
f = 0
i = 0
#9 0xc05ba899 in sccngetch (flags=2)
at /usr/src/sys/dev/syscons/syscons.c:1555
fkey = {str = "\033[A", '\0' <repeats 12 times>, len =
3 '\003'}
fkeycp = 3
scp = (scr_stat *) 0xc1697a00
p = (u_char *) 0x0
cur_mode = 1
c = -1067204928
#10 0xc05ba6e2 in sccncheckc (cd=0xc0634480)
at /usr/src/sys/dev/syscons/syscons.c:1478
No locals.
#11 0xc04cbc98 in cncheckc () at /usr/src/sys/kern/tty_cons.c:567
cnd = (struct cn_device *) 0xc066c480
cn = (struct consdev *) 0x0
c = 0
#12 0xc04cbc45 in cngetc () at /usr/src/sys/kern/tty_cons.c:548
c = 0
#13 0xc042a535 in db_readline (lstart=0xc063bec0 "c\n", lsize=120)
---Type <return> to continue, or q <return> to quit---
at /usr/src/sys/ddb/db_input.c:324
No locals.
#14 0xc042a67a in db_read_line () at /usr/src/sys/ddb/db_lex.c:55
i = 0
#15 0xc0428d91 in db_command_loop () at /usr/src/sys/ddb/db_command.c:453
No locals.
#16 0xc042aef5 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:221
jb = {{_jb = {-910530388, -910530416, -910530336, -1052905472, 0,
-1069371754, 0, 0, 0, 0, -910530336, -1068824416}}}
prev_jb = (void *) 0x0
bkpt = 0
#17 0xc04b0927 in kdb_trap (type=0, code=0, tf=0xc9ba6940)
at /usr/src/sys/kern/subr_kdb.c:418
handled = -910530240
#18 0xc05d8948 in trap (frame {tf_fs = -1051983848, tf_es = 16, tf_ds =
-910557168, tf_edi = 9, tf_esi = -1051954588, tf_ebp = -910530168, tf_isp =
-910530196, tf_ebx = -1067007556, tf_edx = 1, tf_ecx = -1056878592, tf_eax = 31,
tf_trapno = 3, tf_err = 0, tf_eip = -1068825056, tf_cs = 8, tf_eflags = 646,
tf_esp = -1067470996, tf_ss = -1067540423}) at /usr/src/sys/i386/i386/trap.c:576
td = (struct thread *) 0xc13df000
p = (struct proc *) 0xc13e61c4
sticks = 0
i = 0
---Type <return> to continue, or q <return> to quit---
ucode = 0
type = 3
code = 0
eva = 0
#19 0xc05c7d2a in calltrap () at /usr/src/sys/i386/i386/exception.s:140
No locals.
#20 0xc14c0018 in ?? ()
No symbol table info available.
#21 0x00000010 in ?? ()
No symbol table info available.
#22 0xc9ba0010 in ?? ()
No symbol table info available.
#23 0x00000009 in ?? ()
No symbol table info available.
#24 0xc14c7264 in ?? ()
No symbol table info available.
#25 0xc9ba6988 in ?? ()
No symbol table info available.
#26 0xc9ba696c in ?? ()
No symbol table info available.
#27 0xc066c1bc in w_locklistdata ()
No symbol table info available.
#28 0x00000001 in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#29 0xc1015000 in ?? ()
No symbol table info available.
#30 0x0000001f in ?? ()
No symbol table info available.
#31 0x00000003 in ?? ()
No symbol table info available.
#32 0x00000000 in ?? ()
No symbol table info available.
#33 0xc04b0620 in kdb_enter (msg=0x0) at cpufunc.h:56
No locals.
#34 0xc04bb6ab in witness_checkorder (lock=0xc14c7264, flags=9,
file=0xc06fd7ad "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c",
line=1233) at /usr/src/sys/kern/subr_witness.c:946
lock_list = (struct lock_list_entry **) 0xc13df070
lle = (struct lock_list_entry *) 0xc066c1b8
lock1 = (struct lock_instance *) 0xc066c1bc
lock2 = (struct lock_instance *) 0x0
class = (struct lock_class *) 0xc062045c
w = (struct witness *) 0xc06488d0
w1 = (struct witness *) 0xc0649ac8
td = (struct thread *) 0xc066c1bc
i = -1
j = 0
__func__ = "witness_checkorder"
---Type <return> to continue, or q <return> to quit---
#35 0xc048a5fa in _mtx_lock_flags (m=0xc14c7264, opts=0,
file=0xc06fd7ad "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c",
line=1233) at /usr/src/sys/kern/kern_mutex.c:271
No locals.
#36 0xc06fadb7 in ?? ()
No symbol table info available.
#37 0xc14c7264 in ?? ()
No symbol table info available.
#38 0x00000000 in ?? ()
No symbol table info available.
#39 0xc06fd7ad in ?? ()
No symbol table info available.
#40 0x000004d1 in ?? ()
No symbol table info available.
#41 0xc14c7000 in ?? ()
No symbol table info available.
#42 0xc14c7000 in ?? ()
No symbol table info available.
#43 0xc9ba6a38 in ?? ()
No symbol table info available.
#44 0xc050aa39 in if_start (ifp=0xc14c7264) at /usr/src/sys/net/if.c:1953
No locals.
Previous frame identical to this frame (corrupt stack?)
(kgdb) q
System:
FreeBSD 5.4-STABLE #1: Sun Apr 3 22:31:40 CEST 2005
root@82-168-75-155-bbxl.xdsl.tiscali.nl:/usr/obj/usr/src/sys/RENE
World/kernel is built with -O2 -pipe, hence the partial stack backtrace.
Config:
--------------------------
ident RENE
makeoptions DEBUG=-g
machine i386
cpu I686_CPU
options CPU_FASTER_5X86_FPU
options CLK_USE_I8254_CALIBRATION
device apic
options SCHED_4BSD
options KDB
options KDB_TRACE
options DDB
options DDB_NUMSYM
options WITNESS
options WITNESS_SKIPSPIN
options WITNESS_KDB
options INVARIANTS
options INVARIANT_SUPPORT
options PREEMPTION
options ADAPTIVE_GIANT
options INET
options INET6
options FFS
options SOFTUPDATES
options UFS_ACL
options UFS_DIRHASH
options COMPAT_FREEBSD4
options COMPAT_43
options KTRACE
options PQ_CACHESIZE=32
options _KPOSIX_PRIORITY_SCHEDULING
device isa
device pci
device ata
device atadisk
device atapicd
device atkbdc
device atkbd
options KBD_INSTALL_CDEV
device psm
device sc
options SC_TWOBUTTON_MOUSE
device vga
options FB_INSTALL_CDEV
device npx
options DEVICE_POLLING
options HZ=1000
device loop
device ether
device pty
device bpf
device splash
device pmtimer
-------------------
Regards,
Rene
--
"It won't fit on the line."
-- me, 2001
On Fri, 8 Apr 2005, Rene Ladan wrote:> has anyone seen this panic yet? It appears to be LOR-related :This is a tough one since it occured while ddb was active. How did you cause this?> > [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"] > GNU gdb 6.1.1 [FreeBSD] > > #0 doadump () at pcpu.h:159 > 159 pcpu.h: No such file or directory. > in pcpu.h > (kgdb) bt f > #0 doadump () at pcpu.h:159 > No locals. > #1 0xc04944ea in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:410 > first_buf_printf = 1 > #2 0xc0494858 in panic ( > fmt=0xc05fc48f "blockable sleep lock (%s) %s @ %s:%d") > at /usr/src/sys/kern/kern_shutdown.c:566 > td = (struct thread *) 0xc13df000 > bootopt = 256 > newpanic = 1 > ap = 0xc9ba6670 "??`???_?\236a_??\005" > buf = "blockable sleep lock (sleep mutex) tty @ /usr/src/sys/kern/kern_event.c:1453", '\0' <repeats 179 times> > #3 0xc04bb0ae in witness_checkorder (lock=0xc1580110, flags=9, > file=0xc05f619e "/usr/src/sys/kern/kern_event.c", line=1453) > at /usr/src/sys/kern/subr_witness.c:709 > lock_list = (struct lock_list_entry **) 0xf00 > lle = (struct lock_list_entry *) 0x20 > lock1 = (struct lock_instance *) 0xc13df000 > lock2 = (struct lock_instance *) 0x0 > class = (struct lock_class *) 0xc062045c > w = (struct witness *) 0xc0648808 > w1 = (struct witness *) 0xc0686b28 > td = (struct thread *) 0xc13df000 > ---Type <return> to continue, or q <return> to quit--- > i = -1067755093 > j = -910530880 > __func__ = "witness_checkorder" > #4 0xc048a5fa in _mtx_lock_flags (m=0xc1580110, opts=0, > file=0xc05f619e "/usr/src/sys/kern/kern_event.c", line=1453) > at /usr/src/sys/kern/kern_mutex.c:271 > No locals. > #5 0xc0476d25 in knote (list=0xc1580098, hint=0, islocked=0) > at /usr/src/sys/kern/kern_event.c:1453 > kq = (struct kqueue *) 0xc1580038 > kn = (struct knote *) 0xc1580000 > #6 0xc04c934e in ttwwakeup (tp=0xc1580000) at /usr/src/sys/kern/tty.c:2394 > No locals. > #7 0xc05ba441 in scstart (tp=0xc1580000) > at /usr/src/sys/dev/syscons/syscons.c:1369 > rbp = (struct clist *) 0xc1580038 > len = 0 > buf = "\fzi?\200\a\000\000\000p\000\000\000zi?lg??b`[?\fzi?\200\a\000\000 \000\000\000\000p\000\000BK\000 \\g??:z[??\235h?\fzi?\000zi?\000\a\000\000\224g??\225a[?\000zi?\200\a\000\000 \000\000\000\000\a\000\000\000\000\000\000\000zi?\000zi??\235h??g??\016?[?\000zi?\200\a\000\000\000\000\000" > scp = (scr_stat *) 0xc1697a00 > #8 0xc05bd825 in scgetc (sc=0xc0689dc0, flags=3) > at /usr/src/sys/dev/syscons/syscons.c:3211 > ---Type <return> to continue, or q <return> to quit--- > scp = (scr_stat *) 0xc1697a00 > tp = (struct tty *) 0x0 > c = 6 > this_scr = -910530592 > f = 0 > i = 0 > #9 0xc05ba899 in sccngetch (flags=2) > at /usr/src/sys/dev/syscons/syscons.c:1555 > fkey = {str = "\033[A", '\0' <repeats 12 times>, len = 3 '\003'} > fkeycp = 3 > scp = (scr_stat *) 0xc1697a00 > p = (u_char *) 0x0 > cur_mode = 1 > c = -1067204928 > #10 0xc05ba6e2 in sccncheckc (cd=0xc0634480) > at /usr/src/sys/dev/syscons/syscons.c:1478 > No locals. > #11 0xc04cbc98 in cncheckc () at /usr/src/sys/kern/tty_cons.c:567 > cnd = (struct cn_device *) 0xc066c480 > cn = (struct consdev *) 0x0 > c = 0 > #12 0xc04cbc45 in cngetc () at /usr/src/sys/kern/tty_cons.c:548 > c = 0 > #13 0xc042a535 in db_readline (lstart=0xc063bec0 "c\n", lsize=120) > ---Type <return> to continue, or q <return> to quit--- > at /usr/src/sys/ddb/db_input.c:324 > No locals. > #14 0xc042a67a in db_read_line () at /usr/src/sys/ddb/db_lex.c:55 > i = 0 > #15 0xc0428d91 in db_command_loop () at /usr/src/sys/ddb/db_command.c:453 > No locals. > #16 0xc042aef5 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:221 > jb = {{_jb = {-910530388, -910530416, -910530336, -1052905472, 0, > -1069371754, 0, 0, 0, 0, -910530336, -1068824416}}} > prev_jb = (void *) 0x0 > bkpt = 0 > #17 0xc04b0927 in kdb_trap (type=0, code=0, tf=0xc9ba6940) > at /usr/src/sys/kern/subr_kdb.c:418 > handled = -910530240 > #18 0xc05d8948 in trap (frame> {tf_fs = -1051983848, tf_es = 16, tf_ds = -910557168, tf_edi = 9, tf_esi = -1051954588, tf_ebp = -910530168, tf_isp = -910530196, tf_ebx = -1067007556, tf_edx = 1, tf_ecx = -1056878592, tf_eax = 31, tf_trapno = 3, tf_err = 0, tf_eip = -1068825056, tf_cs = 8, tf_eflags = 646, tf_esp = -1067470996, tf_ss = -1067540423}) at /usr/src/sys/i386/i386/trap.c:576 > td = (struct thread *) 0xc13df000 > p = (struct proc *) 0xc13e61c4 > sticks = 0 > i = 0 > ---Type <return> to continue, or q <return> to quit--- > ucode = 0 > type = 3 > code = 0 > eva = 0 > #19 0xc05c7d2a in calltrap () at /usr/src/sys/i386/i386/exception.s:140 > No locals. > #20 0xc14c0018 in ?? () > No symbol table info available. > #21 0x00000010 in ?? () > No symbol table info available. > #22 0xc9ba0010 in ?? () > No symbol table info available. > #23 0x00000009 in ?? () > No symbol table info available. > #24 0xc14c7264 in ?? () > No symbol table info available. > #25 0xc9ba6988 in ?? () > No symbol table info available. > #26 0xc9ba696c in ?? () > No symbol table info available. > #27 0xc066c1bc in w_locklistdata () > No symbol table info available. > #28 0x00000001 in ?? () > No symbol table info available. > ---Type <return> to continue, or q <return> to quit--- > #29 0xc1015000 in ?? () > No symbol table info available. > #30 0x0000001f in ?? () > No symbol table info available. > #31 0x00000003 in ?? () > No symbol table info available. > #32 0x00000000 in ?? () > No symbol table info available. > #33 0xc04b0620 in kdb_enter (msg=0x0) at cpufunc.h:56 > No locals. > #34 0xc04bb6ab in witness_checkorder (lock=0xc14c7264, flags=9, > file=0xc06fd7ad "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c", > line=1233) at /usr/src/sys/kern/subr_witness.c:946 > lock_list = (struct lock_list_entry **) 0xc13df070 > lle = (struct lock_list_entry *) 0xc066c1b8 > lock1 = (struct lock_instance *) 0xc066c1bc > lock2 = (struct lock_instance *) 0x0 > class = (struct lock_class *) 0xc062045c > w = (struct witness *) 0xc06488d0 > w1 = (struct witness *) 0xc0649ac8 > td = (struct thread *) 0xc066c1bc > i = -1 > j = 0 > __func__ = "witness_checkorder" > ---Type <return> to continue, or q <return> to quit--- > #35 0xc048a5fa in _mtx_lock_flags (m=0xc14c7264, opts=0, > file=0xc06fd7ad "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c", > line=1233) at /usr/src/sys/kern/kern_mutex.c:271 > No locals. > #36 0xc06fadb7 in ?? () > No symbol table info available. > #37 0xc14c7264 in ?? () > No symbol table info available. > #38 0x00000000 in ?? () > No symbol table info available. > #39 0xc06fd7ad in ?? () > No symbol table info available. > #40 0x000004d1 in ?? () > No symbol table info available. > #41 0xc14c7000 in ?? () > No symbol table info available. > #42 0xc14c7000 in ?? () > No symbol table info available. > #43 0xc9ba6a38 in ?? () > No symbol table info available. > #44 0xc050aa39 in if_start (ifp=0xc14c7264) at /usr/src/sys/net/if.c:1953 > No locals. > Previous frame identical to this frame (corrupt stack?) > (kgdb) q > > System: > > FreeBSD 5.4-STABLE #1: Sun Apr 3 22:31:40 CEST 2005 root@82-168-75-155-bbxl.xdsl.tiscali.nl:/usr/obj/usr/src/sys/RENE > > World/kernel is built with -O2 -pipe, hence the partial stack backtrace. > > Config: > -------------------------- > ident RENE > makeoptions DEBUG=-g > > machine i386 > cpu I686_CPU > options CPU_FASTER_5X86_FPU > options CLK_USE_I8254_CALIBRATION > > device apic > > options SCHED_4BSD > > options KDB > options KDB_TRACE > options DDB > options DDB_NUMSYM > options WITNESS > options WITNESS_SKIPSPIN > options WITNESS_KDB > options INVARIANTS > options INVARIANT_SUPPORT > > options PREEMPTION > options ADAPTIVE_GIANT > > options INET > options INET6 > > options FFS > options SOFTUPDATES > options UFS_ACL > options UFS_DIRHASH > > options COMPAT_FREEBSD4 > options COMPAT_43 > > options KTRACE > > options PQ_CACHESIZE=32 > > options _KPOSIX_PRIORITY_SCHEDULING > > device isa > device pci > > device ata > device atadisk > device atapicd > > device atkbdc > device atkbd > options KBD_INSTALL_CDEV > > device psm > device sc > options SC_TWOBUTTON_MOUSE > > device vga > options FB_INSTALL_CDEV > > device npx > > options DEVICE_POLLING > options HZ=1000 > > device loop > device ether > device pty > device bpf > > device splash > > device pmtimer > ------------------- > > Regards, > Rene >-- Doug White | FreeBSD: The Power to Serve dwhite@gumbysoft.com | www.FreeBSD.org