Opened 13 years ago
Last modified 2 years ago
#9975 closed defect
Virtual HDD becomes unavailable for guest after a Canceled write is logged — at Version 11
| Reported by: | Ariel | Owned by: | |
|---|---|---|---|
| Component: | virtual disk | Version: | VirtualBox 4.1.6 |
| Keywords: | Cc: | ||
| Guest type: | Windows | Host type: | Linux |
Description (last modified by )
The guest is a Windows SBS Server 2008 with 2 virtual CPUs, 4 GB of virtual RAM and two virtual HDDs (C: with 40 GB and D: with 20 GB, both with lots of free space). This SBS server acts as an SBS primary server (i.e., AD controller); it has had its MS Exchange and MS SharePoint removed and an SQL Server 2008 has been installed (besides the SQL Server 2005 Express that comes with SBS and which cannot be removed). This is a supported configuration for SBS, even if it's a bit unusual. It has not been customized significantly yet because we were just testing feasibility. The guest is running the latest Guest Additions (matching the host's VirtualBox version).
The problem is the guest works fine... until it doesn't. When the problem appears, guest applications start hanging pretty fast. A few tests have shown that the problem is that the (virtual) C: drive has stopped responding, and appications die only when they try to access it. The failing drive can also be the D: drive instead. The guest system cannot be brought down in this situation: the only option is powering it off or waiting for the Windows kernel to bluescreen and reset.
When the guest system is hanged like that, one or several messages like this one can be seen in the Vbox.log file:
53:11:46.112 AHCI#0: Canceled write at offset 29189742592 (4096 bytes left) returned rc=VINF_SUCCESS
The return code, if that's what it is, is always VINF_SUCCESS. The offset and the amount of bytes left may vary.
Thinking it could be a problem with flushing I have tried setting:
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#0/Config/IgnoreFlush" 0
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#1/Config/IgnoreFlush" 0
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#0/Config/FlushInterval" 1000000
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#1/Config/FlushInterval" 1000000
And:
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#0/Config/IgnoreFlush" 0
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#1/Config/IgnoreFlush" 0
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#0/Config/FlushInterval" 1
VBoxManage setextradata "VM002" "VBoxInternal/Devices/ahci/0/LUN#1/Config/FlushInterval" 1
But both ended up failing with the same error.
The problem is not easily reproduceable. It sometimes fails several times in a row, then sometimes it works for a couple of days before failing again. It might be a VirtualBox bug somehow related to host load (but this server is nowhere near full utilization).
This problem has been found on an HP ML370 G6 dual Quad Xeon host with lots of RAM and 4 SAS 15000 RPM HDDs working in a RAID10 array. The host runs CentOS 5.7 and this host is, as you might guess, unusually fast. This host also runs another VirtualBox guest: it's a Windows Server 2008 R2 system that works fine and hasn't suffered from this problem (fingers crossed). This other guest runs under a different host user.
Change History (12)
by , 13 years ago
comment:1 by , 13 years ago
comment:2 by , 13 years ago
No, no messages in dmesg at that time, and nothing suspicious before that.
comment:3 by , 13 years ago
In case you're interested, I have a core dump of VBoxHeadless while the guest is locked up.
comment:4 by , 13 years ago
More info obtained through further testing:
The "Canceled write" messages sometimes appear a while before any symptom appears in the guest. Other times it happens simultaneously. On one occasion I left it hanged and the Windows guest showed a blue screen with error 0x1000009f. On a different occasion I had seen a different error code which I don't have at hand now, but I researched it at the time and it was clearly related to a "missing" C: drive.
comment:5 by , 13 years ago
This problem has now been confirmed with the same virtual machine on a different host (an HP ML110 G7 with SATA disks).
comment:6 by , 13 years ago
On only one occasion I got the following error message *after* all the "Canceled write" ones:
00:01:40.232 VRDP: shadowBufferOrder: pointer 00002aab91f36981/606183713 is out of range [00002aaab5f3b344; 00002aaab6150aa2) after op 7, 00002aaab5f3b364, 2185022
Also, a couple of times I saw the same guest symptoms while there had been no "Canceled write" messages in the log. I now think the canceled write messages may be just a symptom, but not near to the cause of the problem; they are just correlated to it.
I have a couple of snapshots where the problem arises soon almost every time upon doing some operation. Let me know if any of this is useful to you.
comment:7 by , 13 years ago
This bug is still present in VirtualBox 4.1.8 . Please let me know how I can help this get resolved. Thanks.
comment:8 by , 13 years ago
Try setting your HDD as an IDE drive rather than a SATA, I was having the same issue until I did so.
comment:9 by , 13 years ago
I'm hit by the same bug. Under Ubuntu 8.04 Linux 64bits, on 4.1.6 and 4.1.8 Virtualbox, suddently, AHCI was causing this error (was running ok for a long time). I had to switch to ide. The guest S.O. is Ubuntu 8.04 server.
On another server, where i have 8 VMs (all Windows XP Guest), i got hit by this bug randomnly on each of those VMs.
comment:10 by , 12 years ago
I am having issues similar to this, switching to IDE *seems* to resolve the issue.
comment:11 by , 12 years ago
| Description: | modified (diff) |
|---|
Then I assume that enabling the host I/O cache for the SATA controller would have the same effect (VM settings).


Did you see any messages in the host kernel log (dmesg) when this happens?