Xpra: Ticket #2247: Second session start fails

With both client and server newly restarted, the command

xpra start ssh/whirligig --start="gnome-terminal --window-with-profile=Blue" --start=emacs &

starts up normally with terminal and emacs windows as expected. The command

xpra stop ssh/whirligig

appears to close the session normally.

However, repeating the same xpra start command now produces only the X frame of a terminal window on the client, with nothing inside it except a view of the display background. It does not respond to key presses or mouse clicks. No error messages appear. There seems to be an active connection between client and server. The only way to recover seems to be to reboot at least the client and maybe the server too.

Server is Ubuntu 18.04, xpra version v2.5-r22135 Client is Ubuntu 16.04, xpra version v2.5-r22149

The log file contains

2019-04-02 14:33:23,931 cannot access python uinput module:
2019-04-02 14:33:23,931  No module named uinput
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
Failed to rename log file "/run/user/1013/xpra/Xorg.S3555.log" to "/run/user/1013/xpra/Xorg.S3555.log": No such file or directory
X.Org X Server 1.19.6
Release Date: 2017-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-138-generic x86_64 Ubuntu
Current Operating System: Linux whirligig 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-46-generic root=UUID=9dce415d-62a7-423d-9e8b-7547ab58868b ro net.ifnames=0 biosdevname=0 quiet splash vt.handoff=1
Build Date: 25 October 2018  04:11:27PM
xorg-server 2:1.19.6-1ubuntu4.2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.34.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/run/user/1013/xpra/Xorg.S3555.log", Time: Tue Apr  2 14:33:23 2019
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
2019-04-02 14:33:26,794 created unix domain socket: /run/user/1013/xpra/whirligig-2
2019-04-02 14:33:26,794 created unix domain socket: /run/xpra/whirligig-2
2019-04-02 14:33:26,840 pointer device emulation using XTest
2019-04-02 14:33:26,847 serving html content from: /usr/share/xpra/www
2019-04-02 14:33:27,596  OpenGL is supported on display ':2'
2019-04-02 14:33:27,596  using 'llvmpipe (LLVM 7.0, 256 bits)' renderer
2019-04-02 14:33:27,627 D-Bus notification forwarding is available
2019-04-02 14:33:27,706 Warning: webcam forwarding is disabled
2019-04-02 14:33:27,706  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2019-04-02 14:33:27,706  make sure that the 'v4l2loopback' kernel module is installed and loaded
2019-04-02 14:33:27,706 found 0 virtual video devices for webcam forwarding
2019-04-02 14:33:27,712 pulseaudio server started with pid 3652
2019-04-02 14:33:27,712  private server socket path:
2019-04-02 14:33:27,712  '/run/user/1013/xpra/pulse-2/pulse/native'
2019-04-02 14:33:28,373 GStreamer version 1.14.1 for Python 2.7.15 64-bit
2019-04-02 14:33:28,392 xpra GTK2 X11 version 2.5-r22135 64-bit
2019-04-02 14:33:28,392  uid=1013 (ajs1), gid=1013 (ajs1-group)
2019-04-02 14:33:28,392  running with pid 3572 on Linux Ubuntu 18.04 bionic
2019-04-02 14:33:28,392  connected to X11 display :2 with 24 bit colors
2019-04-02 14:33:28,461 failed to connect to avahi's dbus interface: org.freedesktop.systemd1.NoSuchUnit: Unit dbus-org.freedesktop.Avahi.service not found.
2019-04-02 14:33:28,461  to avoid this warning, disable mdns support
2019-04-02 14:33:28,461  using the 'mdns=no' option
2019-04-02 14:33:28,461 xpra is ready.
2019-04-02 14:33:29,295 New unix-domain connection received on /run/xpra/whirligig-2
2019-04-02 14:33:29,462 New unix-domain connection received on /run/user/1013/xpra/whirligig-2
2019-04-02 14:33:29,463 New unix-domain connection received on /run/xpra/whirligig-2
2019-04-02 14:33:29,618 New unix-domain connection received on /run/xpra/whirligig-2
2019-04-02 14:33:29,620 Handshake complete; enabling connection
2019-04-02 14:33:29,735  automatic picture encoding enabled, also available:
2019-04-02 14:33:29,735   png, png/P, png/L, webp, rgb24, rgb32, jpeg
2019-04-02 14:33:29,735 Python/GTK2 Linux Ubuntu 16.04 xenial x11 client version 2.5-r22149 64-bit
2019-04-02 14:33:29,735  connected from 'Redwing' as 'ajs1' - 'Anthony Stone'
2019-04-02 14:33:29,801 setting key repeat rate from client: 500ms delay / 30ms interval
2019-04-02 14:33:29,802 setting keymap: rules=evdev, model=hpi6, layout=gb,us
2019-04-02 14:33:29,814 setting keyboard layout to 'gb,us'
2019-04-02 14:33:29,831 waiting for video encoders initialization
2019-04-02 14:33:30,397 printer forwarding enabled using postscript and pdf
2019-04-02 14:33:30,403 15.5GB of system memory
2019-04-02 14:33:30,445  client root window size is 1920x1080 with 1 display:
2019-04-02 14:33:30,446   :0.0 (508x285 mm - DPI: 96x96) workarea: 1867x1056 at 53x24
2019-04-02 14:33:30,446     monitor 2 (521x293 mm - DPI: 93x93)
2019-04-02 14:33:30,479 server virtual display now set to 1920x1080
2019-04-02 14:33:30,488 DPI set to 96 x 96
2019-04-02 14:33:30,567 client @10.738 Xpra GTK2 X11 server version 2.5-r22135 64-bit
2019-04-02 14:33:30,567 client @10.739  running on Linux Ubuntu 18.04 bionic
Gtk-Message: 14:33:30.589: Failed to load module "canberra-gtk-module"
2019-04-02 14:33:30,665 client @10.843 server does not support xi input devices
2019-04-02 14:33:30,666 client @10.843  server uses: xtest
2019-04-02 14:52:01,232 Warning: not adding duplicate printer 'Canon_MP620_series__00_00_85_e9_76_6f_'


