To reproduce the bug you need
1) Start fresh cdcollect (0.6.0)
2) Import CD (with thumbnail generation)
3) Delete this CD from the database (by means of cdcollect menu)
4) Exit cdcollect
5) Start cdcollect
6) Import CD
cdcollect will crash
Mono 1.2.6; sqlite 3.5.3
Stacktrace:
at (wrapper managed-to-native) Gtk.Application.gtk_main_iteration_do (bool) <0x00004>
at (wrapper managed-to-native) Gtk.Application.gtk_main_iteration_do (bool) <0xffffffff>
at Gtk.Application.RunIteration (bool) <0x0000c>
at ImportCDWindow.on_ok_clicked (object,System.EventArgs) <0x00106>
at GLib.Signal.voidObjectCallback (intptr,intptr) <0x0008d>
at (wrapper native-to-managed) GLib.Signal.voidObjectCallback (intptr,intptr) <0xffffffff>
at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004>
at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
at Gtk.Application.Run () <0x00007>
at Gnome.Program.Run () <0x00007>
at CDCollect..ctor (string[]) <0x007b0>
at CDCollect.Main (string[]) <0x00019>
at (wrapper runtime-invoke) CDCollect.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
mono [0x8164823]
mono [0x807c2db]
[0xffffe440]
/usr/lib/libglib-2.0.so.0 [0xb7ee41fa]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x69) [0xb7ee46c9]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_iteration_do+0x31) [0xb6b541f1]
[0xb358d533]
[0xb358d4ed]
[0xb358bb27]
[0xb54cd046]
[0xb54c2620]
/usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x78) [0xb67177f8]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x12b) [0xb670082b]
/usr/lib/libgobject-2.0.so.0 [0xb67166e0]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x878) [0xb6717118]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x26) [0xb6717406]
/usr/lib/libgtk-x11-2.0.so.0(gtk_button_clicked+0x51) [0xb6a76741]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6a785ac]
/usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x78) [0xb67177f8]
/usr/lib/libgobject-2.0.so.0 [0xb6700b69]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x12b) [0xb670082b]
/usr/lib/libgobject-2.0.so.0 [0xb6715af7]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x878) [0xb6717118]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x26) [0xb6717406]
/usr/lib/libgtk-x11-2.0.so.0(gtk_button_released+0x51) [0xb6a76691]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6a77ac1]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6b570c0]
/usr/lib/libgobject-2.0.so.0 [0xb6700b69]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x12b) [0xb670082b]
/usr/lib/libgobject-2.0.so.0 [0xb6715d7b]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x5cd) [0xb6716e6d]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x26) [0xb6717406]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6c87c87]
/usr/lib/libgtk-x11-2.0.so.0(gtk_propagate_event+0xc7) [0xb6b55517]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x1ff) [0xb6b5582f]
/usr/lib/libgdk-x11-2.0.so.0 [0xb69be121]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1eb) [0xb7ee286b]
/usr/lib/libglib-2.0.so.0 [0xb7ee4244]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0x23a) [0xb7ee456a]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb3) [0xb6b54ae3]
[0xb54cb556]
[0xb54cb520]
[0xb54cb508]
[0xb79baaf9]
[0xb79ba252]
[0xb79ba1c3]
mono(mono_runtime_exec_main+0xb2) [0x80cfb72]
mono(mono_runtime_run_main+0x221) [0x80cff51]
mono(mono_main+0x1021) [0x805b651]
mono [0x805a14e]
/lib/libc.so.6(__libc_start_main+0xe3) [0xb7d4f3f3]
mono [0x805a091]
Debug info from gdb:
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1210873616 (LWP 20220)]
[New Thread -1286345840 (LWP 20232)]
[New Thread -1220387952 (LWP 20222)]
[New Thread -1214538864 (LWP 20221)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xffffe410 in ?? ()
4 Thread -1214538864 (LWP 20221) 0xffffe410 in ?? ()
3 Thread -1220387952 (LWP 20222) 0xffffe410 in ?? ()
2 Thread -1286345840 (LWP 20232) 0xffffe410 in ?? ()
1 Thread -1210873616 (LWP 20220) 0xffffe410 in ?? ()
Thread 4 (Thread -1214538864 (LWP 20221)):
#0 0xffffe410 in ?? ()
#1 0xb79b93b8 in ?? ()
#2 0x08207ff4 in ?? ()
#3 0x00000000 in ?? ()
Thread 3 (Thread -1220387952 (LWP 20222)):
#0 0xffffe410 in ?? ()
#1 0xb74251b8 in ?? ()
#2 0x00000015 in ?? ()
#3 0x00000080 in ?? ()
#4 0xb7ea0795 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#5 0x080fd08f in mono_mlist_remove_item ()
#6 0x080fd1ff in mono_mlist_remove_item ()
#7 0x080fd36a in mono_mlist_remove_item ()
#8 0x08107a28 in mono_once ()
#9 0x080f969c in mono_domain_finalize ()
#10 0x080c8db0 in mono_thread_get_pending_exception ()
#11 0x0810a302 in mono_pthread_key_for_tls ()
#12 0x08122bb3 in GC_push_all_stack ()
#13 0x00000000 in ?? ()
Thread 2 (Thread -1286345840 (LWP 20232)):
#0 0xffffe410 in ?? ()
#1 0xb353d5e8 in ?? ()
#2 0x00000002 in ?? ()
#3 0x00000080 in ?? ()
#4 0xb7ea3159 in __lll_lock_wait () from /lib/libpthread.so.0
#5 0xb7e9eafe in _L_lock_50 () from /lib/libpthread.so.0
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
/usr/bin/cdcollect: line 6: 20220 Aborted mono /usr/lib/cdcollect/cdcollect.exe $@
Logged In: YES
user_id=433644
Originator: NO
This is definitely related somehome to sqlite database. After deleting the cd database becomes somehow broken. This can be fixed in the following way:
sqlite3 cds3.db .dump | sqlite3 tmp.db
mv tmp.db cds3.db
After this hack next instance of cdcollect imports a cd without any problem.