Ticket #2021 (closed defect: worksforme)

Opened 10 years ago

Last modified 9 years ago

VDI corruption (or file size limitation?)

Reported by: thaytan Owned by:
Priority: major Component: virtual disk
Version: VirtualBox 1.6.4 Keywords:
Cc: Guest type: Linux
Host type: Mac OS X


I have an Ubuntu Hardy VM image that I've been using for a few months, running in an OS/X host. After a reboot of the laptop yesterday, the VM started refusing to boot - getting about halfway through the boot process, and then reporting a cascade of ATA errors, that I'd call 'faulty hard drive' errors, except that they're coming from a VDI file and the host disk is fine. The error output brings the host to its knees with IO, and I typically have to kill the VM, since I can't get it to respond sufficiently to power off.

Attaching a VBox log from when it happens. In the log, it's reporting VERR_EOF when trying to access certain sectors of the VDI. In case it's relevant, the VDI image is at 15.5GB of a 20GB allocation.

I've just tried compacting the VDI, which worked through the image without any warnings or errors, and that seems to have allowed it to boot. Some of the files in the filesystem seem to be corrupted though (filled with 0 bytes). I'm not sure how to diagnose it further.


ubuntu-2008-08-28-10-00-22.log Download (60.1 KB) - added by thaytan 10 years ago.
VBox log of errors
VBoxErrors.jpg Download (89.2 KB) - added by thaytan 10 years ago.
Screenshot of ATA errors in linux guest

Change History

Changed 10 years ago by thaytan

VBox log of errors

Changed 10 years ago by thaytan

Screenshot of ATA errors in linux guest

comment:1 Changed 10 years ago by frank

Did you ensure that your host file system is actually error free, that is, did you run some kind of disk checking tool on the host? According to the error message in the VM log the VDI seems to be broken as VirtualBox tries to access some sector beyond of the end of the file.

comment:2 Changed 10 years ago by thaytan

I ran the OS/X diskutil checks over the host filesystem without finding any errors, and SMART status on the disk reports it as OK - so I'm comfortable that there's nothing wrong at the host level.

From the log, the disk is configured for a total of 41943040 sectors, but gets errors trying to read beyond sector 36753431 - which should be within the configured size of the disk (20gig).

Could it be a problem expanding the dynamically allocated VDI? There's plenty of space (42G free) on the host partition containing the VDI, so it's not an out of disk problem on the host if so.

comment:3 Changed 10 years ago by frank

(41943040 is 40GB) What partition type is that?

comment:4 Changed 10 years ago by thaytan

I figured they must be 512 byte sectors, since the virtual disk is configured for 20G.

It's hosted on a HFS+ partition, which supports files up to 260 bytes.

comment:5 Changed 9 years ago by klaus

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

This is apparently a not explainable case of image truncation. Compacting fixes the dangling block references, but that's not a complete fix of course.

VDI files can support up to 232-3 blocks of 1MiB each, i.e. almost 4PiB. The 512 byte sector size plays no role with VDI files, it's just the unit in which data gets read/written.

Without information what led to this situation there's not much we can do.

comment:6 Changed 9 years ago by thaytan

Understood. I'm also no longer running OS/X, so I won't be able to reproduce it.

Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use