Tue, 02 Apr 2019 14:27:53 GMT - Antoine Martin: owner, component, description changed; milestone set

Is this a regression? Does this only affect gnome-terminal? Can you reproduce with an xterm? What is the client output? Do you have opengl enabled? (can you try toggling it?) Can you try the python3 client? (package name is python3-xpra)


Tue, 02 Apr 2019 15:27:36 GMT - Anthony Stone:

Is this a regression?: sorry, don't understand the question.

It does appear to affect only gnome-terminal -- using xterm instead works normally. (But I prefer to use gnome-terminal.)

Client output for the gnome-terminal case is below.

Opengl is enabled (see output below). Toggling it off in the gnome-client case fills the terminal window with a white background, but still unresponsive. Toggling it on again removes the white background leaving a clear view of display background and any other windows behind.

I haven't tried the python3 client yet.

$ xpra start ssh/whirligig --start="gnome-terminal --window-with-profile=Blue" --start=emacs &
[1] 10888
16:08:30 $ 2019-04-02 16:08:30,925 Xpra GTK2 client version 2.5-r22149 64-bit
2019-04-02 16:08:30,925  running on Linux Ubuntu 16.04 xenial
2019-04-02 16:08:30,926  window manager is 'Compiz'
2019-04-02 16:08:30,934 Warning: failed to import opencv:
2019-04-02 16:08:30,934  No module named cv2
2019-04-02 16:08:30,934  webcam forwarding is disabled
2019-04-02 16:08:31,503 GStreamer version 1.8.3 for Python 2.7.12 64-bit
2019-04-02 16:08:31,552 OpenGL_accelerate module loaded
2019-04-02 16:08:31,556 Using accelerated ArrayDatatype
2019-04-02 16:08:31,688 OpenGL enabled with Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2)
2019-04-02 16:08:31,847  keyboard settings: rules=evdev, model=hpi6, layout=gb,us
2019-04-02 16:08:31,850  desktop size is 1920x1080 with 1 screen:
2019-04-02 16:08:31,850   :0.0 (508x285 mm - DPI: 96x96) workarea: 1867x1056 at 53x24
2019-04-02 16:08:31,850     monitor 2 (521x293 mm - DPI: 93x93)
2019-04-02 16:08:31,874 Warning: invalid frame extents value '[0, 0, 0, 0, 0, 0, 28, 0]'
2019-04-02 16:08:31,874  this is probably a bug in 'Compiz'
2019-04-02 16:08:31,874  using '[0, 0, 28, 0]' instead
Entering daemon mode; any further errors will be reported to:
  /run/user/1013/xpra/S10248.log
