(In reply to John Lindgren from comment #90) > At one point, it seemed that the two patches from comment #14 (Harald) and > comment #41 (Emil) were enough to fix two separate crashes: one triggered by > rename, one triggered by drag-and-drop. > > Harald himself stated that his patch was not intended as a real fix, just a > workaround. I wrote an alternate fix[1] and pushed it, along with Emil's > patch, to my GitHub fork[2]. > > Since then, there have been several further reports of crashes, and some new > patches posted. Can those who are still experiencing crashes please confirm > whether you have the fixes from my fork applied? > > [1] https://github.com/jlindgren90/thunar/commit/9c6dbb1dae70 > [2] https://github.com/jlindgren90/thunar It is certainly much more difficult to crash Thunar 1.6.10 with these 3 patches applied. 1. #14 Harald's deactivate SEND_MOVED code paths 2. #41 Emil's reference counting to avoid crash in deferred reload 3. #65 John's don't call g_object_ref/unref on objects that are being finalized Unfortunately, while running a release build with these 3 patches, Thunar will still crash on rename and output the following messages: (thunar:12326): GLib-GObject-WARNING **: instance of invalid non-instantiatable type '(null)' (thunar:12326): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed Segmentation fault (core dumped) While running a debug build inside GDB, I was able to capture the following stack trace which seems to correspond to the instance check failure and resulting segmentation fault. (thunar:27537): GLib-GObject-WARNING **: instance of invalid non-instantiatable type '(null)' Thread 71 "pool" received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 0x7fffe9301700 (LWP 28891)] 0x00007ffff4b5070b in g_logv () from /usr/lib/libglib-2.0.so.0 (gdb) bt #0 0x00007ffff4b5070b in g_logv () from /usr/lib/libglib-2.0.so.0 #1 0x00007ffff4b5087f in g_log () from /usr/lib/libglib-2.0.so.0 #2 0x00007ffff4e43e85 in g_type_check_instance () from /usr/lib/libgobject-2.0.so.0 #3 0x00007ffff4e37c96 in g_signal_handlers_destroy () from /usr/lib/libgobject-2.0.so.0 #4 0x00007ffff4e23c7a in g_object_unref () from /usr/lib/libgobject-2.0.so.0 #5 0x000000000043d862 in thunar_file_info_clear (file=0x7fffe00203b0) at thunar-file.c:912 #6 0x000000000043df96 in thunar_file_load (file=0x7fffe00203b0, cancellable=0x0, error=0x0) at thunar-file.c:1184 #7 0x000000000043d41e in thunar_file_monitor_moved (file=0x7fffe00203b0, renamed_file=0xc3d380) at thunar-file.c:733 #8 0x000000000043f02f in thunar_file_rename (file=0x7fffe00203b0, name=0xb31e00 "15.txt", cancellable=0xb62080, called_from_job=1, error=0x7fffe9300bb8) at thunar-file.c:1956 #9 0x000000000044c39a in _thunar_io_jobs_rename (job=0xb08cb0, param_values=0xa95f20, error=0x7fffe9300c10) at thunar-io-jobs.c:1285 #10 0x000000000047eb4c in thunar_simple_job_execute (job=0xb08cb0, error=0x7fffe9300c40) at thunar-simple-job.c:119 #11 0x00007ffff79b0977 in ?? () from /usr/lib/libexo-1.so.0 #12 0x00007ffff50c3276 in ?? () from /usr/lib/libgio-2.0.so.0 #13 0x00007ffff50e924d in ?? () from /usr/lib/libgio-2.0.so.0 #14 0x00007ffff4b70cae in ?? () from /usr/lib/libglib-2.0.so.0 #15 0x00007ffff4b702b5 in ?? () from /usr/lib/libglib-2.0.so.0 #16 0x00007ffff48ea484 in start_thread () from /usr/lib/libpthread.so.0 #17 0x00007ffff46296dd in clone () from /usr/lib/libc.so.6