Panic with locks and networking as of a day ago

From: Doug Ambrisko <ambrisko_at_ambrisko.com>
Date: Fri, 31 Oct 2003 19:49:27 -0800 (PST)
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) _at_ vm/swap_pager.c:1319
   2nd 0xc0735600 swap_pager swhash (swap_pager swhash) _at_ vm/swap_pager.c:1835
   3rd 0xc103565c vm object (vm object) _at_ 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.
Received on Fri Oct 31 2003 - 18:49:29 UTC

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