Actual display used: :4
Actual log file name is now: /run/user/1013/xpra/:4.log
2019-04-02 16:08:41,933 enabled remote logging
2019-04-02 16:08:41,933 Xpra GTK2 X11 server version 2.5-r22135 64-bit
2019-04-02 16:08:41,933  running on Linux Ubuntu 18.04 bionic
2019-04-02 16:08:42,038 server does not support xi input devices
2019-04-02 16:08:42,038  server uses: xtest
2019-04-02 16:08:42,521 sound output using pulseaudio device:
2019-04-02 16:08:42,521 sound output  'Built-in Audio Analogue Stereo'
2019-04-02 16:08:43,036 sound output using 'opus' audio codec

Wed, 03 Apr 2019 12:11:23 GMT - Antoine Martin:

Is this a regression?: sorry, don't understand the question.

Is this a new bug in version 2.5 or did it also occur with older versions?

I've just tried it in VMs and it worked OK though there were some repaint issues with the gnome-terminal window - though I suspect those are caused by the 3D acceleration in virtualbox. Maybe r22236 + r22248 helps? Can you try the latest https://xpra.org/beta 3.0 builds?

If that doesn't help, can you post the client -d window,draw,paint log output - as brief as you can make it whilst still exhibiting the problem.


Wed, 03 Apr 2019 15:20:48 GMT - Anthony Stone:

Is this a regression? No, it is a new bug in 2.5.

I notice that if I ssh to the server after stopping an xpra session that uses gnome-terminal, there are half a dozen or so xpra-related processes still lying around. If I kill them all I can then start a new session normally with gnome-terminal, but it starts with a new display number. If I stop a session that was started with xterm, there are no xpra-related processes left lying around. So it seems that for some reason xpra isn't cleaning up properly after a gnome-terminal session.

I would need assistance from local support to apply the suggested changesets or to install the beta, so I haven't tried those yet.


Wed, 03 Apr 2019 15:23:24 GMT - Antoine Martin:

there are half a dozen or so xpra-related processes still lying around

What are those? Can you give us the list? What state are they in? Xpra should only have one process, the server, and potentially one extra process per client for audio forwarding. If you find more than that, chances are that they are not xpra's.


Wed, 03 Apr 2019 16:06:32 GMT - Anthony Stone:

My previous comment was mistaken, sorry. If a session using gnome-terminal is successfully stopped, the xpra-related processes are cleaned up. It's only after such a session has failed to start up properly that they are present. Maybe they should be there, in which case this is a red herring, for which apologies. They are the following:

$ ps -ef | grep xpra
ajs1      3666     1  0 16:49 ?        00:00:00 sh -c xpra initenv;if [ -x $XDG_RUNTIME_DIR/xpra/run-xpra ]; then $XDG_RUNTIME_DIR/xpra/run-xpra _proxy_start "--start=gnome-terminal --window-with-profile=Blue" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif which "xpra" > /dev/null 2>&1; then xpra _proxy_start "--start=gnome-terminal --window-with-profile=Blue" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif [ -x /usr/local/bin/xpra ]; then /usr/local/bin/xpra _proxy_start "--start=gnome-terminal --window-with-profile=Blue" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";elif [ -x ~/.xpra/run-xpra ]; then ~/.xpra/run-xpra _proxy_start "--start=gnome-terminal --window-with-profile=Blue" "--encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2";else echo "no run-xpra command found"; exit 1; fi
ajs1      3683  3666  0 16:49 ?        00:00:00 /usr/bin/python2 /usr/bin/xpra _proxy_start --start=gnome-terminal --window-with-profile=Blue --encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/P,png/L,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2
ajs1      3717     1  0 16:49 ?        00:00:01 /usr/bin/python2 /usr/bin/xpra start --start=gnome-terminal --window-with-profile=Blue --encodings=h264,vp9,vp8,mpeg4,mpeg4+mp4,h264+mp4,vp8+webm,vp9+webm,png,png/p,png/l,webp,rgb,rgb24,rgb32,jpeg,h265,jpeg2000,mpeg1,mpeg2 --env=XPRA_PROXY_START_UUID=003cea14e37d429487b2b642ceee8e97 --daemon=yes --systemd-run=no --displayfd=5
ajs1      3719  3717  0 16:49 ?        00:00:02 /usr/lib/xorg/Xorg-for-Xpra-S3700 -noreset -novtswitch -nolisten tcp +extension GLX +extension RANDR +extension RENDER -auth /home/ajs1/.Xauthority -logfile /run/user/1013/xpra/Xorg.S3700.log -configdir /run/user/1013/xpra/xorg.conf.d/3717 -config /etc/xpra/xorg.conf -depth 24 -displayfd 9
ajs1      3797  3717  0 16:49 ?        00:00:00 pulseaudio --start -n --daemonize=false --system=false --exit-idle-time=-1 --load=module-suspend-on-idle --load=module-null-sink sink_name="Xpra-Speaker" sink_properties=device.description="Xpra\ Speaker" --load=module-null-sink sink_name="Xpra-Microphone" sink_properties=device.description="Xpra\ Microphone" --load=module-native-protocol-unix socket=/run/user/1013/xpra/pulse-1/pulse/native --load=module-dbus-protocol --load=module-x11-publish --log-level=2 --log-target=stderr --enable-memfd=no
ajs1      4238  1922  0 16:55 pts/0    00:00:00 grep xpra

