xpra icon
Bug tracker and wiki

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#96 closed defect (fixed)

Can't start firefox with Xpra

Reported by: ahuillet Owned by: Antoine Martin
Priority: major Milestone:
Component: server Version: 0.2.0
Keywords: Cc:

Description

Hello,

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']
get_modifier_mask()=['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
    self._manage_client(event.window)
  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__
    trap.call(setup_client)
  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>)

Change History (5)

comment:1 Changed 8 years ago by Antoine Martin

Status: newaccepted

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
    self._handle_property_change(mutable)
  File "/usr/lib64/python2.7/site-packages/wimpiggy/window.py", line 699, in _handle_property_change
    self._property_handlers[name](self)
  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

comment:2 Changed 8 years ago by Antoine Martin

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

comment:3 Changed 8 years ago by Antoine Martin

Resolution: fixed
Status: acceptedclosed

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

comment:4 Changed 8 years ago by Antoine Martin

Version: 0.1.00.2.0

related to #102

comment:5 Changed 8 years ago by Antoine Martin

Milestone: current

Milestone current deleted

Note: See TracTickets for help on using tickets.