Xpra: Ticket #254: 0.8.1 cannot attach properly with CentOS 5.7

Hello,

see log:

xpra attach tcp:host:5904 --password-file /tmp/password
xpra client version 0.8.1
2013-02-11 15:52:49,725 get_image(statistics.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,726 get_image(encoding.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,727 get_image(slider.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,728 get_image(speed.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,729 get_image(keyboard.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,787 get_image(retry.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,787 get_image(raise.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,788 get_image(quit.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,789 get_image(close.png, 24)
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/platform/client_extras_base.py", line 396, in get_image
AttributeError: 'module' object has no attribute 'image_new_from_pixbuf'
2013-02-11 15:52:49,819 failed to setup mmap: 'module' object has no attribute 'SEEK_SET'
2013-02-11 15:52:49,828 signal_safe_exec(['setxkbmap', '-query'],None) stdout=''
2013-02-11 15:52:49,828 signal_safe_exec(['setxkbmap', '-query'],None) stderr='Error!   Option "-query" not recognized
'
2013-02-11 15:52:49,828 '['setxkbmap', '-query']' failed with exit code 255
2013-02-11 15:52:49,828 the server will try to guess your keyboard mapping, which works reasonably well in most cases
2013-02-11 15:52:49,829 however, upgrading 'setxkbmap' to a version that supports the '-query' parameter is preferred
Traceback (most recent call last):
  File "/usr/bin/xpra", line 6, in ?
    sys.exit(xpra.scripts.main.main(__file__, sys.argv))
  File "/usr/lib64/python2.4/site-packages/xpra/scripts/main.py", line 543, in main
  File "/usr/lib64/python2.4/site-packages/xpra/scripts/main.py", line 786, in run_client
  File "/usr/lib64/python2.4/site-packages/xpra/client.py", line 210, in __init__
 File "/usr/lib64/python2.4/site-packages/xpra/client_base.py", line 99, in send_hello
  File "/usr/lib64/python2.4/site-packages/xpra/client.py", line 597, in make_hello
  File "/usr/lib64/python2.4/site-packages/xpra/client.py", line 1023, in get_screen_sizes
AttributeError: 'gtk.gdk.ScreenX11' object has no attribute 'get_monitor_plug_name'


Mon, 11 Feb 2013 17:48:56 GMT - Antoine Martin: status changed; owner set

CentOS 5.x uses (py)gtk 2.10.4 !!

This is not new either, this code has been present for a long time.. r2701 gets rid of most errors above, but then we hit another one (odd one too):

Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xpra/protocol.py", line 409, in _read_parse_thread_loop
  File "/usr/lib64/python2.4/site-packages/xpra/protocol.py", line 454, in do_read_parse_thread_loop
Exception: ("invalid packet header: ['P', '\\x01', '\\x01', '\\x00', '\\x00', '\\x00', '\\x03', '\\x1c']", <exceptions.AttributeError instance at 0x18cd8f80>)

This is very odd because the first character of the packet is the magic 'P' and the code that fires the "Invalid packet header" message looks like this:

if read_buffer[0] not in ["P", ord("P")]:
    return self._call_connection_lost("invalid packet header: "+
        "('%s...'), not an xpra client?" % read_buffer[:32])

Stumped.


Mon, 11 Feb 2013 17:51:03 GMT - Antoine Martin:

Never mind, there's another place where we fire "invalid packet header":

try:
    _, protocol_flags, compression_level, packet_index, data_size = \
         struct.unpack_from('!cBBBL', read_buffer)
except Exception, e:
    raise Exception("invalid packet header: %s" % list(read_buffer[:8]), e)

So.. looks like struct.unpack behaves differently on python2.4 / centos5.


Tue, 12 Feb 2013 06:05:53 GMT - Antoine Martin: status changed; resolution set

python2.4 / old gtk required many little changes: r2703, r2704, r2705, r2706, r2710, r2711, r2712, r2713

I will probably release 0.8.3 with only those fixes shortly.


Sat, 23 Jan 2021 04:49:43 GMT - migration script:

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