Wed, 03 Apr 2019 16:33:46 GMT - Antoine Martin:

Ah, you're right, there are extra ones when starting via ssh:

All of those should be stopped when you run xpra stop. If they are not, is the session still visible from xpra list? (if not, you can kill the xpra start and they should all go away)


Wed, 03 Apr 2019 16:51:24 GMT - Anthony Stone:

When I run xpra stop, the session disappears from xpra list, eventually, but those processes are still present. If I kill xpra start on the client they don't go away. If I start a new session, it starts up with a new display number, even though xpra list finds no sessions.


Thu, 04 Apr 2019 02:28:59 GMT - Antoine Martin:

If I kill xpra start on the client they don't go away

You have to kill xpra start on the server.

This ticket reminds me of #2131


Thu, 04 Apr 2019 08:43:42 GMT - Anthony Stone:

I have killed xpra start processes on the server (3 of them) but some xpra-related processes remain (e.g. 3 pulseaudio processes).

The suggested r22236 + r22248 changesets relate to python3-xpra. At the moment I'm still using python2-xpra. I have python3-xpra installed on the client; do I need it on the server too? How do I invoke it? Is it enough to make /usr/bin/python point to python3? That would lead to problems on the server, which runs some background processes that expect to use python2.


Thu, 04 Apr 2019 10:53:09 GMT - Antoine Martin:

The suggested r22236 + r22248 changesets relate to python3-xpra.

Right, forgot about that.

How do I invoke it?

python3 /usr/bin/xpra ...

Or just uninstall python2-xpra and the /usr/bin/xpra script should pick up the python3 variant automatically.


Thu, 04 Apr 2019 10:54:04 GMT - Antoine Martin:

some xpra-related processes remain (e.g. 3 pulseaudio processes).

You can just kill those. This only happens when xpra fails to shutdown cleanly, or when using xpra exit. So there is definitely something wrong here.


Thu, 04 Apr 2019 11:30:36 GMT - Anthony Stone:

OK, using python3 /usr/bin/xpra ... on the client, the problem is still there, but I get a fleeting error window that says, before it disappears,

OpenGL acceleration failure
No module OpenGL.raw.GLX_types

This may have appeared with python2-xpra, but I think I would have noticed it even though it flashes up only briefly.

Does using python3-xpra on the client automatically pick up python3-xpra on the server?


Thu, 04 Apr 2019 11:49:33 GMT - Antoine Martin:

This may have appeared with python2-xpra, but I think I would have noticed it even though it flashes up only briefly.

This error doesn't occur with the python2 builds, it only occurs on Ubuntu 16.04 with the python3 builds: Ubuntu's package of the python-opengl bindings is just too old and buggy.

Does using python3-xpra on the client automatically pick up python3-xpra on the server?

No. The server will use whatever is installed, and python2 if both are installed. (this will change in version 3: python3 will become the default)

So you will need to uninstall python2-xpra on the server, or start the session directly from a server terminal session (rather than using xpra start ssh...)


Thu, 04 Apr 2019 13:48:28 GMT - Anthony Stone:

