kern/84014: xl(4) lock held
Rui Paulo
rpaulo at NetBSD.org
Sun Jul 24 19:40:17 GMT 2005
>Number: 84014
>Category: kern
>Synopsis: xl(4) lock held
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Jul 24 19:40:16 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Rui Paulo
>Release: FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD quanta.internal.fnop.net 7.0-CURRENT FreeBSD 7.0-CURRENT #3: Sun Jul 24 02:35:06 WEST 2005 rpaulo at quanta:/usr/obj/usr/src/sys/GENERIC i386
if_xl.c revision 1.191
>Description:
I get the following panic on system bootup:
taskqueue_drain with the following non-sleepable locks held:
exclusive sleep mutex xl0 (network driver) r = 0 (0xc135e0a4) locked @ /usr/src/sys/pci/if_xl.c:2798
KDB: stack backtrace:
kdb_backtrace(1,c135e0c8,c135c000,c1265c00,c7224904) at kdb_backtrace+0x29
witness_warn(5,0,c08599d8,c135c000,c135c000) at witness_warn+0x18e
taskqueue_drain(c1265c00,c135e0c8,c135e0a4,1,c086ce7d,cc9) at taskqueue_drain+0x1a
xl_stop(c135c000,c135e0a4,1,c086ce7d,afb) at xl_stop+0x44
xl_init_locked(c135c000,c135e0a4,0,c086ce7d,aee) at xl_init_locked+0x33
xl_init(c135c000) at xl_init+0x26
ether_ioctl(c1348400,8020690c,c1443400,0,1) at ether_ioctl+0x64
xl_ioctl(c1348400,8020690c,c1443400,0,c1443400) at xl_ioctl+0x2be
in6_ifinit(c1348400,c1443400,c7224b1c,1,40) at in6_ifinit+0x90
in6_update_ifa(c1348400,c7224b0c,0) at in6_update_ifa+0x456
in6_ifattach_linklocal(c1348400,0) at in6_ifattach_linklocal+0xe5
in6_ifattach(c1348400,0,c135f400,0,0) at in6_ifattach+0xb9
in6_if_up(c1348400,c1348400,80206910,c13f68c0,0) at in6_if_up+0x13
if_route(c1348400,1,0,c7224c4c,c069740f) at if_route+0x55
if_up(c1348400) at if_up+0xf
ifhwioctl(80206910,c1348400,c13f68c0,c1334a80,c06438ff) at ifhwioctl+0x29b
ifioctl(c1460000,80206910,c13f68c0,c1334a80,0) at ifioctl+0xc3
soo_ioctl(c14161b0,80206910,c13f68c0,c1265100,c1334a80) at soo_ioctl+0x2db
ioctl(c1334a80,c7224d04,3,6,247) at ioctl+0x370
syscall(3b,3b,3b,4,1) at syscall+0x22f
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip = 0x280c6287, esp = 0xbfbfe56c, ebp = 0xbfbfe5b8 ---
I think the bug was introduced in revision 1.191:
revision 1.191
date: 2005/07/13 14:06:13; author: glebius; state: Exp; lines: +2 -0
NET_LOCK_GIANT() when entering network code.
Pointy hat to: glebius
Reported by: rodrigc
It worked fine during RELENG_6 freeze, IIRC.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list