VirtualBox

Opened 10 years ago

Last modified 4 years ago

#12648 closed defect

Using multiple virtual disks leads to timeouts and crash in client — at Initial Version

Reported by: wonko1953 Owned by:
Component: virtual disk Version: VirtualBox 4.3.6
Keywords: dma timeout Cc:
Guest type: BSD Host type: all

Description

When using multiple virtual disks, I inevitably get DMA timeouts in the client, eventually followed by the client freezing. The only escape then is to kill the client emulation process.

Environment

Host:

  • FreeBSD 9.2.0 amd64 running VirtualBox OSE 4.3.6 (from FreeBSD ports; however, the same behavior has happened for a very long time also with older VB releases) or alternatively
  • Windows 7 (but only tested a while ago with an older VB release showing the same problem)

Devices:

  • 7 raw devices are exported by the FreeBSD host, either attached directly (if VB runs on the FreeBSD host), or via iscsi (if VB runs on Windows 7)
  • 1 x 20 GB attached as IDE0:0 in the VB client
  • 6 x 896 GB attached as SATA0:1-6 in the VB client (the same happens if a SAS instead of an SATA controller is emulated)

Client:

  • FreeBSD 10.0.0 amd64, UFS on 20 GB device, zfs raidz2 on 6 x 896 GB devices. However, the same behavior has been seen with older FreeBSD releases in the client.

Symptoms

After some disk I/O, a DMA timeout is announced in the client OS. This cannot be recovered from. Using "Machine->Reset" from the Client Menu does not work any more. The client process must ultimately be killed.

No problem at all if only one emulated disk is used.

VBox.log

It seems that the following lines in the logfile hint at the problem:

00:32:14.790849 AIOMgr: I/O manager 0x0000080e8eb920 encountered a critical error (rc=VERR_FILE_AIO_NO_REQUEST) during operation. Falling back to failsafe mode. Expect reduced performance 00:32:14.790990 AIOMgr: Error happened in /usr/tmp/z/SRC/FreeBSD-ports/head/emulators/virtualbox-ose/work/VirtualBox-4.3.6/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:(1664){int pdmacFileAioMgrNormal(RTTHREADINT*, void*)}

Change History (0)

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use