Opened 5 years ago
Closed 4 years ago
#19603 closed defect (fixed)
Serial communication through host device hangs guest since 6.1.8
Reported by: | eomanis | Owned by: | |
---|---|---|---|
Component: | uart | Version: | VirtualBox 6.1.8 |
Keywords: | serial hang freeze 6.1.8 | Cc: | |
Guest type: | Windows | Host type: | Linux |
Description
Host: Arch Linux, Kernel 5.6.13-arch1-1 x86_64
Guest: Windows XP SP3
The guest has a virtual serial port that is passed through to the host's physical serial port /dev/ttyS0. In the guest, a legacy application communicates through this virtual serial port. In particular, it retrieves data from an external device; this data transfer usually lasts about 1 minute.
With VirtualBox 6.1.8 installed on the host, and the VirtualBox Guest Additions 6.1.8 installed on the guest, the guest VM freezes a few seconds into the data transfer.
The guest window menu is still responsive, but trying to hard-close the guest using the menu with File -> Close... has no effect (the "Close Virtual Machine" dialog does not show). The hung guest machine can however be closed with SIGTERM.
With VirtualBox 6.1.6 on the host, and the VirtualBox Guest Additions 6.1.6 on the guest, the serial data transfer works as expected.
Change History (5)
comment:1 by , 5 years ago
comment:2 by , 5 years ago
I also confirm this issue:
Host: Windows 10 Pro 1909, with VB 6.1.8 installed
Guest1 (Development machine): Windows 10 Pro 2004
Guest2 (Test machine): Windows 10 Pro 2004
Both guests have VirtualBox Guest Additions 6.1.8 installed.
Using WinDbg to connect from Guest1 to Guest2 over a serial port connection using a pipe causes both Guest1 and and Guest2 to hang. Guest2 can be turned off, but Guest1 can only be aborted.
Restarting the host and reinstalling VirtualBox 6.1.6 resolves this problem, with no changes in settings.
Guest1 serial port settings:
Port number: COM1, Irq: 4, I/O Port: 0x3F8 Port mode: Host pipe [ ] Connect to existing pipe Path/Address: \\.\pipe\dbg
Guest2 serial port settings:
Port number: COM1, Irq: 4, I/O Port: 0x3F8 Port mode: Host pipe [x] Connect to existing pipe Path/Address: \\.\pipe\dbg
follow-up: 4 comment:3 by , 5 years ago
Please try the latest 6.1 test builds from here. We fixed a serial port related regression which didn't make it into 6.1.10 unfortunately. Feedback is greatly appreciated, thanks!
comment:4 by , 5 years ago
Replying to aeichner:
Please try the latest 6.1 test builds from here. We fixed a serial port related regression which didn't make it into 6.1.10 unfortunately. Feedback is greatly appreciated, thanks!
Sorry I did not get around to checking the test builds, but I would like to confirm that the issue is indeed fixed for me with VirtualBox 6.1.12.
Thank you for the fix, much appreciated.
I would also like to confirm this issue:
Host: Linux Mint 19.3
Guest: SUSE Linux Enterprise Server 11 (i586) \ Version 11 \ PatchLevel3
I do not have guest additions installed on the guest but in 6.1.6 and prior this did not matter. The serial port is enabled and mapped to the host to various serial ports (ttyUSB0, ttyS0, ttyACM0) and have always worked.
With 6.1.8 it does work somewhat, but as the OP said, it eventually freezes the guest VM and the guest window can become unresponsive, requiring a SIGTERM to exit.