non-sleepable locks held (xl0) - another report

From: Rostislav Krasny <rosti.bsd_at_gmail.com>
Date: Wed, 22 Jun 2005 17:21:39 +0200
Hi,

Mike Jakubik already reported about this issue in May 23, but in my case
it's also happening during a shutdown.

My 6-CURRENT was cvsuped in June 21 and a version of src/sys/pci/if_xl.c
is 1.190. I use a GENERIC kernel.


This is a quote from dmesg when booted with boot_verbose:

xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0xe800-0xe87f mem 0xe1000000-0xe100007f irq 9 at device 9.0 on pci0
xl0: Reserved 0x80 bytes for rid 0x14 type 3 at 0xe1000000
xl0: using memory mapped I/O
xl0: media options word: a
xl0: found MII/AUTO
miibus0: <MII bus> on xl0
xlphy0: <3Com internal media interface> on miibus0
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
xl0: bpf attached
xl0: Ethernet address: 00:01:02:1e:bc:a0
xl0: [MPSAFE]


This is a quote from boot messages:

Setting hostname: saturn.lan.
taskqueue_drain with the following non-sleepable locks held:
exclusive sleep mutex xl0 (network driver) r = 0 (0xc13f80a4) locked _at_ /usr/src/sys/pci/if_xl.c:2796
KDB: stack backtrace:
kdb_backtrace(1,c13f80c8,c13f6000,c12fbd80,c83a7b04) at kdb_backtrace+0x29
witness_warn(5,0,c0851d57,c13f6000,c13f6000) at witness_warn+0x18e
taskqueue_drain(c12fbd80,c13f80c8,c13f80a4,1,c0865100,cc7) at taskqueue_drain+0x1a
xl_stop(c13f6000,c13f80a4,1,c0865100,af9) at xl_stop+0x44
xl_init_locked(c13f6000,c13f80a4,0,c0865100,aec) at xl_init_locked+0x33
xl_init(c13f6000,8020690c,c14ddc00,c13f6000,c83a7bc0) at xl_init+0x26
ether_ioctl(c13f4000,8020690c,c14ddc00,0,c14ddc00) at ether_ioctl+0x50
xl_ioctl(c13f4000,8020690c,c14ddc00,1,c0a80102) at xl_ioctl+0x2be
in_ifinit(c13f4000,c14ddc00,c1481c90,0,c83a7c38) at in_ifinit+0x206
in_control(c1509e44,8040691a,c1481c80,c13f4000,c13d2480) at in_control+0x882
ifioctl(c1509e44,8040691a,c1481c80,c13d2480,0) at ifioctl+0x198
soo_ioctl(c14b3af8,8040691a,c1481c80,c12faa00,c13d2480) at soo_ioctl+0x2db
ioctl(c13d2480,c83a7d04,3,5,286) at ioctl+0x370
syscall(3b,3b,3b,8056740,1) at syscall+0x22f
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip = 0x280c61db, esp = 0xbfbfe5fc, ebp = 0xbfbfee48 ---
xl0: link state changed to UP
taskqueue_drain with the following non-sleepable locks held:
exclusive sleep mutex xl0 (network driver) r = 0 (0xc13f80a4) locked _at_ /usr/src/sys/pci/if_xl.c:2796
KDB: stack backtrace:
kdb_backtrace(1,c13f80c8,c13f6000,c12fbd80,c83a7984) at kdb_backtrace+0x29
witness_warn(5,0,c0851d57,c13f6000,c13f6000) at witness_warn+0x18e
taskqueue_drain(c12fbd80,c13f80c8,c13f80a4,1,c0865100,cc7) at taskqueue_drain+0x1a
xl_stop(c13f6000,c13f80a4,1,c0865100,af9) at xl_stop+0x44
xl_init_locked(c13f6000,c13f80a4,0,c0865100,aec) at xl_init_locked+0x33
xl_init(c13f6000) at xl_init+0x26
ether_ioctl(c13f4000,8020690c,c13f9a00,0,1) at ether_ioctl+0x64
xl_ioctl(c13f4000,8020690c,c13f9a00,0,c13f9a00) at xl_ioctl+0x2be
in6_ifinit(c13f4000,c13f9a00,c83a7b9c,1,40) at in6_ifinit+0x90
in6_update_ifa(c13f4000,c83a7b8c,0) at in6_update_ifa+0x456
in6_ifattach_linklocal(c13f4000,0) at in6_ifattach_linklocal+0xe5
in6_ifattach(c13f4000,0,8040691a,8040691a,0) at in6_ifattach+0xb9
in6_if_up(c13f4000) at in6_if_up+0x13
ifioctl(c1509e44,8040691a,c1481c80,c13d2480,0) at ifioctl+0x1f8
soo_ioctl(c14b3af8,8040691a,c1481c80,c12faa00,c13d2480) at soo_ioctl+0x2db
ioctl(c13d2480,c83a7d04,3,5,286) at ioctl+0x370
syscall(3b,3b,3b,8056740,1) at syscall+0x22f
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip = 0x280c61db, esp = 0xbfbfe5fc, ebp = 0xbfbfee48 ---
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          options=9<RXCSUM,VLAN_MTU>
          inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
          inet6 fe80::201:2ff:fe1e:bca0%xl0 prefixlen 64 tentative scopeid 0x1
          ether 00:01:02:1e:bc:a0
          media: Ethernet autoselect (100baseTX <full-duplex>)
          status: active


