Panic with locks and networking as of a day ago
Doug Ambrisko
ambrisko at ambrisko.com
Fri Oct 31 19:49:29 PST 2003
I'm getting this panic a fair amount when dhclient is running on with the
an(4) driver. My Atheros based card appears to have broke so I can't
use that now (it doesn't work in Windows either). Here is the dmesg:
lock order reversal
1st 0xc2ebaf08 vm object (vm object) @ vm/swap_pager.c:1319
2nd 0xc0735600 swap_pager swhash (swap_pager swhash) @ vm/swap_pager.c:1835
3rd 0xc103565c vm object (vm object) @ vm/uma_core.c:876
Stack backtrace:
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x4
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc0595952
stack pointer = 0x10:0xd0135a40
frame pointer = 0x10:0xd0135afc
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 854 (ssh)
trap number = 12
panic: page fault
syncing disks, buffers remaining... panic: sleeping thread (pid 854) owns a mute
x
Uptime: 10m22s
Dumping 255 MB
16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
and the trace is:
kgdb) where
#0 doadump () at ../../../kern/kern_shutdown.c:240
#1 0xc050f61c in boot (howto=260) at ../../../kern/kern_shutdown.c:372
#2 0xc050f9a7 in panic () at ../../../kern/kern_shutdown.c:550
#3 0xc05057db in propagate_priority (td=0x0) at ../../../kern/kern_mutex.c:124
#4 0xc0505fe9 in _mtx_lock_sleep (m=0xc072a76c, opts=0,
file=0xc06aa995 "../../../netinet/tcp_timer.c", line=489)
at ../../../kern/kern_mutex.c:635
#5 0xc0505a37 in _mtx_lock_flags (m=0xc072a76c, opts=0,
file=0xc06aa995 "../../../netinet/tcp_timer.c", line=489)
at ../../../kern/kern_mutex.c:333
#6 0xc05a1f10 in tcp_timer_rexmt (xtp=0xc3116164)
at ../../../netinet/tcp_timer.c:489
#7 0xc051fea8 in softclock (dummy=0x0) at ../../../kern/kern_timeout.c:225
#8 0xc04fb802 in ithread_loop (arg=0xc16c1c80)
at ../../../kern/kern_intr.c:540
#9 0xc04fa804 in fork_exit (callout=0xc04fb670 <ithread_loop>, arg=0x0,
frame=0x0) at ../../../kern/kern_fork.c:793
(kgdb)
I have the core so I can run other commands if needed.
BTW before that update to -current I was getting panics when I would
insert or remove a card. Dhclient would end up being the process
running and the kernel would crash in in_pcbconnect_setup when it did
this check:
if (ro->ro_rt && !(ro->ro_rt->rt_ifp->if_flags & IFF_LOOPBACK))
The ro->ro_rt->rt_ifp would be pointing the the ifp that was gone
and panic. This one wasn't to bad except for crashing during a suspend/
resume sequence the other panic is happening randomly through the day.
Hopefully someone can shed some light on this.
Doug A.
More information about the freebsd-current
mailing list