Xpra: Ticket #3: xpra crashed while selecting text: The program 'xpra' received an X Window System error.

xpra has crashed a few times. It's always the same setting:

1) I'm running gnome-terminal from a remote machine with xpra. 2) From that gnome-terminal I run "ssh -Y yet-another-machine firefox" to run firefox from a remote machine that does not have xpra installed 3) I select some text in firefox

=> all xpra windows disappear.

The

Xvfb-for-Xpra-:7 +extension Composite -screen 0 3840x2560x24+32 -noreset -auth /home/lindi/.Xauthority :7

process and its clients seem to be alive but xpra is gone. I have to use "DISPLAY=:7 x11vnc & xvncviewer :0" to shut them down properly.

Full $HOME/.xpra/lindi1-7.log is attached. I'm running svn r67.



Mon, 20 Jun 2011 06:40:20 GMT - Timo Juhani Lindfors: attachment set

$HOME/.xpra/lindi1-7.log after xpra has died


Mon, 20 Jun 2011 07:53:33 GMT - Antoine Martin: status, description changed

The fact that this is reproducible should make it easier to debug and fix.

It would be interresting to know if the "--no-clipboard" server flag prevents the crash, it should. (not a solution obviously, just to narrow it down)

FYI: you should be able to use the xpra flag "--use-display" to re-start the xpra server against the existing Xvfb display, no need for VNC.


Sat, 25 Jun 2011 13:34:25 GMT - Timo Juhani Lindfors:

Antoine, hey, I didn't notice that you had commented on the bug! Can you check if trac is configured to send email alerts?

while true; do

xpra --no-daemon --use-display start :7 sleep 3

done

allows me to recover from crashes.

Using --no-clipboard on both server and client side does not seem to have any effect.

More concrete steps to reproduce:

1) start firefox 2) goto www.google.com 3) select some text (do not copy it or anything, just select) 4) drag the selected text with mouse a few times to random places on the page

=> xpra prints

  File "/usr/lib/python2.6/dist-packages/wimpiggy/util.py", line 25, in do_get_property
    return getattr(self, getter)(pspec.name)
  File "/usr/lib/python2.6/dist-packages/wimpiggy/composite.py", line 85, in do_get_property_contents_handle
    assert self._listening_to is None
AssertionError
wtf, pixmap is None?
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/wimpiggy/util.py", line 25, in do_get_property
    return getattr(self, getter)(pspec.name)
  File "/usr/lib/python2.6/dist-packages/wimpiggy/composite.py", line 85, in do_get_property_contents_handle
    assert self._listening_to is None
(...)
AssertionError
wtf, pixmap is None?
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/wimpiggy/util.py", line 25, in do_get_property
    return getattr(self, getter)(pspec.name)
  File "/usr/lib/python2.6/dist-packages/wimpiggy/composite.py", line 85, in do_get_property_contents_handle
    assert self._listening_to is None
AssertionError
wtf, pixmap is None?
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/wimpiggy/util.py", line 25, in do_get_property
    return getattr(self, getter)(pspec.name)
  File "/usr/lib/python2.6/dist-packages/wimpiggy/composite.py", line 85, in do_get_property_contents_handle
    assert self._listening_to is None
AssertionError
wtf, pixmap is None?
The program 'xpra' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 25634 error_code 3 request_code 12 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Mon, 27 Jun 2011 13:03:10 GMT - Antoine Martin:

Got this backtrace when running with GDK_SYNCHRONIZE=1:

Program received signal SIGABRT, Aborted.
0x00000034eb0352d5 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00000034eb0352d5 in raise () from /lib64/libc.so.6
#1  0x00000034eb036beb in abort () from /lib64/libc.so.6
#2  0x00000034ed04b5ee in g_logv () from /lib64/libglib-2.0.so.0
#3  0x00000034ed04b682 in g_log () from /lib64/libglib-2.0.so.0
#4  0x00000034f846ab9b in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#5  0x00000034ee84810f in _XError () from /usr/lib64/libX11.so.6
#6  0x00000034ee844f91 in ?? () from /usr/lib64/libX11.so.6
#7  0x00000034ee844fd5 in ?? () from /usr/lib64/libX11.so.6
#8  0x00000034ee845de0 in _XReply () from /usr/lib64/libX11.so.6
#9  0x00000034ee83b240 in XQueryPointer () from /usr/lib64/libX11.so.6
#10 0x00000034f847979a in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#11 0x00000034f8420960 in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#12 0x00000034f844350f in gdk_window_get_pointer () from /usr/lib64/libgdk-x11-2.0.so.0
#13 0x00007f7502392b10 in ?? () from /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
#14 0x00000034fc4df592 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#15 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#16 0x00000034fc4dfa86 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#17 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#18 0x00000034fc4dfa86 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#19 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#20 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#21 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#22 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#23 0x00000034fc46daa3 in ?? () from /usr/lib64/libpython2.7.so.1.0
#24 0x00000034fc448fe3 in PyObject_Call () from /usr/lib64/libpython2.7.so.1.0
#25 0x00000034fc4db870 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#26 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#27 0x00000034fc46d9ac in ?? () from /usr/lib64/libpython2.7.so.1.0
#28 0x00000034fc448fe3 in PyObject_Call () from /usr/lib64/libpython2.7.so.1.0
#29 0x00000034fc4d9f47 in PyEval_CallObjectWithKeywords () from /usr/lib64/libpython2.7.so.1.0
#30 0x00007f7502cac67b in _pyglib_handler_marshal () from /usr/lib64/libpyglib-2.0-python.so.0
#31 0x00000034ed04410b in ?? () from /lib64/libglib-2.0.so.0
#32 0x00000034ed0427ed in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#33 0x00000034ed042fc8 in ?? () from /lib64/libglib-2.0.so.0
#34 0x00000034ed04360d in g_main_loop_run () from /lib64/libglib-2.0.so.0
#35 0x00000034f7d4c007 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#36 0x00007f7502382fa6 in ?? () from /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
#37 0x00000034fc4df592 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#38 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#39 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#40 0x00000034fc4dfa86 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#41 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#42 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#43 0x00000034fc4e1252 in PyEval_EvalCode () from /usr/lib64/libpython2.7.so.1.0
#44 0x00000034fc4fb3ac in ?? () from /usr/lib64/libpython2.7.so.1.0
#45 0x00000034fc4fc1e0 in PyRun_FileExFlags () from /usr/lib64/libpython2.7.so.1.0
#46 0x00000034fc4fcc5f in PyRun_SimpleFileExFlags () from /usr/lib64/libpython2.7.so.1.0
#47 0x00000034fc50e285 in Py_Main () from /usr/lib64/libpython2.7.so.1.0
#48 0x00000034eb02139d in __libc_start_main () from /lib64/libc.so.6
#49 0x0000000000400651 in _start ()
(gdb)
#0  0x00000034eb0352d5 in raise () from /lib64/libc.so.6
#1  0x00000034eb036beb in abort () from /lib64/libc.so.6
#2  0x00000034ed04b5ee in g_logv () from /lib64/libglib-2.0.so.0
#3  0x00000034ed04b682 in g_log () from /lib64/libglib-2.0.so.0
#4  0x00000034f846ab9b in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#5  0x00000034ee84810f in _XError () from /usr/lib64/libX11.so.6
#6  0x00000034ee844f91 in ?? () from /usr/lib64/libX11.so.6
#7  0x00000034ee844fd5 in ?? () from /usr/lib64/libX11.so.6
#8  0x00000034ee845de0 in _XReply () from /usr/lib64/libX11.so.6
#9  0x00000034ee83b240 in XQueryPointer () from /usr/lib64/libX11.so.6
#10 0x00000034f847979a in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#11 0x00000034f8420960 in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#12 0x00000034f844350f in gdk_window_get_pointer () from /usr/lib64/libgdk-x11-2.0.so.0
#13 0x00007f7502392b10 in ?? () from /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
#14 0x00000034fc4df592 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#15 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#16 0x00000034fc4dfa86 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#17 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#18 0x00000034fc4dfa86 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#19 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#20 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#21 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#22 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#23 0x00000034fc46daa3 in ?? () from /usr/lib64/libpython2.7.so.1.0
#24 0x00000034fc448fe3 in PyObject_Call () from /usr/lib64/libpython2.7.so.1.0
#25 0x00000034fc4db870 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#26 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#27 0x00000034fc46d9ac in ?? () from /usr/lib64/libpython2.7.so.1.0
#28 0x00000034fc448fe3 in PyObject_Call () from /usr/lib64/libpython2.7.so.1.0
#29 0x00000034fc4d9f47 in PyEval_CallObjectWithKeywords () from /usr/lib64/libpython2.7.so.1.0
#30 0x00007f7502cac67b in _pyglib_handler_marshal () from /usr/lib64/libpyglib-2.0-python.so.0
#31 0x00000034ed04410b in ?? () from /lib64/libglib-2.0.so.0
#32 0x00000034ed0427ed in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#33 0x00000034ed042fc8 in ?? () from /lib64/libglib-2.0.so.0
#34 0x00000034ed04360d in g_main_loop_run () from /lib64/libglib-2.0.so.0
#35 0x00000034f7d4c007 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#36 0x00007f7502382fa6 in ?? () from /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
#37 0x00000034fc4df592 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#38 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#39 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#40 0x00000034fc4dfa86 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#41 0x00000034fc4e0098 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.7.so.1.0
#42 0x00000034fc4e1125 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.7.so.1.0
#43 0x00000034fc4e1252 in PyEval_EvalCode () from /usr/lib64/libpython2.7.so.1.0
#44 0x00000034fc4fb3ac in ?? () from /usr/lib64/libpython2.7.so.1.0
#45 0x00000034fc4fc1e0 in PyRun_FileExFlags () from /usr/lib64/libpython2.7.so.1.0
#46 0x00000034fc4fcc5f in PyRun_SimpleFileExFlags () from /usr/lib64/libpython2.7.so.1.0
#47 0x00000034fc50e285 in Py_Main () from /usr/lib64/libpython2.7.so.1.0
#48 0x00000034eb02139d in __libc_start_main () from /lib64/libc.so.6
#49 0x0000000000400651 in _start ()

