Xpra: Ticket #96: Can't start firefox with Xpra


when trying to start Firefox with Xpra it seems that the application starts, but nothing appears on the clients.

The server outputs the following:

Handshake complete; enabling connection
encoding set to x264, client supports ['png', 'jpeg', 'rgb24', 'x264'], server supports ['png', 'jpeg', 'rgb24', 'x264']
client supplied mmap_file=/tmp/xpra.NHu9hn.mmap, mmap supported=False
client resolution is [1280, 1024], current server resolution is 2048x2048
Queuing packet: ['hello', "{'version': '0.1.0', 'encoding': 'x264', 'desktop_"...]
setting key repeat rate from client: 200 / 20
make_keymask_match: ignored as keynames_for_mod not assigned yet
going to set modifiers, xkbmap_mod_meanings={'ISO_Level3_Shift': 'mod5', 'Mode_switch': 'mod5', 'Meta_L': 'mod1', 'Control_R': 'control', 'Super_R': 'mod4', 'Alt_R': 'mod1', 'Hyper_L': 'mod4', 'Alt_L': 'mod1', 'Num_Lock': 'mod2', 'Super_L': 'mod4', 'Shift_R': 'shift', 'Shift_L': 'shift', 'Control_L': 'control'}, len(xkbmap_keycodes)=392
keyname_for_mod={'control': ['Control_R', 'Control_L'], 'mod1': ['Meta_L', 'Alt_R', 'Alt_L'], 'mod2': ['Num_Lock'], 'mod4': ['Super_R', 'Hyper_L', 'Super_L'], 'mod5': ['ISO_Level3_Shift', 'Mode_switch'], 'shift': ['Shift_R', 'Shift_L']}
cursors=1, bell=1, notifications=1, clipboard=True
setting modifiers to ['mod2']
make_keymask_match(['mod2']) current mask: set(['mod2']), wanted: set(['mod2']), ignoring=None/None, keys_pressed={}
Queuing packet: ['cursor', '']
client has requested compression level=3
Queuing packet: ['set_deflate', '3']
Error parsing property _NET_WM_ICON (type icon); this may be a misbehaving application, or bug in Wimpiggy
  Data: '\x16\x00\x00\x00\x16\x00\x00\x00\x05\x0e\x8c\x00\x02\x05\x85\x00\x06$\xad\x00;Q\x80\x00d1\x04\x00i7\r\x00d6\x10\x00W\'\x06@b/\x08\x90\x7fT$\xc1\x91oE\xe5\x95uS\xf0\x8dkG\xda{P$\xb4^*\x03|^+\x06&h3\x03\x00iF\'\x00"/\x90\x00\x07&\x9f\x00\r+\x9b\x00\x00\x00\x83\x00\x04\x0c\x8a\x00\x01\x03\x83\x00\x06"\xab\x00;Q\x80\x00e2\x04\x00b2\x0b4b0\x0c\xb6\xa3r3\xff\xee\xd9z\xff\xff\xf9\xbc\xff\xff\xff\xec\xff\xff\xff\xf9\xff\xff\xff\xea\xff\xf5\xf0\xc8\xff\xc7\xb1r\xffvU3\xf2'[...?]
Traceback (most recent call last):
  File "/home/arthur/src/xpra/src/build/lib.linux-x86_64-2.7/wimpiggy/wm.py", line 311, in do_child_map_request_event
  File "/home/arthur/src/xpra/src/build/lib.linux-x86_64-2.7/wimpiggy/wm.py", line 252, in _manage_client
    win = WindowModel(self._root, gdkwindow)
  File "/home/arthur/src/xpra/src/build/lib.linux-x86_64-2.7/wimpiggy/window.py", line 523, in __init__
  File "/home/arthur/src/xpra/src/build/lib.linux-x86_64-2.7/wimpiggy/error.py", line 110, in call_unsynced
    return self._call(True, fun, args, kwargs)
  File "/home/arthur/src/xpra/src/build/lib.linux-x86_64-2.7/wimpiggy/error.py", line 105, in _call
    raise exc_type(exc_value, exc_traceback)
TypeError: (TypeError('initial_value must be unicode or None, not str',), <traceback object at 0x1fb1710>)

Thu, 29 Mar 2012 16:32:44 GMT - Antoine Martin: status changed

Hah, good catch. It's the gtk3 compatibility code that is causing this, the real exception (which is not shown...) is:

error reading initial property _NET_WM_ICON

It happens because of StringIO - whatever the new io.StringIO does different from the old StringIO.StringIO..

r649 prevents this error from making xpra not manage the window, it just continues without the icon. The root cause is unclear and I would rather not revert the StringIO change so this ticket should stay open until I can fix this:

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/wimpiggy/window.py", line 859, in _read_initial_properties
  File "/usr/lib64/python2.7/site-packages/wimpiggy/window.py", line 699, in _handle_property_change
  File "/usr/lib64/python2.7/site-packages/wimpiggy/window.py", line 769, in _handle_net_wm_icon
    surf = self.prop_get("_NET_WM_ICON", "icon")
  File "/usr/lib64/python2.7/site-packages/wimpiggy/window.py", line 534, in prop_get
    return prop_get(self.client_window, key, type, ignore_errors=ignore_errors)
  File "/usr/lib64/python2.7/site-packages/wimpiggy/prop.py", line 324, in prop_get
    return _prop_decode(target, type, data)
  File "/usr/lib64/python2.7/site-packages/wimpiggy/prop.py", line 281, in _prop_decode
    return _prop_decode_scalar(disp, type, data)
  File "/usr/lib64/python2.7/site-packages/wimpiggy/prop.py", line 285, in _prop_decode_scalar
    value = deserialize(disp, data)
  File "/usr/lib64/python2.7/site-packages/wimpiggy/prop.py", line 176, in NetWMIcons
    size_image = _read_image(disp, stream)
  File "/usr/lib64/python2.7/site-packages/wimpiggy/prop.py", line 155, in _read_image
    surf.get_data()[:] = bytes
TypeError: right operand length must match slice length

Tue, 03 Apr 2012 10:31:36 GMT - Antoine Martin:

The changeset that is likely to have caused this bug is r618:

Wed, 04 Apr 2012 06:13:35 GMT - Antoine Martin: status changed; resolution set

r697 fixes this by partially reverting the StringIO python3 compatibility changes.

Wed, 04 Apr 2012 13:21:53 GMT - Antoine Martin: version changed

related to #102

Fri, 04 May 2012 10:00:58 GMT - Antoine Martin: milestone deleted

Milestone current deleted

Sat, 23 Jan 2021 04:45:25 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/96