gtk-window-decorator crashes with BadWindow (invalid Window parameter), from XDeleteProperty() from remove_frame_window() from window_closed()

Bug #1023684 reported by Daniel van Vugt
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
Invalid
High
Daniel van Vugt
Compiz Core
Invalid
High
Unassigned

Bug Description

gtk-window-decorator crashes with BadWindow (invalid Window parameter), from XDeleteProperty() from remove_frame_window() from window_closed()

From Eric Ding:

#0 0x001809a0 in _XError () from /usr/lib/i386-linux-gnu/libX11.so.6
#1 0x0017d89d in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#2 0x0017d8f7 in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#3 0x0017e7c0 in _XReply () from /usr/lib/i386-linux-gnu/libX11.so.6
#4 0x00179f0b in XSync () from /usr/lib/i386-linux-gnu/libX11.so.6
#5 0x00179fa3 in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#6 0x0015c125 in XDeleteProperty () from /usr/lib/i386-linux-gnu/libX11.so.6
#7 0x0805ebf0 in remove_frame_window ()
#8 0x0805ece2 in window_closed ()
#9 0x00944690 in g_cclosure_marshal_VOID__OBJECTv ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#10 0x00941727 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#11 0x0095aa29 in g_signal_emit_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#12 0x0095b453 in g_signal_emit ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0x0028fb90 in ?? () from /usr/lib/libwnck-1.so.22
#14 0x00290206 in ?? () from /usr/lib/libwnck-1.so.22
#15 0x009c7850 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#16 0x009c9d86 in g_main_context_dispatch ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#17 0x009ca125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#18 0x009ca56b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#19 0x003efb8f in gtk_main () from /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#20 0x08050276 in main ()

Changed in compiz:
status: New → Triaged
importance: Undecided → High
milestone: none → 0.9.8.0
Changed in compiz:
assignee: nobody → Daniel van Vugt (vanvugt)
status: Triaged → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sorry, this was a false alarm.

Setting a breakpoint on _XError was wrong, because in the case of the above stack, it is inside gdk_error_trap_push/gdk_error_trap_pop which protects XDeleteProperty from crashing (even when _XError is called).

So my suggestion of breaking on _XError was completely wrong. We should break on gdk_x_error instead.

Changed in compiz:
status: In Progress → Invalid
Changed in compiz-core:
status: Triaged → Invalid
Changed in compiz:
milestone: 0.9.8.0 → none
Changed in compiz-core:
milestone: 0.9.7.10 → none
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Hmm, it looks like breaking on gdk_x_error will give false positives too.

Changed in compiz:
status: Invalid → In Progress
Changed in compiz-core:
status: Invalid → In Progress
Changed in compiz:
milestone: none → 0.9.8.0
Changed in compiz-core:
milestone: none → 0.9.7.10
Changed in compiz:
status: In Progress → Invalid
Changed in compiz-core:
status: In Progress → Invalid
Changed in compiz:
milestone: 0.9.8.0 → none
Changed in compiz-core:
milestone: 0.9.7.10 → none
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.