On 2011-07-26 07:29, André Weidemann wrote: > On 07.07.2011 07:26, André Weidemann wrote: >> Hi, >> I am running Windows7 x64 in a VM which crashes after starting a certain >> game. Actually there are two games both from the same company, that make >> the VM crash after starting them. >> Windows crashes right after starting the game. With the 1st game the >> screen goes black as usual and the cursor keeps spinning for 3-5 seconds >> until Windows crashes. With the second game I get to 3D the login >> screen. The game then crashes after logging in. >> Windows displays this error message on the first crash: >> http://pastebin.com/kMzk9Jif >> Windows then finishes writing the crash dump and restarts. >> I can reproduce Windows crashing every time I start the game while the >> VM keeps running without any problems. >> When Windows reboots after the first crash and the game is started >> again, the message on the following blue screen changes slightly and >> stays the same(except for the addresses) for every following crash: >> http://pastebin.com/jVtBc4ZH >> >> I first thought that this might be related to a certain feature in 3D >> acceleration being used, but Futuremark 3DMark Vantage or 3DMark 11 run >> without any problems. They run a bit choppy on some occasions, but do >> that without crashing Windows7 or the VM. >> >> How can I proceed to investigate what is going wrong? > > I did some testing and found out that Windows7 does not crash anymore > when changing "-cpu host" to "-cpu Nehalem". After doing so, the "only" > thing crashing, is the application itself. > Why is that? What is different between the "real" CPU and the one > provided by qemu-kvm? How can "-cpu host" cause Windows7 to crash, while > "-cpu Nehalem" "only" crashes the application. > > I then had WinDbg attach to the process in question. When the game > crashes the debugger reports an Assertion Failure. This seems so happen > as soon as the game accesses the network through a certain DLL. > To exclude the emulated e1000 hardware as the cause, I removed it from > the VM and passed an Intel network card 82574L to it using these lines: > > -device pci-assign,host=04:00.0,id=82574L,addr=0x10 \ > -net none \ > > The network card works under Windows7, but the problem of the crashing > game remains. > > Any ideas on how to track the problem are greatly appreciated. I faced problems more than once when the host used MSIs for an assigned device while the guest driver decided it's better to stick with legacy INTx (check the IRQ number under Windows, > 0 means INTx, < 0 MSI). You can exclude this by adding prefer_msi=off to the pci-assign options. May require disabling some host devices in case of IRQ conflict (yeah, we still need to solve that...). Jan
Attachment:
signature.asc
Description: OpenPGP digital signature