NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/50167: recent dksubr.c locking changes broke Xen



>Number:         50167
>Category:       kern
>Synopsis:       recent dksubr.c locking changes broke Xen
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 25 08:15:00 +0000 2015
>Originator:     Manuel Bouyer
>Release:        NetBSD 7.99.21
>Organization:
>Environment:
System: NetBSD 7.99.21 (INSTALL_XEN3PAE_DOMU.201508230910Z) #0: Sun Aug 23 11:38:14 UTC 2015
	builds%b48.netbsd.org@localhost:/home/builds/ab/HEAD/i386/201508230910Z-obj/home/source/ab/HEAD/src/sys/arch/i386/compile/INSTALL_XEN3PAE_DOMU
Architecture: i386
Machine: i386
>Description:
	recent changes to locking in dksubr.c broke Xen, because
	xbd(4) calls dk_start() from interrupt context:
(from http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/HEAD/i386/201508230910Z_anita.txt)
mlock error: Mutex: mutex_vector_enter: locking against myself: lock 0xc129b09c cpu 0 lwp 0xc1505d40
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0135104 cs 9 eflags 246 cr2 826f3c9 ilevel 8 esp cd818994
curlwp 0xc1505d40 pid 0 lid 52 lowest kstack 0xcd8162c0
Stopped in pid 0.52 (system) at netbsd:breakpoint+0x4:  popl    %ebp
breakpoint(c04ede9a,c0ae6540,c0516264,cd8189b0,c05b8cd4,c129b09c,c04ff96b,cd8189a4,c03ab958,c0516264) at netbsd:breakpoint+0x4
vpanic(c0516264,cd8189b0,cd8189d4,c03a3ecf,c0516264,c04ff99c,c04d3fe5,c04ff96b,c129b09c,0) at netbsd:vpanic+0x11a
panic(c0516264,c04ff99c,c04d3fe5,c04ff96b,c129b09c,0,c1505d40,c05b8cd4,c05b8cd4,c129b09c) at netbsd:panic+0x18
lockdebug_abort(c129b09c,c05b8cd4,c04d3fe5,c04ff96b,c1505d40,c129b008,cd818a24,c0258022,cd818a24,1) at netbsd:lockdebug_abort+0x5f
mutex_abort(cd818a24,1,ccea0284,cd818a34,c0485a37,c1505d40,c1505d40,0,c129b008,c129b008) at netbsd:mutex_abort+0x2e
mutex_vector_enter(c129b09c,6,cd818a58,c045a02a,0,c129b09c,c0aa19c0,67b35,c1bc7cdc,c129b5c4) at netbsd:mutex_vector_enter+0x2d2
dk_start(c129b008,0,0,1,c129b8f4,c129b018,84b,c129b5b8,cd80d478,84b) at netbsd:dk_start+0x26
xbd_handler(c129b008,40,c13b4248,cd818aec,c0156ef7,c13b4248,cd818b40,0,0,c045a02a) at netbsd:xbd_handler+0x254
intr_biglock_wrapper(c13b4248,cd818b40,0,0,c045a02a,0,0,c0aa19c0,c129b018,c1707880) at netbsd:intr_biglock_wrapper+0x1f
evtchn_do_event(c,cd818b40,1,1,cd818b24,c0251fff,c05af780,0,c0d44000,c0d44800) at netbsd:evtchn_do_event+0x297
do_hypervisor_callback(cd818b40,0,cd810011,c0250031,cd810011,c0320011,0,c05af780,cd818b90,deadbeef) at netbsd:do_hypervisor_callback+0x132
hypervisor_callback(0,0,1400,cd80d844,c129b20c,cd818c10,c04840fa,0,b53d3000,0) at netbsd:hypervisor_callback+0x64
xengnt_grant_access(0,b53d3000,0,1,c129b20c,cd80d844,c129b204,c129b008,1000,cbd88000) at netbsd:xengnt_grant_access+0x72
xbd_diskstart(c13ac188,c1bc0ab0,1b872,0,c1bc0ab0,c129b09c,c0aa19c0,c129b018,c1bc0ab0,c04e3780) at netbsd:xbd_diskstart+0x1fa
dk_start(c129b008,c1bc0ab0,c1bc0ab0,cd818c70,c039b6a2,c1bc0ab0,c1bc0ab0,c1bc0ab0,0,cd818c94) at netbsd:dk_start+0x5e
xbdstrategy(c1bc0ab0,c1bc0ab0,c1bc0ab0,0,cd818c94,c0391e09,c1bc0ab0,0,8000,cd818cb8) at netbsd:xbdstrategy+0x6f
bdev_strategy(c1bc0ab0,0,8000,cd818cb8,c0480b47,c15fb4d0,8000,cd818cb8,c0480bbf,cd818ca8) at netbsd:bdev_strategy+0x62
spec_strategy(cd818ca8,4,0,c04e31e0,c15fb4d0,c1bc0ab0,c1bc0ab0,cd818d48,c0191c1d,c15fb4d0) at netbsd:spec_strategy+0x39
VOP_STRATEGY(c15fb4d0,c1bc0ab0,0,cd818d28,cd818d34,cd818d24,cbd80000,0,1018d00,9) at netbsd:VOP_STRATEGY+0x2f
genfs_do_io(cbd88000,2000,9,1,c0452210,8000,0,c0f96c10,cd818ea8,c01943fa) at netbsd:genfs_do_io+0x23d
genfs_gop_write(c186d168,cd818dec,2,9,cd818df0,13,c186d168,8000,c186d194,0) at netbsd:genfs_gop_write+0x5e
genfs_do_putpages(c186d168,8000,0,9000,0,9,0,cd818f00,c0480f57,cd818ee0) at netbsd:genfs_do_putpages+0xb6a
genfs_putpages(cd818ee0,cd818f00,c0452e8d,c04e30e4,c186d168,8000,0,9000,0,9) at netbsd:genfs_putpages+0x3f
VOP_PUTPAGES(c186d168,8000,0,9000,0,9,0,0,2496,0) at netbsd:VOP_PUTPAGES+0x47
uvm_pageout(c1505d40,d43000,c0af0200,0,c010007b,0,0,0,0,0) at netbsd:uvm_pageout+0x1fb

>How-To-Repeat:
	Do an anita run using a recent build
>Fix:
	please



Home | Main Index | Thread Index | Old Index