I hoped that I'd found a clue. So, back to python2-xpra for now. Here's the last part of the client output from

xpra -d window,draw,paint start ssh/whirligig --start="gnome-terminal" &

I hope you can find some clues there -- I don't see any error messages, but the line at 2019-04-04 14:30:36,444 looks odd.

2019-04-04 14:30:27,037 gl_init() done
2019-04-04 14:30:27,037 RGBX update at (0,0) size 50x50 (10000 bytes), using GL zerocopy:bytes-as-memoryview format=RGBA / UNSIGNED_BYTE to internal format=RGB8
2019-04-04 14:30:27,037 set_alignment(50, 200, u'RGBX') GL_UNPACK_ROW_LENGTH=0, GL_UNPACK_ALIGNMENT=8
2019-04-04 14:30:27,042 paint_callback(True, )
2019-04-04 14:30:27,042 present_fbo: adding (0, 0, 50, 50) to pending paint list (size=0), flush=0, paint_screen=False
2019-04-04 14:30:27,043 test_gl_client_window(..) draw_result={'message': '', 'success': True}
2019-04-04 14:30:27,043 OpenGL enabled with Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2)
2019-04-04 14:30:27,205 sendClientMessage(0x154, 0x5a0002b, 0x0, 0x180000, _NET_REQUEST_FRAME_EXTENTS, 0, 0, 0, 0, 0)
2019-04-04 14:30:27,211  keyboard settings: rules=evdev, model=hpi6, layout=gb,us
2019-04-04 14:30:27,218  desktop size is 1920x1080 with 1 screen:
2019-04-04 14:30:27,219   :0.0 (508x285 mm - DPI: 96x96) workarea: 1867x1056 at 53x24
2019-04-04 14:30:27,219     monitor 2 (521x293 mm - DPI: 93x93)
2019-04-04 14:30:27,259 Warning: invalid frame extents value '[0, 0, 0, 0, 0, 0, 28, 0]'
2019-04-04 14:30:27,259  this is probably a bug in 'Compiz'
2019-04-04 14:30:27,259  using '[0, 0, 28, 0]' instead
Entering daemon mode; any further errors will be reported to:
  /run/user/1013/xpra/S12539.log
