[Gtk-sharp-list] SIGABRT during TreeStore.Remove()

Eskil Bylund eskil.bylund at gmail.com
Sun Dec 31 09:44:52 EST 2006


I'm having a (maybe not so) similar problem. All calls are made from
the main thread. It only happens when using a TreeModelSort (with a
TreeModelFilter and TreeStore) with the sort column set either by
clicking a header or using SetSortColumnId.

I'm able to reproduce this quite easily, but I'm having no luck in
creating a test case. I somehow managed to work around it when I first
started seeing it, and so forgot to file a bug report. Now I'm however
rewriting the code and am having no such luck.

Eskil
-------------- next part --------------
Gtk-ERROR **: file gtktreemodelsort.c: line 2293 (gtk_tree_model_sort_clear_cache_helper): assertion failed: (level != NULL)
aborting...
Stacktrace:

  at (wrapper managed-to-native) Gtk.TreeStore.gtk_tree_store_remove (intptr,Gtk.TreeIter&) <0x0000e>
  at (wrapper managed-to-native) Gtk.TreeStore.gtk_tree_store_remove (intptr,Gtk.TreeIter&) <0xffffffff>
  at Gtk.TreeStore.Remove (Gtk.TreeIter&) <0x0003b>
  at DCSharp.GUI.DownloadStore.UpdateDirectory (Gtk.TreeIter&) [0x0006d]
  at DCSharp.GUI.DownloadStore.UpdateDirectories () [0x00017]
  at DCSharp.GUI.DownloadPage.Clear (DCSharp.Backend.Objects.DownloadFileInfo[]) [0x0003f]
  at DCSharp.GUI.DownloadPage.OnClearButtonClicked (object,System.EventArgs) [0x00047]
  at (wrapper delegate-invoke) System.MulticastDelegate.invoke_void_object_EventArgs (object,System.EventArgs) <0xffffffff>
  at GLib.Signal.voidObjectCallback (intptr,intptr) <0x000c9>
  at (wrapper native-to-managed) GLib.Signal.voidObjectCallback (intptr,intptr) <0xffffffff>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x0000b>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
  at Gtk.Application.Run () <0x00008>
  at DCSharp.GUI.GUI.Run () [0x00000]
  at DCSharp.Runtime.Main (string[]) [0x000d2
  at (wrapper runtime-invoke) System.Object.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

	mono [0x50bcf5]
	/lib64/libpthread.so.0 [0x384440dde0]
	/lib64/libc.so.6(gsignal+0x35) [0x38438301b5]
	/lib64/libc.so.6(abort+0x110) [0x3843831b20]
	/lib64/libglib-2.0.so.0(g_log+0) [0x3845035050]
	/lib64/libglib-2.0.so.0(g_log+0x83) [0x38450350d3]
	/lib64/libglib-2.0.so.0(g_assert_warning+0x76) [0x3845035156]
	/usr/lib64/libgtk-x11-2.0.so.0 [0x384c9fc6a3]
	/usr/lib64/libgtk-x11-2.0.so.0 [0x384c9fc63e]
	/usr/lib64/libgtk-x11-2.0.so.0 [0x384c9fe6f6]
	/lib64/libgobject-2.0.so.0(g_closure_invoke+0x10a) [0x384600b16a]
	/lib64/libgobject-2.0.so.0 [0x384601b3bd]
	/lib64/libgobject-2.0.so.0(g_signal_emit_valist+0x856) [0x384601c826]
	/lib64/libgobject-2.0.so.0(g_signal_emit+0x83) [0x384601ca03]
	/usr/lib64/libgtk-x11-2.0.so.0(gtk_tree_store_remove+0x134) [0x384ca05294]
	[0x415d2c73]

Debug info from gdb:

(no debugging symbols found)
Using host libthread_db library "/lib64/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 46912496267808 (LWP 6005)]
[New Thread 1098770752 (LWP 6045)]
[New Thread 1096538432 (LWP 6043)]
[New Thread 1079007552 (LWP 6041)]
[New Thread 1088002368 (LWP 6038)]
[New Thread 1090103616 (LWP 6037)]
[New Thread 1085835584 (LWP 6035)]
[New Thread 1083406656 (LWP 6017)]
[New Thread 1081174336 (LWP 6016)]
[New Thread 1075988800 (LWP 6010)]
[New Thread 1073822016 (LWP 6009)]
0x00000038438c6be2 in select () from /lib64/libc.so.6
  11 Thread 1073822016 (LWP 6009)  0x000000384440d4a1 in nanosleep ()
   from /lib64/libpthread.so.0
  10 Thread 1075988800 (LWP 6010)  0x000000384440a416 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  9 Thread 1081174336 (LWP 6016)  0x00000038438cda18 in epoll_wait ()
   from /lib64/libc.so.6
  8 Thread 1083406656 (LWP 6017)  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  7 Thread 1085835584 (LWP 6035)  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  6 Thread 1090103616 (LWP 6037)  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  5 Thread 1088002368 (LWP 6038)  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  4 Thread 1079007552 (LWP 6041)  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  3 Thread 1096538432 (LWP 6043)  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  2 Thread 1098770752 (LWP 6045)  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  1 Thread 46912496267808 (LWP 6005)  0x00000038438c6be2 in select ()
   from /lib64/libc.so.6

Thread 11 (Thread 1073822016 (LWP 6009)):
#0  0x000000384440d4a1 in nanosleep () from /lib64/libpthread.so.0
#1  0x00000000004bd900 in mono_pthread_key_for_tls ()
#2  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#3  0x00000038438cd62d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 1075988800 (LWP 6010)):
#0  0x000000384440a416 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1b5 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b9399 in mono_pthread_key_for_tls ()
#4  0x000000000049bbe1 in mono_gc_is_finalizer_thread ()
#5  0x000000000046d429 in mono_thread_get_abort_signal ()
#6  0x00000000004b7407 in mono_pthread_key_for_tls ()
#7  0x00000000004d244e in GC_start_blocking ()
#8  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#9  0x00000038438cd62d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 9 (Thread 1081174336 (LWP 6016)):
#0  0x00000038438cda18 in epoll_wait () from /lib64/libc.so.6
#1  0x0000000000516765 in mono_opcode_value ()
#2  0x000000000046d429 in mono_thread_get_abort_signal ()
#3  0x00000000004b7407 in mono_pthread_key_for_tls ()
#4  0x00000000004d244e in GC_start_blocking ()
#5  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#6  0x00000038438cd62d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 8 (Thread 1083406656 (LWP 6017)):
#0  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1a0 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b9399 in mono_pthread_key_for_tls ()
#4  0x000000000046b4c2 in mono_thread_get_pending_exception ()
#5  0x0000000040735906 in ?? ()
#6  0x0000000000000000 in ?? ()

Thread 7 (Thread 1085835584 (LWP 6035)):
#0  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1a0 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b91b5 in mono_pthread_key_for_tls ()
#4  0x0000000000517b17 in mono_opcode_value ()
#5  0x000000000046d429 in mono_thread_get_abort_signal ()
#6  0x00000000004b7407 in mono_pthread_key_for_tls ()
#7  0x00000000004d244e in GC_start_blocking ()
#8  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#9  0x00000038438cd62d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 1090103616 (LWP 6037)):
#0  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1a0 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b91b5 in mono_pthread_key_for_tls ()
#4  0x0000000000517d22 in mono_opcode_value ()
#5  0x000000000046d429 in mono_thread_get_abort_signal ()
#6  0x00000000004b7407 in mono_pthread_key_for_tls ()
#7  0x00000000004d244e in GC_start_blocking ()
#8  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#9  0x00000038438cd62d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 1088002368 (LWP 6038)):
#0  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1a0 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b91b5 in mono_pthread_key_for_tls ()
#4  0x0000000000517d22 in mono_opcode_value ()
#5  0x000000000046d429 in mono_thread_get_abort_signal ()
#6  0x00000000004b7407 in mono_pthread_key_for_tls ()
#7  0x00000000004d244e in GC_start_blocking ()
#8  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#9  0x00000038438cd62d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 4 (Thread 1079007552 (LWP 6041)):
#0  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1a0 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b91b5 in mono_pthread_key_for_tls ()
#4  0x000000000046b4c2 in mono_thread_get_pending_exception ()
#5  0x0000000040735906 in ?? ()
#6  0x0000000040b8af80 in ?? ()
#7  0x00002aaab5439e60 in ?? ()
#8  0x0000000040b8af80 in ?? ()
#9  0x0000000001499130 in ?? ()
#10 0x0000000001a36d60 in ?? ()
#11 0x00000000004531b2 in mono_compile_method ()
#12 0x00002aaab5181fc8 in ?? ()
#13 0x0000000000000000 in ?? ()

Thread 3 (Thread 1096538432 (LWP 6043)):
#0  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1a0 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b91b5 in mono_pthread_key_for_tls ()
#4  0x0000000000517d22 in mono_opcode_value ()
#5  0x000000000046d429 in mono_thread_get_abort_signal ()
#6  0x00000000004b7407 in mono_pthread_key_for_tls ()
#7  0x00000000004d244e in GC_start_blocking ()
#8  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#9  0x00000038438cd62d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 1098770752 (LWP 6045)):
#0  0x000000384440a607 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00000000004be1a0 in mono_pthread_key_for_tls ()
#2  0x00000000004c069d in mono_pthread_key_for_tls ()
#3  0x00000000004b91b5 in mono_pthread_key_for_tls ()
#4  0x0000000000517b17 in mono_opcode_value ()
#5  0x000000000046d429 in mono_thread_get_abort_signal ()
#6  0x00000000004b7407 in mono_pthread_key_for_tls ()
#7  0x00000000004d244e in GC_start_blocking ()
#8  0x0000003844406305 in start_thread (arg=<value optimized out>)
    at pthread_create.c:296
#9  0x00000038438cd62d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 46912496267808 (LWP 6005)):
#0  0x00000038438c6be2 in select () from /lib64/libc.so.6
#1  0x000000384505603e in IA__g_spawn_sync (
    working_directory=<value optimized out>, argv=<value optimized out>, 
    envp=0x0, flags=<value optimized out>, child_setup=<value optimized out>, 
    user_data=0x0, standard_output=0x7fff996e7bb0, 
    standard_error=0x7fff996e7ba8, exit_status=0x7fff996e7bbc, error=0x0)
    at gspawn.c:285
