xpra icon
Bug tracker and wiki

Opened 3 years ago

Closed 3 years ago

#1307 closed defect (fixed)

xpra server crash

Reported by: Jiang Owned by: Jiang
Priority: blocker Milestone: 1.0
Component: core Version: trunk
Keywords: Cc:

Description

I am running the latest beta on both server and client, on 64 bit ubuntu 1.0-20160913r13691-1. Both server and client are running gnome-flashback desktop with metacity window manager.

I experience server hang and crash. The symptom is that sometimes while connecting to the server, suddenly all forwarded windows disappears and the connection is closed. Subsequent connection to the server is not possible. On server xpra list show server running but cannot be contacted. xpra stop :100 will stop the server, but
X.org and sound server will be left running and have to be killed separately.

On the other hand, sometimes after quitting the server and reconnecting, the windows become unresponsive. I cannot click or open anything and server have to be killed manually, as above.

I did xpra -d all on both server and client on one of these ocassions, and I append the result to this ticket

Attachments (4)

server.log.gz (2.6 MB) - added by Jiang 3 years ago.
server log result of xpra -d all
client.log (506.0 KB) - added by Jiang 3 years ago.
client log with xpra -d all
server.log-2.bz2 (3.8 MB) - added by Jiang 3 years ago.
server log in case of crash while connected to the server
client.log-2.gz (1.3 MB) - added by Jiang 3 years ago.
client log in case of crash while connected to the server

Change History (9)

Changed 3 years ago by Jiang

Attachment: server.log.gz added

server log result of xpra -d all

Changed 3 years ago by Jiang

Attachment: client.log added

client log with xpra -d all

comment:1 Changed 3 years ago by Jiang

The first two attached files are from an instance of unable to reconnect after disconnecting. The second pairs of attached logs are from actually abruptly quitting while connected to xpra server and then server becoming unresponsive.

I also observe that these crashes only appear in beta versions starting this September. The version I used throughout August, xpra_1.0-20160806r13238-1, is rock solid. However, it does not forward notification properly, even after I set firefox to use gnome native notification, per bug 1304.

Now I am forced to revert to the August beta, because I'm running a production system and cannot afford the constant crashes... notification is a small issue by comparison.

Changed 3 years ago by Jiang

Attachment: server.log-2.bz2 added

server log in case of crash while connected to the server

Changed 3 years ago by Jiang

Attachment: client.log-2.gz added

client log in case of crash while connected to the server

comment:2 Changed 3 years ago by Antoine Martin

Owner: changed from Antoine Martin to Jiang

xpra stop :100 will stop the server, but X.org and sound server will be left running and have to be killed separately.


FYI you should be able to:

  • just run "xpra start :100 --use-display" to recover this crashed session, no need to kill X11
  • run the latest client (with the notification fix) against the older server (no crashes) to get the best of both worlds..

There are quite a few changesets between r13691 and r13238... and I'm not seeing the crash. I've even tried running gtkperf in a tight loop for hours (that's a sort of torture test for xpra)
Can you try the r13570 build so I know if the bug was introduced before or after that?
What do I need to do to reproduce the bug?
This is an X11 crash, usually caused by code that talks to X11 from the wrong thread. The two main classes show a lot of changes (mostly for scrolling support), but nothing stands out: window_source.py diff, window_video_source.py diff

comment:3 Changed 3 years ago by Jiang

Thanks for the tip! I'm running r13691 on client now and the notification is back! On server, I tried to run r13570, but the server failed to start. (error at the end of the log).

Right now, I'm running r13671 on the server to see if it crashes...
I will report back after a day or two if it does, and sooner if it does.

BTW, the window fix you introduced on r13671 does make a big difference in making firefox extension forecastfox (fixed) working, as well as all sorts of context/popup window in firefox works much better (it doesn't get truncated or split between two screens anymore) compared with, say, r13238. Only by reverting back to the old way did I see how terrible was the original behavior! Thank you!

 XPRA_CLIPBOARD_LIMIT=30 xpra --xvfb='Xorg -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER -logfile ${HOME}/.xpra/Xvfb-10.log  -config ${HOME}/.xpra/xorg.conf' start :100 --bind-tcp=0.0.0.0:10000
Warning: Ubuntu 'trusty' breaks Xorg/Xdummy usage - using Xvfb fallback
[Errno 2] No such file or directory: '/home/qian2/~/.xpra'
xpra main error:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/main.py", line 124, in main
    return run_mode(script_file, err, options, args, mode, defaults)
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/main.py", line 1132, in run_mode
    return run_server(error_cb, options, mode, script_file, args, current_display)
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/server.py", line 1004, in run_server
    logfd = open_log_file(log_filename0)
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/server.py", line 553, in open_log_file
    return os.open(logpath, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o666)
OSError: [Errno 2] No such file or directory: '/home/qian2/~/.xpra/:100.log'
qian2@workstation:$ XPRA_CLIPBOARD_LIMIT=30 xpra --xvfb='Xorg -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER -logfile ${HOME}/.xpra/Xvfb-10.log  -config ${HOME}/.xpra/xorg.conf' start :100 --bind-tcp=0.0.0.0:10000
Warning: Ubuntu 'trusty' breaks Xorg/Xdummy usage - using Xvfb fallback
[Errno 2] No such file or directory: '/home/qian2/~/.xpra'
xpra main error:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/main.py", line 124, in main
    return run_mode(script_file, err, options, args, mode, defaults)
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/main.py", line 1132, in run_mode
    return run_server(error_cb, options, mode, script_file, args, current_display)
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/server.py", line 1004, in run_server
    logfd = open_log_file(log_filename0)
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/server.py", line 553, in open_log_file
    return os.open(logpath, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o666)
OSError: [Errno 2] No such file or directory: '/home/qian2/~/.xpra/:100.log'
Last edited 3 years ago by Antoine Martin (previous) (diff)

comment:4 Changed 3 years ago by Antoine Martin

Thanks to @afarr for testing #770 and reminding me of another important change: r13600 changed some focus code, and one of the places where this is called is on disconnection (which fits with your description from comment:1). r13769 fixes that.
I believe this particular bug is now fixed, I have posted some updated trusty beta builds. Let me know if you manage to get any sort of crashes with the 1.0 branch.

PS: the startup bug (introduced in r13507) you reported in comment:3 had already been fixed in r13593.

Last edited 3 years ago by Antoine Martin (previous) (diff)

comment:5 Changed 3 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

I am fairly confident that this is fixed so closing it for now, let's re-open if someone hits this again.

Note: See TracTickets for help on using tickets.