Actual display used: :1
Actual log file name is now: /run/user/1013/xpra/:1.log
2019-04-04 14:30:36,331 enabled remote logging
2019-04-04 14:30:36,331 Xpra GTK2 X11 server version 2.5-r22135 64-bit
2019-04-04 14:30:36,331  running on Linux Ubuntu 18.04 bionic
2019-04-04 14:30:36,436 server does not support xi input devices
2019-04-04 14:30:36,436  server uses: xtest
2019-04-04 14:30:36,443 make_new_window(..) client_window_classes=(<class 'xpra.client.gl.gtk2.nativegl_client_window.GLClientWindow'>, <class 'xpra.client.gtk2.client_window.ClientWindow'>), group_leader_window=<gtk.gdk.Window object at 0x7fbe71743f00 (GdkWindow at 0xe9e6c0)>
2019-04-04 14:30:36,444 <class 'xpra.client.gl.gtk2.nativegl_client_window.GLClientWindow'>(gtk2.client, <gtk.gdk.Window object at 0x7fbe71743f00 (GdkWindow at 0xe9e6c0)>, 0, 1, 0, 0, 658, 881, 658, 881, {'size-constraints': {'base-size': (18, 31), 'gravity': 1, 'increment': (8, 17), 'minimum-size': (269, 69)}, 'has-alpha': True, 'xid': '0xc00006', 'title': 'Terminal', 'icon-title': 'Terminal', 'client-machine': 'whirligig', 'pid': 12817, 'group-leader-xid': 12582913, 'window-type': ('NORMAL',), 'role': 'gnome-terminal-window-75ea5ad2-b678-4d8e-904b-4bde5f90e4dd', 'class-instance': ('gnome-terminal-server', 'Gnome-terminal')}, False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7, 1, '\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff', ''], 0)
2019-04-04 14:30:36,445 setup_window(658, 881) screen=-1, nscreens=1
2019-04-04 14:30:36,445 new_backing(658, 881) backing_class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>
2019-04-04 14:30:36,445 make_new_backing(<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, 658, 881, 658, 881) effective backing class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, server alpha=True, window alpha=True
2019-04-04 14:30:36,447 init_formats() texture pixel format=RGBA, internal format=RGBA8, rgb modes=['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']
2019-04-04 14:30:36,447 new_backing(658, 881)=<gtk.DrawingArea object at 0x7fbe71763870 (GtkDrawingArea at 0x217d500)>
2019-04-04 14:30:36,448 _get_full_csc_modes(['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR'])={u'mpeg4': [u'YUV420P'], u'h264': [u'ARGB', u'BGRA', u'BGRX', u'GBRP', u'RGB', u'XRGB', u'YUV420P', u'YUV422P', u'YUV444P'], u'h265': [u'BGRA', u'BGRX', u'GBRP', u'RGB', u'XRGB', u'YUV420P', u'YUV422P', u'YUV444P'], u'vp9': [u'YUV420P', u'YUV444P'], u'vp8': [u'YUV420P'], 'webp': ['BGRA', 'BGRX', 'RGBA', 'RGBX']} (target_rgb_modes=('YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR'))
2019-04-04 14:30:36,448 set_window_type(['NORMAL']) hints=0
2019-04-04 14:30:36,448 make_new_window(..) window(1)=GLClientWindow(1 : gtk2.GLDrawingArea(1, (658, 881), None))
2019-04-04 14:30:36,450 sendClientMessage(0x154, 0x5a00053, 0x0, 0x180000, _NET_REQUEST_FRAME_EXTENTS, 0, 0, 0, 0, 0)
2019-04-04 14:30:36,459 GL do_configure_event(<gtk.gdk.Event at 0x7fbe717587b0: GDK_CONFIGURE x=53, y=24, width=658, height=881>)
2019-04-04 14:30:36,460 GL do_configure_event(<gtk.gdk.Event at 0x7fbe717587b0: GDK_CONFIGURE x=53, y=24, width=658, height=881>)
2019-04-04 14:30:36,461 Initializing GL context for window size (658, 881), backing size (658, 881), max texture size=16384
2019-04-04 14:30:36,461 gtk2.GLDrawingArea(1, (658, 881), None).gl_init_textures() textures: [1 2 3 4 5 6], offscreen fbo: 1, tmp fbo: 2
2019-04-04 14:30:36,462 initializing FBOs
2019-04-04 14:30:36,465 YUV2RGB shader initialized
2019-04-04 14:30:36,468 YUV2RGBFULL shader initialized
2019-04-04 14:30:36,469 RGBP2RGB shader initialized
2019-04-04 14:30:36,470 gl_init() done
2019-04-04 14:30:36,470 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:30:36,470 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:30:36,470 Presenting FBO on screen
2019-04-04 14:30:36,476 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:30:36,477 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:30:36,477 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:30:36,477 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done
2019-04-04 14:30:36,477 GLClientWindow(1 : gtk2.GLDrawingArea(1, (658, 881), None)).do_map_event(<gtk.gdk.Event at 0x7fbe717587b0: GDK_MAP>) OR=False
2019-04-04 14:30:36,478 GL process_map_event()
2019-04-04 14:30:36,479 _NET_WM_STATE=['_NET_WM_STATE_FOCUSED'], state_updates={'focused': True}
2019-04-04 14:30:36,480 GL do_configure_event(<gtk.gdk.Event at 0x7fbe717588a0: GDK_CONFIGURE x=53, y=24, width=658, height=881>)
2019-04-04 14:30:36,480 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:30:36,480 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:30:36,481 Presenting FBO on screen
2019-04-04 14:30:36,481 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:30:36,482 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:30:36,482 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:30:36,482 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done
2019-04-04 14:30:36,482 GL do_configure_event(<gtk.gdk.Event at 0x7fbe717588a0: GDK_CONFIGURE x=53, y=52, width=658, height=881>)
2019-04-04 14:30:36,483 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:30:36,483 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:30:36,483 Presenting FBO on screen
2019-04-04 14:30:36,484 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:30:36,484 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:30:36,484 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:30:36,484 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done
2019-04-04 14:30:36,487 _NET_WM_STATE=['_NET_WM_STATE_FOCUSED'], state_updates={}
2019-04-04 14:30:36,487 _NET_WM_STATE=['_NET_WM_STATE_FOCUSED'], state_updates={}
2019-04-04 14:30:36,914 sound output using pulseaudio device:
2019-04-04 14:30:36,914 sound output  'Built-in Audio Analogue Stereo'
2019-04-04 14:30:37,431 sound output using 'opus' audio codec
2019-04-04 14:30:39,657 GL do_configure_event(<gtk.gdk.Event at 0x7fbe71758788: GDK_CONFIGURE x=1973, y=52, width=658, height=881>)
2019-04-04 14:30:39,659 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:30:39,659 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:30:39,660 Presenting FBO on screen
2019-04-04 14:30:39,661 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:30:39,661 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:30:39,662 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:30:39,662 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done
2019-04-04 14:30:39,965 _NET_WM_STATE=[], state_updates={'focused': False}
14:31:03 $ 2019-04-04 14:34:39,593 GL do_configure_event(<gtk.gdk.Event at 0x7fbe71758788: GDK_CONFIGURE x=-1867, y=-1028, width=658, height=881>)
2019-04-04 14:34:39,596 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:34:39,596 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:34:39,597 Presenting FBO on screen
2019-04-04 14:34:39,597 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:34:39,597 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:34:39,598 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:34:39,598 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done
2019-04-04 14:36:06,447 GL do_configure_event(<gtk.gdk.Event at 0x7fbe71758788: GDK_CONFIGURE x=1973, y=52, width=658, height=881>)
2019-04-04 14:36:06,452 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:36:06,453 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:36:06,454 Presenting FBO on screen
2019-04-04 14:36:06,455 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:36:06,455 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:36:06,455 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:36:06,456 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done
2019-04-04 14:36:35,736 GL do_configure_event(<gtk.gdk.Event at 0x7fbe71758788: GDK_CONFIGURE x=-1867, y=-1028, width=658, height=881>)
2019-04-04 14:36:35,742 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:36:35,742 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:36:35,742 Presenting FBO on screen
2019-04-04 14:36:35,743 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:36:35,743 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:36:35,744 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:36:35,744 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done
2019-04-04 14:37:35,103 GL do_configure_event(<gtk.gdk.Event at 0x7fbe71758788: GDK_CONFIGURE x=1973, y=52, width=658, height=881>)
2019-04-04 14:37:35,106 present_fbo: adding (0, 0, 658, 881) to pending paint list (size=0), flush=0, paint_screen=True
2019-04-04 14:37:35,106 do_present_fbo: painting ((0, 0, 658, 881),)
2019-04-04 14:37:35,106 Presenting FBO on screen
2019-04-04 14:37:35,107 gtk2.GLDrawingArea(1, (658, 881), None).gl_show() swapping buffers now
2019-04-04 14:37:35,108 gtk2.GLDrawingArea(1, (658, 881), None).gl_frame_terminator()
2019-04-04 14:37:35,109 <OpenGL.platform.baseplatform.glBindFramebuffer object at 0x7fbe984033d0>(GL_FRAMEBUFFER (36160), 1)
2019-04-04 14:37:35,109 gtk2.GLDrawingArea(1, (658, 881), None).do_present_fbo() done

