Windows 7 SMP guest hangs on reboot

Discussions about using Windows guests in VirtualBox.

Windows 7 SMP guest hangs on reboot

Postby skoehler » 13. Oct 2014, 15:06

As soon as I enable 2 processors or more, my 32Bit Windows 7 guest hangs on a reboot. It did so during the installation of Windows 7 (I'm using a Windows 7 SP1 x86 iso) and it does so afterwards. When reducing the number of CPUs to 1 (and disabling IO-APIC), everything is fine. The guest is pretty much a standard configuration as creates by the new virtual machine wizard, I was just changing the number of CPUs.

This is on a Linux 3.16.5 host with an Intel graphics card. The CPU is a i7 4700HQ.

This is quite annoying. I have a quadcore CPU, and I can only use one core for my guest.
skoehler
 
Posts: 116
Joined: 1. Dec 2008, 12:12

Re: Windows 7 SMP guest hangs on reboot

Postby socratis » 13. Oct 2014, 16:19

I can report the same behavior on a MacBook Pro with 10.6.8. Take a look at https://forums.virtualbox.org/viewtopic ... 57#p301457 . It was filed after your post, but it's more appropriate to continue the discussion there.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
socratis
Site Moderator
 
Posts: 25875
Joined: 22. Oct 2010, 11:03
Location: Greece
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5

Re: Windows 7 SMP guest hangs on reboot

Postby skoehler » 13. Oct 2014, 17:10

I should mention that I had the problem with 4.3.18 and 4.3.16. It's built from source on Gentoo (gcc 4.7).
I also tried the ICH9 chipset. Things didn't change.
skoehler
 
Posts: 116
Joined: 1. Dec 2008, 12:12

Re: Windows 7 SMP guest hangs on reboot

Postby Ramshankar » 13. Oct 2014, 17:29

Thanks for the report, fixed in SVN and the fix should be available in the next maintenance version.
Oracle Corp.
Ramshankar
Oracle Corporation
 
Posts: 780
Joined: 7. Jan 2008, 16:17

Re: Windows 7 SMP guest hangs on reboot

Postby skoehler » 13. Oct 2014, 17:34

Ramshankar wrote:Thanks for the report, fixed in SVN and the fix should be available in the next maintenance version.

Which commit is it? I'm looking at the commit history of http://www.virtualbox.org/svn/vbox/ and there has only been one commit today which seems to be keyboard related.
skoehler
 
Posts: 116
Joined: 1. Dec 2008, 12:12

Re: Windows 7 SMP guest hangs on reboot

Postby Perryg » 13. Oct 2014, 17:59

They still need to update the public SVN for the commit to show.
Perryg
Site Moderator
 
Posts: 34373
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Windows 7 SMP guest hangs on reboot

Postby skoehler » 13. Oct 2014, 22:06

Perryg wrote:They still need to update the public SVN for the commit to show.

Good. I'll wait.
Where would I find the 4.3.x branch? I only see trunk.
skoehler
 
Posts: 116
Joined: 1. Dec 2008, 12:12

Re: Windows 7 SMP guest hangs on reboot

Postby Perryg » 13. Oct 2014, 22:11

Same thing.
Perryg
Site Moderator
 
Posts: 34373
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Windows 7 SMP guest hangs on reboot

Postby skoehler » 14. Oct 2014, 13:02

Thanks for the patch (did you click the edit button instead of the quote button?). I'll test it. I'm recompiling virtualbox right now. No need to provide a test build.

Update: Yep, the patch fixes the problem for me.
skoehler
 
Posts: 116
Joined: 1. Dec 2008, 12:12

Re: Windows 7 SMP guest hangs on reboot

Postby Ramshankar » 14. Oct 2014, 15:06

skoehler wrote:Thanks for the patch (did you click the edit button instead of the quote button?). I'll test it. I'm recompiling virtualbox right now. No need to provide a test build.

Update: Yep, the patch fixes the problem for me.


Yes, I clicked the edit button by mistake. Sorry about that.

Edit update here:
OSE is trunk only. The way for getting branch sources is to get the tarball but we release that usually only during the time of the release.

Also, the problem in trunk has been fixed a long time ago with a different codepath being taken, i.e. trunk has event injection and task-switch implementation in IEM and is handled that way. The fix for 4.3 branch was to fall back to the recompiler. If you're interested here is the diff for the 4.3 branch which makes it work:

Patch posted here:
Code: Select all   Expand viewCollapse view
Index: branches/VBox-4.3/src/VBox/VMM/VMMR0/HMVMXR0.cpp
===================================================================
--- branches/VBox-4.3/src/VBox/VMM/VMMR0/HMVMXR0.cpp   (revision 96369)
+++ branches/VBox-4.3/src/VBox/VMM/VMMR0/HMVMXR0.cpp   (revision 96541)
@@ -10407,4 +10407,14 @@
 
                 Log4(("Pending event on TaskSwitch uIntType=%#x uVector=%#x\n", uIntType, uVector));
+                STAM_COUNTER_INC(&pVCpu->hm.s.StatExitTaskSwitch);
+
+                /*
+                 * emR3ExecuteInstruction() will call IEMExecOne() which doesn't honor TRPM events. We could implement
+                 * IEMInjectTrpmEvent() but since IEM task-switching isn't backported to 4.3 it would return
+                 * VERR_IEM_ASPECT_NOT_IMPLEMENTED. What we really want is to just inject the event and not even try
+                 * emulate the instruction at RIP. At the moment for 4.3, only REM does this, so fallback directly to
+                 * REM here. See @bugref{7445} comment #25.
+                 */
+                return VINF_EM_RESCHEDULE_REM;
             }
         }


I will see if we can provide a test build later today with the fix included.
Oracle Corp.
Ramshankar
Oracle Corporation
 
Posts: 780
Joined: 7. Jan 2008, 16:17


Return to Windows Guests

Who is online

Users browsing this forum: No registered users and 16 guests