#2  0x0000003845056408 in IA__g_spawn_command_line_sync (
    command_line=<value optimized out>, standard_output=0x7fff996e7bb0, 
    standard_error=0x7fff996e7ba8, exit_status=0x7fff996e7bbc, error=0x0)
    at gspawn.c:653
#3  0x000000000050bd97 in mono_walk_stack ()
#4  <signal handler called>
#5  0x00000038438301b5 in *__GI_raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x0000003843831b20 in *__GI_abort () at abort.c:88
#7  0x0000003845035050 in IA__g_logv (log_domain=0x384ca62961 "Gtk", 
    log_level=<value optimized out>, 
    format=0x384505e200 "file %s: line %d (%s): assertion failed: (%s)", 
    args1=0x7fff996e8a40) at gmessages.c:497
#8  0x00000038450350d3 in IA__g_log (
    log_domain=0x1775 <Address 0x1775 out of bounds>, log_level=6005, 
    format=0x6 <Address 0x6 out of bounds>) at gmessages.c:517
#9  0x0000003845035156 in IA__g_assert_warning (
    log_domain=0x384ca62961 "Gtk", file=0x384cb09b00 "gtktreemodelsort.c", 
    line=2293, 
    pretty_function=0x384cb09c40 "gtk_tree_model_sort_clear_cache_helper", 
    expression=0x384cb1b7fb "level != NULL") at gmessages.c:552
