xpra crashes when talking to same version on trusty

Bug #1545296 reported by Marius Nuennerich
This bug report is a duplicate of:  Bug #1589336: version incompatibilities. Edit Remove
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xpra (Ubuntu)
Incomplete
Undecided
Rolf Leggewie

Bug Description

I'm trying xpra on Ubuntu 16.04 as of today.
It can't talk to the old version on 14.04, fine, I installed 0.15.8 from the upstream builds
on the old trusty machine (xpra server).
When I try to attach xpra from xenial (0.15.8 is in the repos) to trusty the client crashes and I see the following backtrace:
2016-02-13 15:26:24,032 xpra gtk2 client version 0.15.8 (r11211)
2016-02-13 15:26:24,350 PyOpenGL warning: missing accelerate module
2016-02-13 15:26:24,351 PyOpenGL warning: missing array format handlers: numpy, numeric, vbo, vbooffset
2016-02-13 15:26:24,351 OpenGL Version: 3.0 Mesa 11.1.1
2016-02-13 15:26:24,354 OpenGL enabled with Gallium 0.4 on AMD JUNIPER (DRM 2.43.0, LLVM 3.6.2)
2016-02-13 15:26:24,398 keyboard layouts: de,us
2016-02-13 15:26:24,552 detected keyboard: rules=evdev, model=pc105, layout=de,us
2016-02-13 15:26:24,554 desktop size is 1920x1200 with 1 screen(s):
2016-02-13 15:26:24,554 ':0.0' (508x317 mm - DPI: 96x96) workarea: 1920x1176 at 0x24
2016-02-13 15:26:24,554 DVI-0 (518x324 mm - DPI: 94x94)
2016-02-13 15:26:25,228 rencode import error: No module named rencode
2016-02-13 15:26:25,346 rencode import error: No module named rencode
2016-02-13 15:26:25,437 server: Linux Ubuntu 14.04 trusty, Xpra version 0.15.8 (r11227)
2016-02-13 15:26:25,443 Attached to ssh:foo@XXXXX:100 (press Control-C to detach)

Traceback (most recent call last):
  File "xpra/net/bencode/cython_bencode.pyx", line 180, in xpra.net.bencode.cython_bencode.bencode (xpra/net/bencode/cython_bencode.c:3825)
  File "xpra/net/bencode/cython_bencode.pyx", line 165, in xpra.net.bencode.cython_bencode.encode (xpra/net/bencode/cython_bencode.c:3550)
  File "xpra/net/bencode/cython_bencode.pyx", line 142, in xpra.net.bencode.cython_bencode.encode_list (xpra/net/bencode/cython_bencode.c:3170)
  File "xpra/net/bencode/cython_bencode.pyx", line 169, in xpra.net.bencode.cython_bencode.encode (xpra/net/bencode/cython_bencode.c:3618)
  File "xpra/net/bencode/cython_bencode.pyx", line 150, in xpra.net.bencode.cython_bencode.encode_dict (xpra/net/bencode/cython_bencode.c:3320)
  File "xpra/net/bencode/cython_bencode.pyx", line 173, in xpra.net.bencode.cython_bencode.encode (xpra/net/bencode/cython_bencode.c:3696)
ValueError: found None value!
2016-02-13 15:26:25,553 failed to encode packet: [45, 1, 0, 100, {'refresh-now': False, 'batch': {'reset': True}}, {'workspace': None}]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/net/protocol.py", line 484, in encode
    main_packet, proto_version = self._encoder(packet)
  File "/usr/lib/python2.7/dist-packages/xpra/net/packet_encoding.py", line 67, in do_bencode
    return bencode(data), 0
  File "xpra/net/bencode/cython_bencode.pyx", line 185, in xpra.net.bencode.cython_bencode.bencode (xpra/net/bencode/cython_bencode.c:3924)
ValueError: cannot encode '[45, 1, 0, 100, {'refresh-now': False, 'batch': {'reset': True}}, {'workspace': None}]'
2016-02-13 15:26:25,554 None value in 'buffer-refresh' packet->[5]->value for key='workspace'
2016-02-13 15:26:25,554 internal error: error in network packet write/format
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/net/protocol.py", line 274, in _write_format_thread_loop
    self._add_packet_to_queue(*self._get_packet_cb())
  File "/usr/lib/python2.7/dist-packages/xpra/net/protocol.py", line 284, in _add_packet_to_queue
    chunks, proto_flags = self.encode(packet)
  File "/usr/lib/python2.7/dist-packages/xpra/net/protocol.py", line 492, in encode
    raise e
ValueError: cannot encode '[45, 1, 0, 100, {'refresh-now': False, 'batch': {'reset': True}}, {'workspace': None}]'
2016-02-13 15:26:25,599 Connection lost

