VirtualBox

Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#1947 closed defect (fixed)

Virtualbox.exe use 100% CPU when debug VM with WinDBG. -> fixed in SVN

Reported by: AaronWang Owned by:
Component: host support Version: VirtualBox 2.1.4
Keywords: 100% CPU Cc:
Guest type: Windows Host type: Windows

Description

I have a kernel debug on Guest OS with WinDBG. When debugger has been connected. Process VirtualBox.exe in Host OS use 100% CPU.When I break Guest OS by debugger. It still use 100% CPU.

Change History (12)

comment:1 by Sander van Leeuwen, 16 years ago

That's to be expected due to the polling nature with which the serial port is controlled. Once you've booted up and there's no more communication (new executables/modules being loaded) cpu usage should go down.

comment:2 by AaronWang, 16 years ago

But, my debugger can't work. I resovle this by set priority of virtualbox.exe that running the Guest OS to "Below normal". Everything is working fine.

comment:3 by Sander van Leeuwen, 16 years ago

Resolution: worksforme
Status: newclosed

That works or if you have more than one core/cpu. I'll close the defect then.

comment:4 by Nick Dowell, 16 years ago

Resolution: worksforme
Status: closedreopened

VMware has a nice option (on by default) which prevents 100% CPU usage when the guest is polling the serial port. It would be great it VirtualBox could implement similar functionality.
http://www.vmware.com/support/ws5/doc/ws_devices_serial_advanced.html

As it stands, VirtualBox is not very useful for doing kernel mode debugging with WinDBG because of this problem. There's been some discussion of this over on the forum:
http://forums.virtualbox.org/viewtopic.php?p=59612

comment:5 by Sander van Leeuwen, 16 years ago

Summary: Virtualbox.exe use 100% CPU when debug VM with WinDBG.Virtualbox.exe use 100% CPU when debug VM with WinDBG. -> fixed in SVN

That's already fixed in SVN: vboxmanage setextradata VMNAME "VBoxInternal/Devices/serial/0/Config/YieldOnLSRRead" 1

And again this is not an issue if you have more than one core/cpu. It's been working well with such hardware for years.

in reply to:  5 comment:6 by Nick Dowell, 16 years ago

Great to know it's been addressed in SVN :-)

I take it that this change isn't in the 2.1.4 release?

FWIW, my machine is a dual-core, but I couldn't get kernel debugging working. Maybe I was doing something wrong, but had no trouble doing so with VMware.

comment:7 by sunlover, 16 years ago

Version: VirtualBox 1.6.4VirtualBox 2.1.4

Right, this change was not included in 2.1.4. It will be available in the 2.2.x version of VBox.

And you are right, the problem can be noticed on a dual core too (that is why I've implemented the workaround :) ).

comment:8 by Nick Dowell, 16 years ago

I look forward to trying it out in the 2.2.x series :-)

Not sure if we should close this case for now...? I can always re-open if things are still iffy ;)

comment:9 by sunlover, 16 years ago

We close tickets when the VirtualBox version, that fixes the problem, is actually released. So this ticket should stay open for now.

comment:10 by AaronWang, 16 years ago

Terrible thing!!!!!! In Virutalbox 2.1.4 When debug VM with WinDBG. When I press 'CTRL+Break' In WinDBG, Process 'Virtualbox.exe'( guest vm ) deadlock. The VM I'm debugging doesn't response. WinDBG doesn't show any infomation. After five minutes. I kill 'virtualbox.exe'. It's seem I can't debug VM with WinDBG now.

I have two pc. AMD Althlon 3500+, 1GB DDR Intel Dual Core E2200 2.20GHz, 4GB DDR2 The same thing happenes. I hope this problem will be fixed soon.

comment:11 by Sander van Leeuwen, 16 years ago

Resolution: fixed
Status: reopenedclosed

comment:12 by Nick Dowell, 16 years ago

I've re-tested this with 2.0.0 r45846

After enabling YieldOnLSRRead with VBoxManage, WinDBG debugging is working nicely :-)

May I suggest exposing this option in the configuration GUI?

Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette