Page 1 of 1

USB devices with unprintable characters...

Posted: 11. Feb 2009, 17:09
by darpified
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.

I would presume that it has something to do with not being properly escaped out?
<USBController enabled="true" enabledEhci="true">
<DeviceFilter name="Canon,Inc.^A MF3110" active="true" vendorId="04A9" productId="2660"...


Anyhoo, 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.

If this is an unknown bug, please let me know so I can redirect it appropriately, or if any more details on how to reproduce it, the device string, yada-yada-yada.

Great software by the way.

Posted: 11. Feb 2009, 21:10
by darpified
More specific error message here...

Could not load the settings file '/home/rp/.VirtualBox/Machines/winxp/winxp.xml'.
PCDATA invalid Char value 1.
Location: '/home/rp/.VirtualBox/Machines/winxp/winxp.xml', line 36 (1), column 135.

Posted: 18. Feb 2009, 19:53
by Sasquatch
Did you also try to change the Identifier field (the one with the bogus character '^A') so it doesn't note that character, but does show the name of device itself, instead of removing the entire filter from the settings menu? That way, the device is shown properly in the Filter list.

I'd still file a bug report in the Bugtracker for this. It should filter these 'illegal' characters. You need a separate account for it though.

filter

Posted: 18. Feb 2009, 20:02
by darpified
I removed the fields containing the char's, leaving things like serial and device id.

Works without a hitch like that

If I just remove the offending char just from that field, it still doesn't id it.

will post a bugreport

>here
http://www.virtualbox.org/ticket/3383