Fri, 05 Apr 2019 14:37:05 GMT - Anthony Stone:

I have uninstalled xpra and installed the beta python3-xpra on both server (Ubuntu 18.04) and client (Ubuntu 16.04). This fails, even when starting with xterm. Client output is below; I also see the message

OpenGL acceleration failure
No module OpenGL.raw.GLX_types
15:23:52 $ python3 /usr/bin/xpra start ssh/whirligig/:1 --start="xterm" &
[1] 7033
15:24:02 $ 2019-04-05 15:24:02,719 Xpra GTK3 client version 3.0-r22291 64-bit
2019-04-05 15:24:02,720  running on Linux Ubuntu 16.04 xenial
2019-04-05 15:24:02,721  window manager is 'Compiz'
2019-04-05 15:24:02,731 Warning: failed to import opencv:
2019-04-05 15:24:02,731  No module named 'cv2'
2019-04-05 15:24:02,732  webcam forwarding is disabled
2019-04-05 15:24:03,353 GStreamer version 1.8.3 for Python 3.5.2 64-bit
2019-04-05 15:24:03,439 No OpenGL_accelerate module loaded: No module named 'OpenGL_accelerate'
2019-04-05 15:24:03,480 Unable to load registered array format handler numeric:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/OpenGL/arrays/numeric.py", line 13, in <module>
    import Numeric
