Callback inheritance problem with Gtk.TextBuffer and llvm-gcc > 4.2



In Gramps we have a class derived from GtkTextBuffer which crashes during init because the default callback 
for
mark-set signal doesn't exist. We don't reset the handler, and the crash occurs before the only instance of 
connecting
to the signal. It crashes only when compiled with llvm-gcc-4.2 provided in Xcode 4.4 or later; when compiled 
with gcc-4.2  from Xcode 3 or with llvm-gcc-4.2 from Xcode 4.2, it works fine. Disabling optimization doesn't 
make a difference.

The top of the stack trace follows on the off chance it might be useful.

Anyone have any ideas for further investigation or for a workaround?

Regards,
John Ralls

#0  0x02bb9fe9 in g_type_class_meta_marshal (closure=0x76745b0, return_value=0x0, n_param_values=3, 
param_values=0xbfff86e0, invocation_hint=0xbfff8660, marshal_data=0x7677570) at gclosure.c:968
#1  0x02bba02e in g_type_class_meta_marshal (closure=0x76745b0, return_value=0x0, n_param_values=3, 
param_values=0xbfff86e0, invocation_hint=0xbfff8660, marshal_data=0x7677570) at gclosure.c:970
#2  0x02bba02e in g_type_class_meta_marshal (closure=0x76745b0, return_value=0x0, n_param_values=3, 
param_values=0xbfff86e0, invocation_hint=0xbfff8660, marshal_data=0x5c) at gclosure.c:970
#3  0x02bb981d in g_closure_invoke (closure=0x76745b0, return_value=0x0, n_param_values=3, 
param_values=0xbfff86e0, invocation_hint=0xbfff8660) at gclosure.c:777
#4  0x02bda698 in signal_emit_unlocked_R (node=0x76746b0, detail=0, instance=0xf2d350, emission_return=0x0, 
instance_and_params=0xbfff86e0) at gsignal.c:3589
#5  0x02bd96bf in g_signal_emit_valist (instance=0xf2d350, signal_id=185, detail=0, var_args=0xbfff8a04 
"­Eg\apñÙ") at gsignal.c:3300
#6  0x02bd9d71 in g_signal_emit (instance=0xf2d350, signal_id=185, detail=0) at gsignal.c:3356
#7  0x03e1d3e9 in gtk_text_buffer_mark_set (buffer=0xf2d350, location=0xbfff8a60, mark=0xeba470) at 
gtktextbuffer.c:2043
#8  0x03e1d4ef in gtk_text_buffer_set_mark (buffer=0xf2d350, existing_mark=0x0, mark_name=0x826fd90 
"insert-start", iter=0x8270920, left_gravity=1, should_exist=0) at gtktextbuffer.c:2091
#9  0x03e1d5fa in gtk_text_buffer_create_mark (buffer=0xf2d350, mark_name=0x826fd90 "insert-start", 
where=0x8270920, left_gravity=1) at gtktextbuffer.c:2131
#10 0x028f69dd in .LCFI1 () at darwin.S:64
#11 0x028f6999 in ffi_call (cif=0xbfff8c20, fn=0x3e1d510 <gtk_text_buffer_create_mark>, rvalue=0xbfff8c10, 
avalue=0xbfff8bb0) at ffi.c:413
#12 0x02b814a5 in g_callable_info_invoke ()
#13 0x02b82843 in g_function_info_invoke ()
#14 0x02b554e6 in _invoke_callable (state=0xbfff8d40, cache=0xf36c00, callable_info=0x3429a30, 
function_ptr=0) at pygi-invoke.c:64
#15 0x02b54b58 in pygi_callable_info_invoke (info=0x3429a30, py_args=0x9a080f0, kwargs=0x99ff270, 
cache=0xf36c00, function_ptr=0, user_data=0x0) at pygi-invoke.c:656
#16 0x02b55aca in _wrap_g_callable_info_invoke (self=0x46c5cb0, py_args=0x9a080f0, kwargs=0x99ff270) at 
pygi-invoke.c:679
#17 0x0004d52c in PyCFunction_Call (func=0x9931350, arg=0xbfff8e18, kw=0x99ff270) at methodobject.c:81
#18 0x000a62ce in ext_do_call [inlined] () at 
/Users/john/Development/gtk-sources/Python-2.7.3/Python/ceval.c:4331
#19 0x000a62ce in PyEval_EvalFrameEx (f=0x82576b0, throwflag=0) at ceval.c:2705
#20 0x000a871d in PyEval_EvalCodeEx (co=0x3960608, globals=0x2b38270, locals=0x0, args=0x99268dc, argcount=4, 
kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x46c4eb0) at ceval.c:3253
#21 0x0003835b in function_call (func=0x46c93b0, arg=0x99268d0, kw=0x0) at funcobject.c:526
#22 0x0000f0b1 in PyObject_Call (func=0x46c93b0, arg=0x99268d0, kw=0x0) at abstract.c:2529
#23 0x00020e4e in instancemethod_call (func=0xbfff9368, arg=0x99268d0, kw=0x0) at classobject.c:2578
(More stack frames follow...)


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