virtualbox-3.0.51r22226 still panic'ing

Juergen Lock nox at jelal.kn-bremen.de
Wed Aug 19 17:16:48 UTC 2009


In article <20090814211745.GX5272 at bsdcrew.de> you write:
>I can't confirm that,
>
>any special kernel hacks?
>
>On Fri, Aug 14, 2009 at 12:44:14PM -0700, Doug Barton wrote:
>> I'm using a core2duo on i386 SMP and the latest virtualbox port is
>> still panic'ing for me:
>> 
>> panic: blockable sleep lock (sleep mutex) IPRT Event Semaphore @
>> /usr/local/tmp/
>> usr/local/ports/emulators/virtualbox/work/virtualbox-3.0.51r22226/src/VBox/Runti
>> me/r0drv/freebsd/semevent-r0drv-freebsdT?<A0>^]FreeBSD Kernel Dump
>> 
>> #0  doadump () at pcpu.h:246
>> 246     pcpu.h: No such file or directory.
>>         in pcpu.h
>> (kgdb) #0  doadump () at pcpu.h:246
>> #1  0xc05f11de in boot (howto=260)
>>     at /usr/local/src/sys/kern/kern_shutdown.c:416
>> #2  0xc05f14b2 in panic (fmt=Variable "fmt" is not available.
>> ) at /usr/local/src/sys/kern/kern_shutdown.c:579
>> #3  0xc0631eb0 in witness_checkorder (lock=0xc627c720, flags=9,
>>     file=0xc61a7a40
>> "/usr/local/tmp/usr/local/ports/emulators/virtualbox/work/virtualbox-3.0.51r22226/src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c",
>> line=127, interlock=0x0) at /usr/local/src/sys/kern/subr_witness.c:1063
>> #4  0xc05e2114 in _mtx_lock_flags (m=0xc627c720, opts=0,
>>     file=0xc61a7a40
>> "/usr/local/tmp/usr/local/ports/emulators/virtualbox/work/virtualbox-3.0.51r22226/src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c",
>> line=127) at /usr/local/src/sys/kern/kern_mutex.c:200
>> #5  0xc6194e7c in RTSemEventSignal (EventSem=0xc627c710)
>>     at
>> /usr/local/tmp/usr/local/ports/emulators/virtualbox/work/virtualbox-3.0.51r22226/src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c:127
>> #6  0xc617e3d4 in SUPSemEventSignal (pSession=0xc5683410, hEvent=0x1)
>>     at
>> /usr/local/tmp/usr/local/ports/emulators/virtualbox/work/virtualbox-3.0.51r22226/src/VBox/HostDrivers/Support/SUPDrv.c:3417
>> #7  0xc62df4db in ?? ()
>> [bunch more like #7 above]
>> #139 0xc08677f4 in __qdivrem (uq=Unhandled dwarf expression opcode
>> 0x93) at /usr/local/src/sys/libkern/qdivrem.c:186
>> Previous frame inner to this frame (corrupt stack?)