ImportError: No module named 'Numeric'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/OpenGL/arrays/formathandler.py", line 35, in loadPlugin
    plugin_class = entrypoint.load()
  File "/usr/lib/python3/dist-packages/OpenGL/plugins.py", line 14, in load
    return importByName( self.import_path )
  File "/usr/lib/python3/dist-packages/OpenGL/plugins.py", line 28, in importByName
    module = __import__( ".".join(moduleName), {}, {}, moduleName)
  File "/usr/lib/python3/dist-packages/OpenGL/arrays/numeric.py", line 15, in <module>
    raise ImportError( """No Numeric module present: %s"""%(err))
ImportError: No Numeric module present: No module named 'Numeric'
2019-04-05 15:24:03,557 OpenGL accelerated rendering is not available:
2019-04-05 15:24:03,557  No module named 'OpenGL.raw.GLX._types'; 'OpenGL.raw.GLX' is not a package
2019-04-05 15:24:03,765  keyboard settings: rules=evdev, layout=gb,us, model=hpi6
2019-04-05 15:24:03,768  desktop size is 1920x1080 with 1 screen:
2019-04-05 15:24:03,768   :0.0 (508x285 mm - DPI: 96x96) workarea: 1867x1056 at 53x24
2019-04-05 15:24:03,768     HDMI1 (521x293 mm - DPI: 93x93)
2019-04-05 15:24:03,789 Warning: invalid frame extents value '[0, 0, 0, 0, 0, 0, 28, 0]'
2019-04-05 15:24:03,789  this is probably a bug in 'Compiz'
2019-04-05 15:24:03,789  using '[0, 0, 28, 0]' instead
xpra for python 2.7 is not installed
 retrying with python3
xpra for python 2.7 is not installed
 retrying with python3
xpra for python 2.7 is not installed
xpra initialization error:
 failed to identify the new server display!
2019-04-05 15:24:06,285 Error: failed to receive anything, not an xpra server?
2019-04-05 15:24:06,286   could also be the wrong protocol, username, password or port
2019-04-05 15:24:06,286   or the session was not found
2019-04-05 15:24:06,286 Connection lost
[1]+  Exit 1                  python3 /usr/bin/xpra start ssh/whirligig/:1 --start="xterm"

Tue, 09 Apr 2019 11:35:30 GMT - Anthony Stone:

I have uninstalled the beta python3-xpra from both client and server, and installed the stable python3-xpra on both. I find that

python3 /usr/bin/xpra start ssh/whirligig --start="gnome-terminal --window-with-profile=Blue" &

starts up normally, and I can stop the session and start a new one without any of the trouble I experienced previously. I find that the client is using python3-xpra version 2.5:

 $ python3 /usr/bin/xpra --version
xpra v2.5-r22149

but the server is using python2-xpra version 3.0:

  $ python2 /usr/bin/xpra --version
xpra v3.0-r22272

I do get some error messages from the client:

2019-04-09 11:46:03,021 OpenGL accelerated rendering is not available:
2019-04-09 11:46:03,021  No module named 'OpenGL.raw.GLX._types'; 'OpenGL.raw.GLX' is not a package

and

2019-04-09 11:46:22,698 Warning: our peer requested the contents of the clipboard,
2019-04-09 11:46:22,699  but *I* thought *they* had it... weird.

but otherwise this combination on client and server seems to be working normally.


Tue, 09 Apr 2019 11:40:59 GMT - Antoine Martin:

but the server is using python2-xpra version 3.0:

That version is from the beta channel. You can downgrade that too if you like.

I do get some error messages from the client: No module named 'OpenGL.raw.GLX._types'; 'OpenGL.raw.GLX' is not a package

That's just a buggy pyopengl-accelerate package from the Ubuntu repositories. It's safe to ignore, though as per the warning you won't get opengl acceleration.

Warning: our peer requested the contents of the clipboard

That's caused by the ongoing work in #812. (this could have caused gnome-terminal to misbehave too)


Thu, 20 Jun 2019 05:21:05 GMT - Antoine Martin: status changed; resolution set

I think we can close this, and re-open if it re-appears.

I can't reproduce the problem. It could be related to the cleanup code (ie: #2328) leaving the display behind if the server fails to shutdown cleanly.


Sat, 23 Jan 2021 05:46:07 GMT - migration script:

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