Kernel Panic was caused on My 10.3-STABLE r316132 
by VirtualBox-ose created by poudriere(8) on my box with DEBUG option.  
However, when I was using 10.3-STABLE r315187, 
VirtualBox-ose worked without any problem.  

Here is the output by kgdb:

------ start here (output by kgdb)
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...

Unread portion of the kernel message buffer:

!!Assertion Failed!!
Expression: RTThreadPreemptIsEnabled(NIL_RTTHREAD)
Location  : 
/wrkdirs/usr/ports/emulators/virtualbox-ose-kmod/work/VirtualBox-5.1.18/out/freebsd.amd64/debug/bin/src/vboxdrv/r0drv/freebsd/spinlock-r0drv-freebsd.c(78)
 int RTSpinlockCreate(PRTSPINLOCK, uint32_t, const char *)


Fatal trap 3: breakpoint instruction fault while in kernel mode
cpuid = 3; apic id = 06
instruction pointer     = 0x20:0xffffffff81dbb3de
stack pointer           = 0x28:0xfffffe0464bfd490
frame pointer           = 0x28:0xfffffe0464bfd4c0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, IOPL = 0
current process         = 46465 (VBoxSVC)
trap number             = 3
panic: breakpoint instruction fault
cpuid = 3
KDB: stack backtrace:
#0 0xffffffff809bb360 at kdb_backtrace+0x60
#1 0xffffffff8097c1e6 at vpanic+0x126
#2 0xffffffff8097c0b3 at panic+0x43
#3 0xffffffff80d9ce2d at trap_fatal+0x35d
#4 0xffffffff80d9caaf at trap+0x79f
#5 0xffffffff80d81d4c at calltrap+0x8
#6 0xffffffff81d7d591 at supdrvCreateSession+0x91
#7 0xffffffff81d9355b at vboxdrvFreeBSDOpenCommon+0x2b
#8 0xffffffff80855a32 at devfs_open+0x122
#9 0xffffffff80ed8671 at VOP_OPEN_APV+0xa1
#10 0xffffffff80a3bc34 at vn_open_vnode+0x234
#11 0xffffffff80a3b803 at vn_open_cred+0x373
#12 0xffffffff80a348cf at kern_openat+0x26f
#13 0xffffffff80d9d862 at amd64_syscall+0x452
#14 0xffffffff80d8203b at Xfast_syscall+0xfb
Uptime: 16h16m43s
Dumping 3881 out of 16259 MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..91%
 
Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
Loaded symbols for /boot/kernel/linprocfs.ko.symbols
Reading symbols from /boot/kernel/linux_common.ko.symbols...done.
Loaded symbols for /boot/kernel/linux_common.ko.symbols
Reading symbols from /boot/kernel/linsysfs.ko.symbols...done.
Loaded symbols for /boot/kernel/linsysfs.ko.symbols
Reading symbols from /boot/kernel/zfs.ko.symbols...done.
Loaded symbols for /boot/kernel/zfs.ko.symbols
Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
Loaded symbols for /boot/kernel/opensolaris.ko.symbols
Reading symbols from /boot/kernel/tmpfs.ko.symbols...done.
Loaded symbols for /boot/kernel/tmpfs.ko.symbols
Reading symbols from /boot/modules/vboxdrv.ko.symbols...done.
Loaded symbols for /boot/modules/vboxdrv.ko.symbols
Reading symbols from /boot/kernel/fdescfs.ko.symbols...done.
Loaded symbols for /boot/kernel/fdescfs.ko.symbols
Reading symbols from /boot/kernel/i915kms.ko.symbols...done.
Loaded symbols for /boot/kernel/i915kms.ko.symbols
Reading symbols from /boot/kernel/drm2.ko.symbols...done.
Loaded symbols for /boot/kernel/drm2.ko.symbols
Reading symbols from /boot/kernel/iicbus.ko.symbols...done.
Loaded symbols for /boot/kernel/iicbus.ko.symbols
Reading symbols from /boot/kernel/iic.ko.symbols...done.
Loaded symbols for /boot/kernel/iic.ko.symbols
Reading symbols from /boot/kernel/iicbb.ko.symbols...done.
Loaded symbols for /boot/kernel/iicbb.ko.symbols
Reading symbols from /boot/kernel/ulpt.ko.symbols...done.
Loaded symbols for /boot/kernel/ulpt.ko.symbols
Reading symbols from /boot/kernel/ipfw.ko.symbols...done.
Loaded symbols for /boot/kernel/ipfw.ko.symbols
Reading symbols from /boot/kernel/linux.ko.symbols...done.
Loaded symbols for /boot/kernel/linux.ko.symbols
Reading symbols from /boot/kernel/linux64.ko.symbols...done.
Loaded symbols for /boot/kernel/linux64.ko.symbols
Reading symbols from /boot/kernel/i915.ko.symbols...done.
Loaded symbols for /boot/kernel/i915.ko.symbols
Reading symbols from /boot/kernel/drm.ko.symbols...done.
Loaded symbols for /boot/kernel/drm.ko.symbols
Reading symbols from /boot/kernel/nullfs.ko.symbols...done.
Loaded symbols for /boot/kernel/nullfs.ko.symbols
#0  doadump (textdump=<value optimized out>) at pcpu.h:219
219     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump (textdump=<value optimized out>) at pcpu.h:219
#1  0xffffffff8097be03 in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:486
#2  0xffffffff8097c225 in vpanic (fmt=<value optimized out>,
    ap=<value optimized out>) at /usr/src/sys/kern/kern_shutdown.c:889
