VirtualBox

Opened 6 years ago

Last modified 6 years ago

#17772 new defect

Guru meditation 1155 on loading driver in guest

Reported by: gim Owned by:
Component: VMM Version: VirtualBox 5.2.12
Keywords: Cc:
Guest type: Windows Host type: Windows

Description

So we trying to load driver inside Windows 7 (6.1.7601.24000) guest machine on Windows 7 host machine with VirtualBox:

sc create ltest type= kernel start= demand error= ignore binpath= "<full path to sample>" DisplayName= ltest
sc start ltest

and we catch "Guru Meditation 1155 (VINF_EM_TRIPLE_FAULT)"

Actually the driver is windows kernel 6.1.7601.24000 (win7sp1_ldr.171231-1547), so it's like trying load second kernel to system. Yes, I known it's crazy, but anyway it's not ok catch guru meditation on this crazy actions.

Attachments (1)

VBox.7z (46.7 KB ) - added by gim 6 years ago.
VBox.log

Download all attachments as: .zip

Change History (10)

by gim, 6 years ago

Attachment: VBox.7z added

VBox.log

comment:2 by janitor, 6 years ago

priority: majorminor

comment:3 by michaln, 6 years ago

"It's not ok catch guru meditation on this" -- you are wrong. Any software running at privilege 0 can always trigger a triple fault, that's just a fact of life. You can try telling Intel that they've been doing their CPUs wrong all along, but you probably won't be very successful. A triple fault may or may not indicate a bug in the hypervisor. Chances are it doesn't.

You might be more successful in arguing that a triple fault should result in something other than a guru meditation, but it *will* kill the VM one way or another.

comment:4 by gim, 6 years ago

Yeah, I mean you can just reset VM and trying to boot. Why just stopping? Is it better in any way?

comment:5 by Socratis, 6 years ago

You mean something like what's described in ch. "9.20.10. Action for handling a Guru Meditation" of the User Manual?

Trying to automatically reboot is not an available option, maybe because (if you ask me) it's not the smartest option to make when your VM crashes. But, (just like everything) "smartest" is open to interpretation...

comment:6 by gim, 6 years ago

You mean something like what's described in ch. "9.20.10. Action for handling a Guru Meditation" of the User Manual?

I don't known about all guru meditation cases, may be some of them real virtualbox's hypervisor problems and we need stop execution. But in this case I believe the problem inside guest.

Trying to automatically reboot is not an available option, maybe because (if you ask me) it's not the smartest option to make when your VM crashes. But, (just like everything) "smartest" is open to interpretation...

I mean what happens if on real hardware will be the same triple fault? CPU will reset its state and reboot will occur, yep? So I trying understand why you crashing whole VM process execution but not for example only reseting CPU emulation state, which will result reboot of the system?

comment:7 by michaln, 6 years ago

It would be possible to automatically reset the VM. We don't think that would be useful, because typically triple faults happen when booting a guest OS (e.g. due to incorrect configuration, unsupported CPU, etc.). So the choice is between a guru meditation and a reboot loop. We chose the former because it provides at least some diagnostic information.

Real hardware does not have that option and triple fault problems are stupidly difficult/expensive to debug. What real hardware actually does when it encounters a triple fault is system specific. It may reboot, and typically does, but does not have to and some machines don't.

comment:8 by Socratis, 6 years ago

/me wonders if a 4th option ("Reboot") besides the "Default", "PowerOff" and "Ignore" could be implemented as an enhancement...

Last edited 6 years ago by Socratis (previous) (diff)

comment:9 by gim, 6 years ago

We don't think that would be useful, because typically triple faults happen when booting a guest OS

May be typically. But not in this case...

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use