VirtualBox

Opened 8 years ago

Closed 7 years ago

#15856 closed defect (fixed)

Importing vApp returns "Failed to open/interpret appliance."

Reported by: ckwoedy Owned by:
Component: other Version: VirtualBox 5.1.4
Keywords: import Cc:
Guest type: Linux Host type: other

Description (last modified by Frank Mehnert)

When attempting to import the SAS University Edition virtual application, VirtualBox 5.1.4 and test case 5.1.5 both return the following import error.

Failed to open/interpret appliance .

Error in (line 71) -- Required Machine/@version attribute is missing.

F:\tinderbox\win-rel\out\win.amd64\release\obj\VBoxAPIWrap\ApplianceWrap.cpp[387] (long __cdecl ApplianceWrap::Interpret(void)).

Result Code: 	E_FAIL (0x80004005)
Component: 	ApplianceWrap
Interface: 	IAppliance {8398f026-4add-4474-5bc3-2f9f2140b23e}

Change History (6)

comment:1 by stzwil, 8 years ago

This is similar to #15623. The OVF is here:

https://gist.github.com/anonymous/f2f7da7638b7cf81a47a127d64662844

Line 71 looks like this:

 <vbox:Machine ovf:required="false" uuid="{00000000-0000-4000-8000-000000000000}" name="SAS University Edition">

and it is missing the version attribute. I think this was due to commit 62602, see:

https://www.virtualbox.org/changeset/62602/vbox

Is the version attribute a requirement? If I'm understanding right, requirement for version attribute would be here:

https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Main/xml/VirtualBox-settings.xsd

but I don't see it.

Version 3, edited 8 years ago by Frank Mehnert (previous) (next) (diff)

comment:2 by Frank Mehnert, 8 years ago

Description: modified (diff)

comment:3 by Klaus Espenlaub, 8 years ago

The version attribute requirement didn't use to exist (VirtualBox always wrote it for OVF files, but on reading used to ignore it completely, which wasn't intentional), but with the release of VirtualBox 5.1 it became necessary. 5.1 uses significantly different settings defaults (in many ways the defaults which should've been in place since day 1, but like for all software which evolves not every decision is perfect straight away). Without the version it's not possible to decide if the old or new defaults are applicable.

The XSD file is meant to describe the valid settings tags/attributes accurately (without using it routinely for validation), but in this case it can't help: the <vbox:Machine> tag in the OVF file is special. In the normal settings (and that's what the XSD file describes) it doesn't have a version attribute, because that's what gets handled by <VirtualBox>, but that tag isn't present because it would drag in unnecessary things like the medium registry and others.

At the moment we're considering the options... there's a chance that we're loosening the "required" status again by introducing a default value, which most likely will be "1.15", which indicates that the defaults of 5.0 (and older) will be used.

comment:4 by jimf, 8 years ago

We have literally thousands of images in the field that will be broken by this change if our users update their VirtualBox software. I will add the version attribute to future versions of our software but that won't prevent the breakage for existing customers. An update to VirtualBox that assumes a suitable default version, like "1.15" when the version attribute is omitted, would be highly desirable. I would speculate that many other products and users are in the same situation.

comment:5 by Frank Mehnert, 8 years ago

Fixed in VBox 5.1.6. Could you confirm?

comment:6 by Frank Mehnert, 7 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use