GNOME Bugzilla – Bug 513082
nautilus crashed with SIGSEGV in g_type_check_instance_cast()
Last modified: 2008-04-04 18:23:28 UTC
This report has been filled here: https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/187183 "It crashed suddenly, a couple of hours after upgrading libgio (or is it gvfs?)." "I used nautilus for various and intensive tasks during these two hours, so I was surprised it happened when just opening a text file." ".
+ Trace 187371
Thread 1 (process 6201)
Crash is in gtkfilesystemgio.c in libgnomeui.
Line 380 is: impl = GTK_FILE_SYSTEM_GIO (user_data); Means something barfed onto the filesystem pointer somewhere. I'd dismiss it as an old bug, as it's would mean that we would receive the signal after the filesystem's been disposed. Please test with a more recent glib/gvfs combination and let us know whether it still happens.
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/203364 is a new duplicate using current tarballs
crash under valgrind "==16786== Invalid read of size 4 ==16786== at 0x4B85852: g_type_check_instance_cast (gtype.c:3172) ==16786== by 0x5D6D31A: volumes_drives_changed (gtkfilesystemgio.c:398) ==16786== by 0x4B74F59: g_cclosure_marshal_VOID__OBJECT (gmarshal.c:636) ==16786== by 0x4B68758: g_closure_invoke (gclosure.c:490) ==16786== by 0x4B7CD1C: signal_emit_unlocked_R (gsignal.c:2440) ==16786== by 0x4B7E915: g_signal_emit_valist (gsignal.c:2199) ==16786== by 0x4B7EBD1: g_signal_emit_by_name (gsignal.c:2267) ==16786== by 0x4F276CD: child_mount_removed (gunionvolumemonitor.c:293) ==16786== by 0x4B74F59: g_cclosure_marshal_VOID__OBJECT (gmarshal.c:636) ==16786== by 0x4B68758: g_closure_invoke (gclosure.c:490) ==16786== by 0x4B7CD1C: signal_emit_unlocked_R (gsignal.c:2440) ==16786== by 0x4B7E915: g_signal_emit_valist (gsignal.c:2199) ==16786== by 0x4B7EBD1: g_signal_emit_by_name (gsignal.c:2267) ==16786== by 0x7A54D25: (within /usr/lib/gio/modules/libgvfsdbus.so) ==16786== by 0x4B75009: g_cclosure_marshal_VOID__POINTER (gmarshal.c:601) ==16786== by 0x4B68758: g_closure_invoke (gclosure.c:490) ==16786== by 0x4B7CD1C: signal_emit_unlocked_R (gsignal.c:2440) ==16786== by 0x4B7E915: g_signal_emit_valist (gsignal.c:2199) ==16786== by 0x4B7EC58: g_signal_emit (gsignal.c:2243) ==16786== by 0x7A681FB: (within /usr/lib/gio/modules/libgvfsdbus.so) ==16786== by 0x4A909F6: dbus_connection_dispatch (dbus-connection.c:4379) ==16786== by 0x7A62E1C: (within /usr/lib/gio/modules/libgvfsdbus.so) ==16786== by 0x4D07BD7: g_main_context_dispatch (gmain.c:2003) ==16786== by 0x4D0AE3D: g_main_context_iterate (gmain.c:2636) ==16786== by 0x4D0B1C6: g_main_loop_run (gmain.c:2844) ==16786== by 0x443E6E8: gtk_dialog_run (gtkdialog.c:1041) ==16786== by 0x80AEB46: (within /usr/bin/brasero) ==16786== by 0x4B756E9: g_cclosure_marshal_VOID(unsigned i_xx_t) (gmarshal.c:251) ==16786== by 0x4B68758: g_closure_invoke (gclosure.c:490) ==16786== by 0x4B7CD1C: signal_emit_unlocked_R (gsignal.c:2440) ==16786== by 0x4B7E915: g_signal_emit_valist (gsignal.c:2199) ==16786== by 0x4B7EC58: g_signal_emit (gsignal.c:2243) ==16786== by 0x809B668: (within /usr/bin/brasero) ==16786== by 0x4B75A4E: g_cclosure_marshal_VOID__VOID (gmarshal.c:77) ==16786== by 0x4B68758: g_closure_invoke (gclosure.c:490) ==16786== by 0x4B7CD1C: signal_emit_unlocked_R (gsignal.c:2440) ==16786== by 0x4B7E915: g_signal_emit_valist (gsignal.c:2199) ==16786== by 0x4B7EC58: g_signal_emit (gsignal.c:2243) ==16786== Address 0x6e62428 is 0 bytes inside a block of size 32 free'd ==16786== at 0x402265C: free (vg_replace_malloc.c:323) ==16786== by 0x4D0F880: g_free (gmem.c:190) ==16786== by 0x4F3A06D: _g_local_file_info_get (glocalfileinfo.c:1246) ==16786== by 0x4F36FEA: g_local_file_enumerator_next_file (glocalfileenumerator.c:194) ==16786== by 0x4F14949: next_files_thread (gfileenumerator.c:567) ==16786== by 0x4F25BE8: run_in_thread (gsimpleasyncresult.c:613) ==16786== by 0x4F1F723: io_job_thread (gioscheduler.c:178) ==16786== by 0x4D3161A: g_thread_pool_thread_proxy (gthreadpool.c:265) ==16786== by 0x4D2F9EE: g_thread_create_proxy (gthread.c:635) ==16786== by 0x4D8F4FA: start_thread (in /lib/tls/i686/cmov/libpthread-2.7.so) ==16786== by 0x4E78D4D: clone (in /lib/tls/i686/cmov/libc-2.7.so)"
Fixed in r5593 2008-04-04 Carlos Garnacho <carlos@imendio.com> * file-chooser/gtkfilesystemgio.c (gtk_file_system_gio_dispose): GVolumeMonitor may survive the GtkFileSystemGio object, disconnect all connected signals before disposing the reference to it. Bug #513082.