xpra icon
Bug tracker and wiki

Opened 8 years ago

Closed 7 years ago

#167 closed defect (needinfo)

MATLAB (close all) crashes xpra

Reported by: Punx120 Owned by: Antoine Martin
Priority: minor Milestone: 0.7
Component: core Version: 0.3.2
Keywords: Cc:

Description

Hello,

When running matlab, with multiple windows (with charts), if you run the "close all" command that is supposed to close all charts, xpra crashes.

To reproduce it:
Start matlab, and display a graph, plot(rand(1,100), for example and then type 'close all'.

I attached the log on the server side. on the client side, it mainly says that the connection has been lost

Attachments (2)

closeall.txt (2.5 KB) - added by Punx120 8 years ago.
Traceback on the server
bt.txt (4.2 KB) - added by Punx120 8 years ago.
backtrace

Download all attachments as: .zip

Change History (14)

Changed 8 years ago by Punx120

Attachment: closeall.txt added

Traceback on the server

comment:1 Changed 8 years ago by Antoine Martin

Status: newaccepted

unless someone can arrange for me to be able to test matlab, I am going to have close this as 'wontfit' (for lack of a 'cantfix')

comment:2 Changed 8 years ago by Antoine Martin

This may or may not help... no way for me to test, please let me know:

--- src/wimpiggy/window.py	(revision 1089)
+++ src/wimpiggy/window.py	(working copy)
@@ -761,7 +761,7 @@
         # their properties every time they see a ConfigureNotify, and this
         # reduces the chance for us to get caught in loops:
         old_hints = self.get_property("size-hints")
-        if old_hints is None or size_hints.__dict__ != old_hints.__dict__:
+        if size_hints and (old_hints is None or size_hints.__dict__ != old_hints.__dict__):
             self._internal_set_property("size-hints", size_hints)
             self._update_client_geometry()

comment:3 Changed 8 years ago by Punx120

the python stack trace disappeared, but Gdk still crashes.

Gdk-ERROR **: The program 'xpra' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 17321 error_code 9 request_code 14 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.)

I can't easily debug the program, but maybe I can something so it would publish the backtrace ?

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

comment:4 Changed 8 years ago by Antoine Martin

Yes, the backtrace might help.

For details please see the X11 debugging section from here - ignore the GTK3 thing, you do need GDK_SYNCHRONIZE="1" even for gtk2 IIRC (xpra does not understand "--sync")

comment:5 Changed 8 years ago by Punx120

I attached the backtrace. I'm running pygtk 2.16, I don't have the package for newer version ...

Changed 8 years ago by Punx120

Attachment: bt.txt added

backtrace

comment:6 Changed 8 years ago by Antoine Martin

wait... I remember removing some compatibility code for pygtk older than ~2.17... maybe you are hitting it.
Is RHEL really shipping such an old version??

Pasting the trace here:

#0  0x0000003889032885 in raise () from /lib64/libc.so.6
#1  0x0000003889034065 in abort () from /lib64/libc.so.6
#2  0x000000388a84337a in g_logv () from /lib64/libglib-2.0.so.0
#3  0x000000388a843413 in g_log () from /lib64/libglib-2.0.so.0
#4  0x000000357d668196 in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#5  0x000000388f046b24 in _XError () from /usr/lib64/libX11.so.6
#6  0x000000388f04d656 in _XReply () from /usr/lib64/libX11.so.6
#7  0x000000388f028d70 in XGetGeometry () from /usr/lib64/libX11.so.6
#8  0x000000357d672a95 in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#9  0x000000357d63ddac in gdk_window_get_geometry () from /usr/lib64/libgdk-x11-2.0.so.0
#10 0x00007f29047b5f7a in ?? () from /usr/lib64/python2.6/site-packages/gtk-2.0/gtk/_gtk.so
#11 0x000000357b2de726 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
#12 0x000000357b2e0467 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0
#13 0x000000357b26eac0 in ?? () from /usr/lib64/libpython2.6.so.1.0
#14 0x000000357b244043 in PyObject_Call () from /usr/lib64/libpython2.6.so.1.0
#15 0x000000357b25941f in ?? () from /usr/lib64/libpython2.6.so.1.0
#16 0x000000357b244043 in PyObject_Call () from /usr/lib64/libpython2.6.so.1.0
#17 0x000000357b2d8aa3 in PyEval_CallObjectWithKeywords () from /usr/lib64/libpython2.6.so.1.0
#18 0x00007f290550cbcd in ?? () from /usr/lib64/python2.6/site-packages/gtk-2.0/gobject/_gobject.so
#19 0x000000388b40bb3e in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#20 0x000000388b420e23 in ?? () from /lib64/libgobject-2.0.so.0
#21 0x00007f290550489e in ?? () from /usr/lib64/python2.6/site-packages/gtk-2.0/gobject/_gobject.so
#22 0x000000357b244043 in PyObject_Call () from /usr/lib64/libpython2.6.so.1.0
#23 0x00007f2903479bec in __pyx_pf_8wimpiggy_8lowlevel_8bindings_77_maybe_send_event (__pyx_self=<value optimized out>, __pyx_args=<value optimized out>,
    __pyx_kwds=<value optimized out>) at wimpiggy/lowlevel/bindings.c:20013
