Opened 16 years ago
Closed 14 years ago
#3383 closed defect (fixed)
unprintable characters in usb device strings crash VirtualBox (unable to read in Machines .xml files)
Reported by: | RP | Owned by: | |
---|---|---|---|
Component: | USB | Version: | VirtualBox 2.1.2 |
Keywords: | usb unprintable | Cc: | |
Guest type: | other | Host type: | other |
Description
On my Linux host (8.10), I have attached a Canon USB MF3110 printer and VirtualBox recognizes it without a hitch, however, when I add a device filter for the guest OS (windows XP), then try to restart the guest it crashes and is unable to recognize the VM. Giving this error message
Assertion failed at '/home/vbox/vbox-2.1.2/src/VBox/Main/MachineImpl.cpp' (6034) in nsresult Machine::saveSettings(int). Unexpected exception 'N3xml8XmlErrorE' (PCDATA invalid Char value 1. Location: '/home/rp/.VirtualBox/Machines/winxp/winxp.xml', line 36 (1), column 135). Please contact the product vendor!. Result Code: NS_ERROR_FAILURE (0x80004005) Component: VirtualBox Interface: IVirtualBox {339abca2-f47a-4302-87f5-7bc324e6bbde} Callee: IMachine {ea6fb7ea-1993-4642-b113-f29eb39e0df0}
I searched through the bug reports but was unable to find anything relevant.
The issue is this unprintable character '^A'
inside the USB device name, comes out as a little square box whenever I select the printer manually, but crashes whenever it tries to read in the virtualmachine file.
As soon as I manually edit the device filter out, it comes right back up happy as punch.
Here is the relevant text from my machines.xml file.
<USBController enabled="true" enabledEhci="true"> <DeviceFilter name="Canon,Inc.^A MF3110" active="true" vendorId="04A9" productId="2660"...
I'm creating this device filter via the VirtualBox GUI, and selecting the USB printer from the picklist.
Note, the printer works perfectly fine, I just can't use it inside a device filter by selecting it from the GUI.
If I go in and manually create a filter with enough of the matching details (serial number, device id, etc...) the filter works as expected.
Should be fixed with VBox 3.2.12 / 4.0 or a bit earlier.