TreeView crashes X server?


I'm having some problems with the TreeView stuff of GTK+ 2.0. It seems
like this widget somehow causes an X server crash. If for some reason
the X server itself doesn't crash I get a message that I should use the
--sync option to produce reliable coredumps. However, if I turn on this
option, the program works (mostly) fine. 

Well, I encountered the problem when I was writing a small program in
Python (and used the PyGTK bindings). This (Python) might be the
problem, but according to some checks I did, the problem seems to be
somewhat more sophisticated.

Here's the message that appears when my X server doesn't crash:

--------->8========= (pid:13365): Gdk-ERROR **: The program ''
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 2086 error_code 9 request_code 62 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()

Could it be that the python code takes to long to execute?

What is the next step in investigating this this error? Should I try to
create a program in C that triggers the error (that's a tough one ;-)?



PS. Here's a GDB backtrace of the crashed application:
/gnome/head/INSTALL/bin/python --sync
(does this activate the --sync option in GDK? I am not sure...)

#0  0x???????? in g_logv (log_domain=0x404d3f2d "Gdk",
log_level=G_LOG_LEVEL_ERROR, format=0x404d428e "%s", args1=0xbfffe220)
    at gmessages.c:540
#1  0x401900dd in g_log (log_domain=0x404d3f2d "Gdk",
log_level=G_LOG_LEVEL_ERROR, format=0x404d428e "%s") at gmessages.c:570
#2  0x404bcdb9 in gdk_x_error (display=0x815fd58, error=0xbfffe2ac) at
#3  0x40546b0d in _XError () from /usr/X11R6/lib/
#4  0x405451db in _XReply () from /usr/X11R6/lib/
#5  0x40540bd7 in XSync () from /usr/X11R6/lib/
#6  0x40540c60 in _XSyncFunction () from /usr/X11R6/lib/
#7  0x4052a2f7 in XCopyArea () from /usr/X11R6/lib/
#8  0x404b1dc6 in gdk_x11_draw_drawable (drawable=0x824ea48,
gc=0x8257248, src=0x82569c8, xsrc=0, ysrc=0, xdest=0, ydest=380,
    width=231, height=1) at gdkdrawable-x11.c:523
#9  0x40495d51 in gdk_draw_drawable (drawable=0x824ea48, gc=0x8257248,
src=0x82569c8, xsrc=0, ysrc=0, xdest=0, ydest=380,
    width=231, height=1) at gdkdraw.c:499
#10 0x404a61eb in gdk_window_end_paint (window=0x824e9f0) at
#11 0x4032ba71 in gtk_main_do_event (event=0xbfffe5b8) at gtkmain.c:1046
#12 0x404a7f19 in gdk_window_process_updates_internal (window=0x824e9f0)
at gdkwindow.c:2019
#13 0x404a8086 in gdk_window_process_updates (window=0x824e9f0,
update_children=1) at gdkwindow.c:2095
#14 0x403dcc76 in gtk_tree_view_adjustment_changed
(adjustment=0x8210d20, tree_view=0x8218df0) at gtktreeview.c:6501
#15 0x40150ef2 in g_cclosure_marshal_VOID__VOID (closure=0x8216f20,
return_value=0x0, n_param_values=1,
    param_values=0xbfffe96c, invocation_hint=0xbfffe850,
marshal_data=0x0) at gmarshal.c:32
#16 0x4013cf2b in g_closure_invoke (closure=0x8216f20, return_value=0x0,
n_param_values=1, param_values=0xbfffe96c,
    invocation_hint=0xbfffe850) at gclosure.c:437
#17 0x40150193 in signal_emit_unlocked_R (node=0x8212500, detail=0,
instance=0x8210d20, emission_return=0x0,
    instance_and_params=0xbfffe96c) at gsignal.c:2134
#18 0x4014eb6b in g_signal_emit_valist (instance=0x8210d20,
signal_id=73, detail=0, var_args=0xbfffebec) at gsignal.c:1897
#19 0x40369aad in gtk_signal_emit (object=0x8210d20, signal_id=73) at
#20 0x402a39b8 in gtk_adjustment_value_changed (adjustment=0x8210d20) at
#21 0x402a3885 in gtk_adjustment_set_value (adjustment=0x8210d20,
value=2.2777777777777777) at gtkadjustment.c:159
#22 0x403566c1 in gtk_range_internal_set_value (range=0x821a888,
value=2.2777777777777777) at gtkrange.c:2231
#23 0x40354fa2 in update_slider_position (range=0x821a888, mouse_x=5,
mouse_y=88) at gtkrange.c:1255
#24 0x4035539f in gtk_range_motion_notify (widget=0x821a888,
event=0x824f0b0) at gtkrange.c:1363
#25 0x4032cd9c in _gtk_marshal_BOOLEAN__BOXED (closure=0x8215448,
return_value=0xbfffef6c, n_param_values=2,
    param_values=0xbffff0bc, invocation_hint=0xbfffef90,
marshal_data=0x403552a0) at gtkmarshalers.c:37

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]