#10 0x000000384c9fc6a3 in gtk_tree_model_filter_convert_child_iter_to_iter ()
   from /usr/lib64/libgtk-x11-2.0.so.0
#11 0x000000384c9fc63e in gtk_tree_model_filter_convert_child_iter_to_iter ()
   from /usr/lib64/libgtk-x11-2.0.so.0
#12 0x000000384c9fe6f6 in gtk_tree_model_sort_convert_iter_to_child_iter ()
   from /usr/lib64/libgtk-x11-2.0.so.0
#13 0x000000384600b16a in IA__g_closure_invoke (closure=0x1775c10, 
    return_value=0x0, n_param_values=2, param_values=0x7fff996e8eb0, 
    invocation_hint=0x7fff996e8d70) at gclosure.c:490
#14 0x000000384601b3bd in signal_emit_unlocked_R (node=0x167dc00, detail=0, 
    instance=0x165b440, emission_return=0x0, 
    instance_and_params=0x7fff996e8eb0) at gsignal.c:2438
#15 0x000000384601c826 in IA__g_signal_emit_valist (instance=0x165b440, 
    signal_id=<value optimized out>, detail=0, var_args=0x7fff996e9130)
    at gsignal.c:2197
#16 0x000000384601ca03 in IA__g_signal_emit (instance=0x1775, signal_id=6005, 
    detail=6) at gsignal.c:2241
#17 0x000000384ca05294 in gtk_tree_store_remove ()
   from /usr/lib64/libgtk-x11-2.0.so.0
#18 0x00000000415d2c73 in ?? ()
#19 0x002aaaafa18dd000 in ?? ()
#20 0x00002aaab53a4200 in ?? ()
#21 0x00007fff996eaa40 in ?? ()
#22 0x00000000415c7652 in ?? ()
#23 0x0000000000000000 in ?? ()
#0  0x00000038438c6be2 in select () from /lib64/libc.so.6


=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================




More information about the Gtk-sharp-list mailing list