VirtualBox

Ticket #6010 (closed defect: fixed)

Opened 4 years ago

Last modified 2 years ago

ACPI conflict with with Serial com port in debug windows guest

Reported by: ocean Owned by:
Priority: critical Component: uart
Version: VirtualBox 3.1.2 Keywords:
Cc: Guest type: Windows
Host type: Windows

Description

can't use windbg to do remote kernel debugging on a windows guest. adding the debug flag in boot.ini and using COM1 with a pipe.

starting windows normally doesn't give problems, com port haven't got any conflict. starting windows with kernel debug make COM port conflict with ACPI, that makes debugging impossible.

i've also found a way to make windows guest lock, it's something like that: adding a COM2 port connected to a pipe to vm and not adding it to devices in windows, then modify COM1 properties in windows guest to use COM2 configuration (base configuration 0002), then start the virtual machine and attach windbg which will say "waiting to reconnect" reboot windows guest in debug mode and windbg will succesfully attach but locks the guest.

in debug mode COM port used to debug conflicts with some ACPI device.

two logs are attached, one with guest in normal mode and COM port without conflict, the other one in debug mode with conflict.

sorry for my bad english.

regards ocean

Attachments

no_debug_com_ok.log Download (56.7 KB) - added by ocean 4 years ago.
normal mode, com port ok
debug_mode.log Download (58.5 KB) - added by ocean 4 years ago.
debug mode, com port conflicts with acpi device
windbg_via_virtualbox_pipe_connection_.jpg Download (388.0 KB) - added by rickygai 4 years ago.
virtualbox_assigning_named_pipe.JPG Download (64.2 KB) - added by rickygai 4 years ago.

Change History

Changed 4 years ago by ocean

normal mode, com port ok

Changed 4 years ago by ocean

debug mode, com port conflicts with acpi device

comment:1 in reply to: ↑ description Changed 4 years ago by ocean

the same problem is on windows xp and windows server 2003 but i suspect also on other guests.

i've read in a precedent ticket about that YeldOnLSRRead can be enable to obtain a behaviour similar to VMWare yeld on polling. found nothing in manual to enable it. how can this be enabled for a specific virtual machine? if i remember well someone experienced locks with remote kernel debugging in 2.x and solved enabling this.

i think the problem with the conflict would remain as well, because without this windbg would attach succesfully after windows has already started.

regards ocean

comment:2 Changed 4 years ago by rickygai

me too, having the same issues on XP host and Win7 guest.

Changed 4 years ago by rickygai

comment:3 in reply to: ↑ description Changed 4 years ago by rickygai

Hello,

I just solved the issues using pipe connection.

Here is the HOST spec:

Windows XP SP3 x86
3GB RAM
VirtualBox 3.1.4 r57640
Two Prolific USB-TO-RS232 converters (COM2,COM3).
COM2 created at pipe name: \.\pipe\com
WinDbg 6.11.0001.404 x86

COM2 and COM3 are physically connected with null modem cable, in my case, I specified to use Kernel Debugger at COM2, if you using COM1 from motherboard, you may specify using the following command:

bcdedit /dbgsettings serial debugport:1 baudrate:115200

COM2 and COM3 here are for me to debug application at User Mode since driver development often crashes the OS.

I hopes, these settings works permanently, as the serial port method I happened to successfully WinDbg once but after a while, same issues you encountered.

Hopes, this helps.

Changed 4 years ago by rickygai

comment:4 Changed 4 years ago by rickygai

Hello,

After few attempts, I noticed we can do Kernel Debugging without any physical serial ports involved by using named pipe methods.

You can write your old named pipe client and server applications from the following samples:

 http://www.codersource.net/win32/named-pipes/createnamedpipe-creating-named-pipe-server.aspx

 http://www.codersource.net/win32/named-pipes/named-pipe-client.aspx

VirtualBox will map serial port within Guest OS to assigned named pipe when you selected "Host Pipe" such as shown in the image:

virtualbox_assigning_named_pipe.jpg

Hopes, this give better solution :o)

comment:5 Changed 4 years ago by swolchok

Same issue, VirtualBox 3.2.8, Linux host. ACPI conflict with COM1 when Windows XP guest is booted with /debug and /debugport=COM1 . Guest does not halt and wait for WinDbg connection on boot as expected. A second Windows XP guest that I had intended to use to run WinDbg is able to detect COM1 and wait to connect and is not being booted in /debug mode.,

If it's relevant, I had to add COM1 manually to both guests, roughly as described at  http://forums.virtualbox.org/viewtopic.php?f=8&t=23956 . I am trying to use the "Host pipe" connection.

comment:6 Changed 3 years ago by swolchok

Still failing on VirtualBox 3.2.12. I bought two USB->serial adapters and connected them with a null modem adapter. Symptoms are the same despite the physical serial device; ACPI conflict with COM1 shown in Device Manager, and it doesn't seem to matter whether I set the serial port as COM1, COM2, COM3, etc.

comment:7 Changed 2 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Should be fixed in VBox 4.1 as we are announcing the COM ports in the ACPI tables now.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use