Apport does not start for some reason.
$ lsb_release -rd
Description: Ubuntu Xenial Xerus (development branch)
Release: 16.04

It works with the 0.14.34 xenial package from upstream which I have installed now:
$ apt-cache policy xpra
xpra:
  Installed: 0.14.34-1
  Candidate: 0.15.8+dfsg-1
  Version table:
     0.15.8+dfsg-1 500
        500 http://ie.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
 *** 0.14.34-1 100
        100 /var/lib/dpkg/status

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Installing xenial packages on a trusty machine is not supported.

Changed in xpra (Ubuntu):
status: New → Invalid
Revision history for this message
Rolf Leggewie (r0lf) wrote :

reopening, as I think you said that xenial xpra cannot talk to trusty xpra? That would indeed be a bug.

Changed in xpra (Ubuntu):
assignee: nobody → Rolf Leggewie (r0lf)
status: Invalid → Incomplete
Revision history for this message
Rolf Leggewie (r0lf) wrote :

Just out of curiousity, how did you manage to install xenial xpra on trusty? Did you recompile from source? Trusty cannot satisfy the runtime dependencies of the xenial xpra and quite likely you'd run into dependency trouble for the compile-time dependencies as well. I wouldn't be surprised you screwed up your system pretty well with the tinkering and thus the pain with xpra might be self-inflicted. I have only a trusty and jessie machines and those can talk to each other fine, FWIW.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

It seems like I totally misunderstood you. My bad, sorry.

You are connecting from a xenial box to a trusty box. That fails with the provided binaries, but succeeds if you downgrade the xenial to version 0.14.34-1. That's an odd number since it suggest a Debian release but according to their changelog they never release 0.14.34-1.

It seems that this problem is triggered by the addition of python-rencode to the runtime dependencies around version 0.15.0

Revision history for this message
Marius Nuennerich (mwrius) wrote :

You are right in #4.
I think I got 0.14.34 from upstreams website.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

The crash you are reporting does not concern Ubuntu. That's an error in the packaging of the upstream binary. Generally speaking, it is a very bad idea to install packages from outside repos. I have yet to see an upstream that gets packaging right. Certainly, when they package for about 20 different platforms like xpra does. Again, I advise you to stay away. But please, for heaven's sake, don't waste Ubuntu devs' time reporting bugs in those packages here.

That being said, I believe the error you encountered in upstream binary might be fixed by installing their python-rencode binaries as well.

The valid bug here is only that xpra xenial cannot talk to xpra trusty. I've seen that in jessie-backports to trusty as well. I believe the breakpoint is around version 0.15.0 where this python-rencode code came into play.

Revision history for this message
Antoine Martin (antoine-nagafix) wrote :

I can't let these falsehoods go unanswered, so here goes.

Bugs found in the xpra packages, including this one, do get fixed in very short order.
On the other hand, the Debian and Ubuntu packages have never received any updates. None.
Even when critical bug fixes or security issues have been found and fixed upstream. Fact. (we have a wiki page documenting this in great detail)

If you want to make claim that this is "an error in the packaging of the upstream binary", you should first make sure that this is the case.

The number one request we get on our support channels (IRC, tickets, ML) is from Ubuntu or Debian users complaining that something doesn't work right - the answer we always give, which has a success rate in the high 90s is to install the official packages from xpra.org.

Had Ubuntu and Debian packaged things properly (with rencode) and applied the dozens of fixes to the branch they split from, we wouldn't be having this ticket, and we would have saved hundreds of hours of support work at our end - not to mention the damage done to the image of the project.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Antoine, before you come here accusing others of falsehood, I suggest you learn how Ubuntu releases work.

It is by design that Ubuntu releases only get targetted bugfixes and not entire backports. When I looked at your "official" packages way back when they had numerous flaws from a packaging perspective but it has been a few years and I cannot recollect what they were. Given your lack of understanding of Ubuntu and Debian packaging policies and the sheer number of platforms that upstream xpra is attempting to package for it would be a miracle and an incredible amount of work if you got everything right.

I am quite certain that your "official" packages do not work (or rather did not work when I tested them) on older (by now unsupported) versions of Ubuntu.

In any case, you don't like people from Ubuntu and Debian releases go upstream and report bugs for code you released a few months or a year or two ago. Understandable. That is what this bug tracker is for, a Ubuntu bug tracker. At the same time, we at Ubuntu also do not like when people with "official" upstream packages come here and report problems. Neither of this is helpful. I am not sure you will understand this but it's simply the truth. If you want to run a distro and want support, you have to stick with the distro.

If a user wants later packages, use the latest Ubuntu release or a snap package (I just checked and apparently there is no xpra package in snap, there might be an app image, dunno, but https://xpra.org/trac/ticket/1748 suggest to me there isn't).

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Also. please read up on what Ubuntu Universe is (where xpra resides) and what kind of support promise it gets.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.