So it looks like a gtk bug as this is firing directly from the gtk main loop.


Wed, 29 Jun 2011 09:41:59 GMT - Antoine Martin:

Filed an upstream bug gnome bug 653625


Tue, 29 Nov 2011 18:18:42 GMT - Antoine Martin: status changed; resolution set

There were some fixes in this area and I can no longer reproduce this bug at all. Feel free to re-open if you can reproduce with trunk + a recent distro.


Mon, 20 Feb 2012 19:42:56 GMT - Antoine Martin: status changed; milestone set; resolution deleted

See also #64 comments 32 and below

Re-opening as this seems more easily reproducible without running OpenBSD!


Thu, 01 Mar 2012 17:02:33 GMT - Antoine Martin:

Hmm, I've just tried repeatedly to get the crash with r577:

Still no luck, getting any crashes. Can you still reproduce it? (I did get one problem once when I dropped the selection onto the local system where the firefox window seemed to lose focus with no way of regaining it - but no crashes)

Also, I may have been wrong in thinking that this code fires directly from the main loop, using gdb with the python debug symbols may reveal to us where the get_pointer() call is coming from. Please see Debugging with Gdb: on Debian all you need is the pythonN.M-dbg package then gdb python $PID


Mon, 05 Mar 2012 16:30:34 GMT - Timo Juhani Lindfors:

Doesn't seem to happen today, r585


Fri, 09 Mar 2012 11:04:34 GMT - Antoine Martin: status changed; version, resolution set

will re-open if this re-occurs.


Sat, 23 Jan 2021 04:42:24 GMT - migration script:

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