This is a quote of shutdown messages:

Syncing disks, vnodes remaining...3 1 0 0 done
All buffers synced.
unmount of /dev failed (BUSY)
Uptime 7m35s
taskqueue_drain with the following non-sleepable locks held:
exclusive sleep mutex xl0 (network driver) r = 0 (0xc13f80a4) locked _at_ /usr/src/sys/pci/if_xl.c:3350
KBD: stack backtrace:
kbd_backtrace(1,c13f80c8,c13f80a4,c12fbd80,c7d65b58) at kbd_backtrace+0x29
witness_warn(5,0,c0851d57,c13f6000,c13f80a4) at witness_warn+0x18e
taskqueue_drain(c12fbd80,c13f80c8,c13f80a4,1,c0865100,cc7) at taskqueue_drain+0x1a
xl_stop(c13f6000,c13f6000,c13f80a4,0,c0865100) at xl_stop+0x44
xl_shutdown(c13d7880) at xl_shutdown+0x33
device_shutdown(c13d7880) at device_shutdown+0x42
bus_generic_shutdown(c13d8080) at bus_generic_shutdown+0x16
device_shutdown(c13d8080) at device_shutdown+0x42
bus_generic_shutdown(c13d8180) at bus_generic_shutdown+0x16
device_shutdown(c13d8180) at device_shutdown+0x42
bus_generic_shutdown(c13d8300) at bus_generic_shutdown+0x16
device_shutdown(c13d8300) at device_shutdown+0x42
bus_generic_shutdown(c1317080) at bus_generic_shutdown+0x16
device_shutdown(c1317080) at device_shutdown+0x42
bus_generic_shutdown(c1317600) at bus_generic_shutdown+0x16
device_shutdown(c1317600,c7d65c88,c0625105,c12ec380,2) at device_shutdown+0x42
root_bus_module_handler(c12ec380,2,0) at root_bus_module_handler+0xa7
module_shutdown(0,8,c12e300c,0,c084ebf9) at module_shutdown+0x31
boot(8,c0917340,0,c084ebf9,a1) at boot+0x59f
reboot(c12fd480,c7d65d04,1,1f,247) at reboot+0x32
syscall(3b,3b,3b,0,0) at syscall+0x22f
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (55, FreeBSD ELF43, reboot), eip = 0x804f89b, esp = 0xbfbfecdc, ebp = 0xbfbfedb8 ---

The operating system has halted.
Please press any key to reboot.


With all this the network through the xl0 is working. I hope my report
could help you to fix this issue. You can send me a patch if you need to
test it before the commit.
Received on Wed Jun 22 2005 - 12:21:25 UTC

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