With the putback for bug 6565817 "sigwait can't wait for SIGTSTP"
the Solaris kernel data structure kthread_t was modified.
http://bugs.opensolaris.org/view_bug.do?bug_id=6565817
The vbi kernel module distributed with VirtualBox 2.2.2 seems to
access data in kthread_t using the old offsets, so that it panics
when we run on a build 114 (or newer) kernel. To reproduce the
problem, try to start a virtualbox guest on an opensolaris
build 114 (or newer) host.
Panic information:
> ::status
debugging crash dump vmcore.0 (32-bit) from max
operating system: 5.11 snv_115_jk (i86pc)
panic message:
BAD TRAP: type=e (#pf Page fault) rp=b5104bf4 addr=4 occurred in
module "vbi" due to a NULL pointer dereference
dump content: kernel pages only
> $C
b5104c54 vbi_user_map+0x11(b5104c84, 1, bf85b2c0, 1000)
b5104c94 rtR0MemObjNativeMapUser+0xc8(b5104cc4, aa5961a8, ffffffff, 1000, 1, 0)
b5104cd4 RTR0MemObjMapUser+0xb8(bf2f0c28, aa5961a8, ffffffff, 0, 1, 0)
b5104d34 SUPR0GipMap+0x1be()
b5104d94 supdrvIOCtl+0x391(c0185614, ab3838e0, bf2f0c10, b5104dbc)
b5104e14 VBoxDrvSolarisIOCtl+0xf1()
b5104e44 cdev_ioctl+0x31(4b40000, c0185614, 8045cd0, 102003, bf037a90, b5104f00)
b5104e74 spec_ioctl+0x6b(c89ef680, c0185614, 8045cd0, 102003,
bf037a90, b5104f00)
b5104ec4 fop_ioctl+0x49(c89ef680, c0185614, 8045cd0, 102003, bf037a90, b5104f00)
b5104f84 ioctl+0x171()
b5104fac sys_sysenter+0x106()
> vbi_user_map::dis
vbi_user_map: pushl %ebp
vbi_user_map+1: movl %esp,%ebp
vbi_user_map+3: subl $0x14,%esp
vbi_user_map+6: call +0x6021c85 <threadp>
vbi_user_map+0xb: movl 0xdc(%eax),%eax
vbi_user_map+0x11: movl 0x4(%eax),%eax
vbi_user_map+0x14: movl %eax,-0x8(%ebp)