#24 0x000000357b244043 in PyObject_Call () from /usr/lib64/libpython2.6.so.1.0
#25 0x00007f290349824f in __pyx_pf_8wimpiggy_8lowlevel_8bindings_78_route_event (__pyx_self=<value optimized out>, __pyx_args=<value optimized out>,
    __pyx_kwds=<value optimized out>) at wimpiggy/lowlevel/bindings.c:20339
#26 0x000000357b244043 in PyObject_Call () from /usr/lib64/libpython2.6.so.1.0
#27 0x00007f29034887e4 in __pyx_f_8wimpiggy_8lowlevel_8bindings_x_event_filter (__pyx_v_e_gdk=0x7fff8ee8c290, __pyx_v_gdk_event=<value optimized out>,
    __pyx_v_userdata=<value optimized out>) at wimpiggy/lowlevel/bindings.c:23054
#28 0x000000357d65d9a6 in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#29 0x000000357d65fa98 in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#30 0x000000357d65ffce in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#31 0x000000388a838f0e in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#32 0x000000388a83c938 in ?? () from /lib64/libglib-2.0.so.0
#33 0x000000388a83cd55 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#34 0x000000357cf4c2c7 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#35 0x00007f2904798666 in ?? () from /usr/lib64/python2.6/site-packages/gtk-2.0/gtk/_gtk.so
#36 0x000000357b2de726 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
#37 0x000000357b2df99f in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
#38 0x000000357b2e0467 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0
#39 0x000000357b2de8b4 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
#40 0x000000357b2e0467 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0
#41 0x000000357b2de8b4 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
#42 0x000000357b2e0467 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0
#43 0x000000357b2e0542 in PyEval_EvalCode () from /usr/lib64/libpython2.6.so.1.0
#44 0x000000357b2fb88c in ?? () from /usr/lib64/libpython2.6.so.1.0
#45 0x000000357b2fb960 in PyRun_FileExFlags () from /usr/lib64/libpython2.6.so.1.0
#46 0x000000357b2fce4c in PyRun_SimpleFileExFlags () from /usr/lib64/libpython2.6.so.1.0
#47 0x000000357b3094cf in Py_Main () from /usr/lib64/libpython2.6.so.1.0
#48 0x000000388901ecdd in __libc_start_main () from /lib64/libc.so.6
#49 0x0000000000400649 in _start ()

comment:7 Changed 8 years ago by Antoine Martin

The fact that this is triggered by a call to get_geometry is reminiscent of #71...

comment:8 Changed 8 years ago by Antoine Martin

Does reverting r548 help?

comment:9 Changed 8 years ago by Punx120

I tried to revert r548, but it still crashes. I'm trying to install the debuginfo packages so we can have a better backtrace.

comment:10 Changed 7 years ago by Antoine Martin

Milestone: 0.40.7

Does this still happen with 0.6 or trunk?

Can I close this?

comment:11 Changed 7 years ago by Punx120

I'm sorry I don't have access anymore to the system so I'm not able to tell you if it's working.

comment:12 Changed 7 years ago by Antoine Martin

Resolution: needinfo
Status: acceptedclosed

OK closing, feel free to re-open.

Note: See TracTickets for help on using tickets.