VirtualBox

Ticket #15856 (closed defect: fixed)

Opened 11 months ago

Last modified 7 months ago

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

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

Description (last modified by frank) (diff)

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

comment:1 Changed 11 months ago by stzwil

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 r62602.

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.

Last edited 11 months ago by frank (previous) (diff)

comment:2 Changed 11 months ago by frank

  • Description modified (diff)

comment:3 Changed 11 months ago by klaus

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 Changed 11 months ago by jimf

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 Changed 10 months ago by frank

Fixed in VBox 5.1.6. Could you confirm?

comment:6 Changed 7 months ago by frank

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use