#3  0xffffffff8097c0b3 in panic (fmt=0x0)
    at /usr/src/sys/kern/kern_shutdown.c:818
#4  0xffffffff80d9ce2d in trap_fatal (frame=<value optimized out>,
    eva=<value optimized out>) at /usr/src/sys/amd64/amd64/trap.c:858
#5  0xffffffff80d9caaf in trap (frame=<value optimized out>)
    at /usr/src/sys/amd64/amd64/trap.c:203
#6  0xffffffff80d81d4c in calltrap ()
    at /usr/src/sys/amd64/amd64/exception.S:238
#7  0xffffffff81dbb3de in RTSpinlockCreate (pSpinlock=0xfffff80233354860,
    fFlags=4, pszName=0xfffffe0464bfd310 "")
    at 
/wrkdirs/usr/ports/emulators/virtualbox-ose-kmod/work/VirtualBox-5.1.18/out/freebsd.amd64/debug/bin/src/vboxdrv/r0drv/freebsd/spinlock-r0drv-freebsd.c:78
#8  0xffffffff81d7d591 in supdrvCreateSession (pDevExt=0xffffffff81ddc510,
    fUser=true, fUnrestricted=false, ppSession=0xfffffe0464bfd518)
    at SUPDrv.c:772
#9  0xffffffff81d9355b in vboxdrvFreeBSDOpenCommon ()
    at 
/wrkdirs/usr/ports/emulators/virtualbox-ose-kmod/work/VirtualBox-5.1.18/out/freebsd.amd64/debug/bin/src/vboxdrv/freebsd/SUPDrv-freebsd.c:250
#10 0xffffffff80855a32 in devfs_open (ap=<value optimized out>)
    at /usr/src/sys/fs/devfs/devfs_vnops.c:1116
#11 0xffffffff80ed8671 in VOP_OPEN_APV (vop=<value optimized out>,
    a=<value optimized out>) at vnode_if.c:469
---Type <return> to continue, or q <return> to quit---
#12 0xffffffff80a3bc34 in vn_open_vnode (vp=0xfffff802d807b3b0, fmode=3,
    cred=0xfffff8031f06f100, td=0xfffff802aad3b4c0, fp=0xfffff80020b39320)
    at vnode_if.h:196
#13 0xffffffff80a3b803 in vn_open_cred (ndp=0xfffffe0464bfd870,
    flagp=0xfffffe0464bfd94c, cmode=<value optimized out>,
    vn_open_flags=<value optimized out>, cred=0xfffffe0464bfd310,
    fp=0xfffff80020b39320) at /usr/src/sys/kern/vfs_vnops.c:268
#14 0xffffffff80a348cf in kern_openat (td=0xfffff802aad3b4c0, fd=-100,
    path=0x80182c1ec <Address 0x80182c1ec out of bounds>,
    pathseg=UIO_USERSPACE, flags=3, mode=<value optimized out>)
    at /usr/src/sys/kern/vfs_syscalls.c:1067
#15 0xffffffff80d9d862 in amd64_syscall (td=0xfffff802aad3b4c0, traced=0)
    at subr_syscall.c:141
#16 0xffffffff80d8203b in Xfast_syscall ()
    at /usr/src/sys/amd64/amd64/exception.S:398
#17 0x0000000802cdf8fa in ?? ()
Previous frame inner to this frame (corrupt stack?)
Current language:  auto; currently minimal

------ end here (output by kgdb)

As shown in the above, kernel panic was caused by 
assertion RTThreadPreemptIsEnabled(NIL_RTTHREAD) 
which tests the following expressions:

  1. curthread->td_critnest is equal to 0, and
  2. IF (interrupt flag) on eflag (or rflag ?) is equal to 1.  

This assertion will be successful only if both of above are true.  

As I read the source of VirtualBox, RTThreadPreemptIsEnabled is 
a part of test for preemtiveness which is used to create a spinlock.  
However, I'm not sure why assertion RTThreadPreemptIsEnabled is required, 
and this was failed on 10.3-STABLE r316132.  

I would appreciate any information.  Thanks.  

-- 
Hiroyuki Une: Hiroshima Kokusai Gakuin University
u...@hkg.ac.jp / harr...@seiryu.id.hkg.ac.jp
_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to