I just got (probably) the same panic while testing tuntap networking
(more about that in a bit :) with a linux/amd64 guest running with
svm and npt enabled - it was scp'ing a file out of the guest at about
16 MBytes/sec when the panic happened.  I say `probably' the same because
I don't have witness enabled and I also don't have debug symbols for
vboxdrv.ko so the backtrace looks a bit different:

..
Unread portion of the kernel message buffer:
panic: mi_switch: switch in a critical section
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
panic() at panic+0x182
mi_switch() at mi_switch+0x341
turnstile_wait() at turnstile_wait+0x234
_mtx_lock_sleep() at _mtx_lock_sleep+0xd6
_mtx_lock_flags() at _mtx_lock_flags+0x7e
RTSemEventSignal() at RTSemEventSignal+0x9d
SUPSemEventSignal() at SUPSemEventSignal+0xba
g_iRTPowerGeneration() at 0xffffffff811f7bd1
g_iRTPowerGeneration() at 0xffffffff8122ca62
g_iRTPowerGeneration() at 0xffffffff811d5535
g_iRTPowerGeneration() at 0xffffffff811c20eb
g_iRTPowerGeneration() at 0xffffffff811bcc41
g_iRTPowerGeneration() at 0xffffffff8124f8e1
g_iRTPowerGeneration() at 0xffffffff811d8605
supdrvIOCtlFast() at supdrvIOCtlFast+0x5a
VBoxDrvFreeBSDIOCtl() at VBoxDrvFreeBSDIOCtl+0xe1
devfs_ioctl_f() at devfs_ioctl_f+0x76
kern_ioctl() at kern_ioctl+0xc5
ioctl() at ioctl+0xfd
syscall() at syscall+0x1af
Xfast_syscall() at Xfast_syscall+0xe1
--- syscall (54, FreeBSD ELF64, ioctl), rip = 0x800c8bf7c, rsp = 0x7fffffabaa98, rbp = 0x7fffffabaad0 ---
Uptime: 1d0h11m30s
Physical memory: 8175 MB
Dumping 2431 MB: 2416 2400 2384 (CTRL-C to abort)  2368 2352 2336 2320 2304 2288 2272 2256 2240 2224 2208 2192 2176 2160 2144 2128 2112 2096 2080 2064 2048 2032 2016 2000 1984 1968 1952 1936 1920 1904 1888 1872 1856 1840 1824 1808 1792 1776 1760 1744 1728 1712 1696 1680 1664 1648 1632 1616 1600 1584 1568 1552 1536 1520 1504 1488 1472 1456 1440 1424 1408 1392 1376 1360 1344 1328 1312 1296 1280 1264 1248 1232 1216 1200 1184 1168 1152 1136 1120 1104 1088 1072 1056 1040 1024 1008 992 976 960 944 928 912 896 880 864 848 832 816 800 784 768 752 736 720 704 688 672 656 640 624 608 592 576 560 544 528 512 496 480 464 448 432 416 400 384 368 352 336 320 304 288 272 256 240 224 208 192 176 160 144 128 112 96 80 64 48 32 16

Reading symbols from /boot/kernel/amdtemp.ko...Reading symbols from /boot/kernel/amdtemp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/amdtemp.ko
Reading symbols from /boot/kernel/ahci.ko...Reading symbols from /boot/kernel/ahci.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ahci.ko
Reading symbols from /boot/kernel/siis.ko...Reading symbols from /boot/kernel/siis.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/siis.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/netgraph.ko...Reading symbols from /boot/kernel/netgraph.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/netgraph.ko
Reading symbols from /boot/kernel/ng_ether.ko...Reading symbols from /boot/kernel/ng_ether.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_ether.ko
Reading symbols from /boot/kernel/ng_pppoe.ko...Reading symbols from /boot/kernel/ng_pppoe.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_pppoe.ko
Reading symbols from /boot/kernel/ng_socket.ko...Reading symbols from /boot/kernel/ng_socket.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_socket.ko
Reading symbols from /boot/kernel/green_saver.ko...Reading symbols from /boot/kernel/green_saver.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/green_saver.ko
Reading symbols from /boot/kernel/radeon.ko...Reading symbols from /boot/kernel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kernel/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/modules/cx88video.ko...done.
Loaded symbols for /boot/modules/cx88video.ko
Reading symbols from /boot/modules/iicdev.ko...done.
Loaded symbols for /boot/modules/iicdev.ko
Reading symbols from /boot/kernel/iicbus.ko...Reading symbols from /boot/kernel/iicbus.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iicbus.ko
Reading symbols from /boot/modules/cx88i2c.ko...done.
Loaded symbols for /boot/modules/cx88i2c.ko
Reading symbols from /boot/modules/cx88.ko...done.
Loaded symbols for /boot/modules/cx88.ko
Reading symbols from /boot/kernel/snd_hda.ko...Reading symbols from /boot/kernel/snd_hda.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/snd_hda.ko
Reading symbols from /boot/kernel/sound.ko...Reading symbols from /boot/kernel/sound.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/sound.ko
Reading symbols from /boot/kernel/if_tap.ko...Reading symbols from /boot/kernel/if_tap.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_tap.ko
Reading symbols from /boot/kernel/if_bridge.ko...Reading symbols from /boot/kernel/if_bridge.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_bridge.ko
Reading symbols from /boot/kernel/bridgestp.ko...Reading symbols from /boot/kernel/bridgestp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/bridgestp.ko
Reading symbols from /boot/modules/kqemu.ko...done.
Loaded symbols for /boot/modules/kqemu.ko
Reading symbols from /boot/modules/vboxdrv.ko...done.
Loaded symbols for /boot/modules/vboxdrv.ko
#0  doadump () at pcpu.h:223
223		__asm __volatile("movq %%gs:0,%0" : "=r" (td));
(kgdb) bt
#0  doadump () at pcpu.h:223
#1  0xffffffff805ba723 in boot (howto=260)
    at /usr/home/nox/src-r8/src/sys/kern/kern_shutdown.c:419
#2  0xffffffff805bab7c in panic (fmt=Variable "fmt" is not available.
)
    at /usr/home/nox/src-r8/src/sys/kern/kern_shutdown.c:575
#3  0xffffffff805c2b01 in mi_switch (flags=259, newtd=0x0)
    at /usr/home/nox/src-r8/src/sys/kern/kern_synch.c:403
#4  0xffffffff805f9374 in turnstile_wait (ts=0xffffff018569ba80, 
    owner=0xffffff018569f000, queue=Variable "queue" is not available.
)
    at /usr/home/nox/src-r8/src/sys/kern/subr_turnstile.c:745
#5  0xffffffff805ac316 in _mtx_lock_sleep (m=0xffffff0185ac8b20, 
    tid=18446742976608033456, opts=Variable "opts" is not available.
)
    at /usr/home/nox/src-r8/src/sys/kern/kern_mutex.c:447
#6  0xffffffff805ac41e in _mtx_lock_flags (m=Variable "m" is not available.
)
    at /usr/home/nox/src-r8/src/sys/kern/kern_mutex.c:203
#7  0xffffffff8119140d in RTSemEventSignal () from /boot/modules/vboxdrv.ko
#8  0x0000000805fffac0 in ?? ()
#9  0xffffff80f0633690 in ?? ()
#10 0xffffffff8117a4ba in SUPSemEventSignal () from /boot/modules/vboxdrv.ko
#11 0xffffff80f063f330 in ?? ()
#12 0x0000000805fffac0 in ?? ()
#13 0x0000000805fffac0 in ?? ()
#14 0xffffff80f06336c0 in ?? ()
---Type <return> to continue, or q <return> to quit---
#15 0xffffffff811f7bd1 in ?? ()
[...more `... in ??']
#472 0x0000000100000008 in ?? ()
#473 0x0000000000000000 in ?? ()
---Type <return> to continue, or q <return> to quit---q
Quit
(kgdb) fr 3
#3  0xffffffff805c2b01 in mi_switch (flags=259, newtd=0x0)
    at /usr/home/nox/src-r8/src/sys/kern/kern_synch.c:403
403		KASSERT(td->td_critnest == 1 || (td->td_critnest == 2 &&
(kgdb) l
398		KASSERT(!TD_ON_RUNQ(td), ("mi_switch: called by old code"));
399	#ifdef INVARIANTS
400		if (!TD_ON_LOCK(td) && !TD_IS_RUNNING(td))
401			mtx_assert(&Giant, MA_NOTOWNED);
402	#endif
403		KASSERT(td->td_critnest == 1 || (td->td_critnest == 2 &&
404		    (td->td_owepreempt) && (flags & SW_INVOL) != 0 &&
405		    newtd == NULL) || panicstr,
406		    ("mi_switch: switch in a critical section"));
407		KASSERT((flags & (SW_INVOL | SW_VOL)) != 0,
(kgdb) p td->td_critnest
$1 = 2
(kgdb) p td->td_owepreempt
$2 = 0 '\0'
(kgdb) p flags
$3 = 259
(kgdb) p newtd
$4 = (struct thread *) 0x0
(kgdb) p panicstr
$5 = 0xffffffff80c52080 "mi_switch: switch in a critical section"
(kgdb) q


More information about the freebsd-emulation mailing list