VirtualBox

Opened 6 years ago

Closed 6 years ago

#17431 closed defect (invalid)

vmdk stops working when upgrading 5.1.30 -> 5.2.4 (Error ID: DrvVD_DISKFULL)

Reported by: Mikael Djurfeldt Owned by:
Component: virtual disk Version: VirtualBox 5.2.4
Keywords: rawdisk vmdk DrvVD_DISKFULL Cc:
Guest type: Linux Host type: Windows

Description

When upgrading to version 5.2 (all versions up to and including 5.2.4, my virtual disk has stopped working. The machine is paused at startup and yields the error message below (Error ID: DrvVD_DISKFULL). If I resume the machine, it seems to run sluggishly and never boots.

I attach a log and my vmdk file (which uses the raw disk). Note that this file has worked perfectly for many versions of VirtualBox up until and including 5.1.30.

If I go into settings in VirtualBox manager and look at "Storage", it says:

Virtual Size: 476.94 GB Actual Size: 1.86 TB

which I find strange...

Error message:

An error has occurred during virtual machine execution! The error details are shown below. You may try to correct the error and resume the virtual machine execution.

Host system reported disk full. VM execution is suspended. You can resume after freeing some space.

Error ID: DrvVD_DISKFULL Severity: Non-Fatal Error

Attachments (3)

Linux-2018-01-08-13-56-00.log (117.8 KB ) - added by Mikael Djurfeldt 6 years ago.
disk0.vmdk (806 bytes ) - added by Mikael Djurfeldt 6 years ago.
nvme0n1.fdisk (696 bytes ) - added by Mikael Djurfeldt 6 years ago.
Output of fdisk

Download all attachments as: .zip

Change History (15)

by Mikael Djurfeldt, 6 years ago

by Mikael Djurfeldt, 6 years ago

Attachment: disk0.vmdk added

comment:1 by Socratis, 6 years ago

From https://www.virtualbox.org/svn/vbox/trunk/src/VBox/Devices/Storage/DrvVD.cpp and your VBox.log, the error seems to be straight forward:

00:00:04.405149 Console: VM runtime error: fatal=false, errorID=DrvVD_DISKFULL message="Host system reported disk full. VM execution is suspended. You can resume after freeing some space"

I'm not too good at reading VMDK files, but are you using your boot disk as a raw access disk on your VM? I don't like all the "\\.\PhysicalDrive0" references.

BTW, if you downgrade to 5.1.30, does the issue gets "fixed"?

comment:2 by Mikael Djurfeldt, 6 years ago

Yes, I'm using my only laptop disk as a raw disk and yes, downgrading "fixes" the problem. The error message is wrong since disk full is an error condition of a file system while I use raw disk access.

comment:3 by Mikael Djurfeldt, 6 years ago

The problem remains in 5.2.18.

comment:4 by aeichner, 6 years ago

Can you please give the full partition layout (fdisk print output forthe used raw disk) and the VBoxManage command used to create the matching raw disk VMDK? I tried to reproduce this issue with a simple layout but this doesn't show any misbehavior so far.

by Mikael Djurfeldt, 6 years ago

Attachment: nvme0n1.fdisk added

Output of fdisk

in reply to:  4 ; comment:5 by Mikael Djurfeldt, 6 years ago

Replying to aeichner:

Can you please give the full partition layout (fdisk print output forthe used raw disk) and the VBoxManage command used to create the matching raw disk VMDK? I tried to reproduce this issue with a simple layout but this doesn't show any misbehavior so far.

Many thanks for responding to this ticket! It has gone so long time that I tend to check this rather irregularly (is there a way to get an email message when the ticket is modified?).

I have attached to this ticket the output of fdisk.

The command I used was:

VBoxManage internalcommands createrawvmdk -filename disk.vmdk -rawdisk /dev/nvme0n1

(/dev/nvme0n1 is the whole disk while /dev/nvme0n1p1 etc are the partitions.)

I then edited the vmdk file according to what I originally attached to this ticket.

in reply to:  5 ; comment:6 by janitor, 6 years ago

Replying to mdjurfeldt:

is there a way to get an email message when the ticket is modified?

Make sure you have valid e-mail address and enable e-mail notifications in preferences.

in reply to:  6 ; comment:8 by Mikael Djurfeldt, 6 years ago

Replying to janitor:

Replying to mdjurfeldt:

is there a way to get an email message when the ticket is modified?

Make sure you have valid e-mail address and enable e-mail notifications in preferences.

Sorry if I'm being clueless here, but in the preferences in the upper right corner of the bugtracker, there *is* a way to specify your email address but I don't find an option of enabling email notification under any of the tabs. (I am logged in.)

in reply to:  8 comment:9 by Mikael Djurfeldt, 6 years ago

Replying to mdjurfeldt:

Replying to janitor:

Replying to mdjurfeldt:

is there a way to get an email message when the ticket is modified?

Make sure you have valid e-mail address and enable e-mail notifications in preferences.

Sorry if I'm being clueless here, but in the preferences in the upper right corner of the bugtracker, there *is* a way to specify your email address but I don't find an option of enabling email notification under any of the tabs. (I am logged in.)

Ah... apparently it was sufficient to specify an email address there. Thanks.

comment:10 by Mikael Djurfeldt, 6 years ago

I can now report that I have found a "solution" to this problem. As I have understood the fourth argument of the vmdk directive RW, it indicates the offset of the disk slice being described. So, in the statement:

RW 34 FLAT "disk0-pt2.bin" 1000215182

in my disk0.vmdk file, 1000215182 indicates that this slice represents a segment of the virtual disk starting at sector 100215182 (which is correct, btw).

This interpretation of the fourth argument of RW is consistent with the earlier lines in the file, but, for mysterious reasons, if this fourth argument is changed to 63 in the last line, version 5.2.18 does *not* anylonger produce a DrvVD_DISKFULL error message and I can start using VirtualBox 5.2.18.

So, I guess you can close this ticket. It's just that 1. it would still be interesting to understand what is going on here. Why should I specify 63 there and not the offset of the slice? And, 2. it would be nice to get an error message that points to the actual problem so that it is easier to find.

comment:11 by Mikael Djurfeldt, 6 years ago

This was a user error. I misunderstood the offsets (fourth argument) as destination offsets while they are, in fact, source offsets. Mystery solved. Please close.

in reply to:  11 comment:12 by janitor, 6 years ago

Resolution: invalid
Status: newclosed

Replying to mdjurfeldt:

This was a user error. I misunderstood the offsets (fourth argument) as destination offsets while they are, in fact, source offsets. Mystery solved. Please close.

Thanks for the update.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use