> 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)'
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
(In reply to John Lindgren from comment #90)
> At one point, it seemed that the two patches from comment #14 (Harald) and /github. com/jlindgren90 /thunar/ commit/ 9c6dbb1dae70 /github. com/jlindgren90 /thunar
> 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:/
> [2] https:/
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. libglib- 2.0.so. 0 libglib- 2.0.so. 0 libglib- 2.0.so. 0 check_instance () from /usr/lib/ libgobject- 2.0.so. 0 handlers_ destroy () from /usr/lib/ libgobject- 2.0.so. 0 libgobject- 2.0.so. 0 file_info_ clear (file=0x7fffe00 203b0) at thunar-file.c:912 203b0, cancellable=0x0, error=0x0) at thunar-file.c:1184 file_monitor_ moved (file=0x7fffe00 203b0, renamed_ file=0xc3d380) at thunar-file.c:733 203b0, name=0xb31e00 "15.txt", cancellable= 0xb62080, from_job= 1, error=0x7fffe93 00bb8) at thunar-file.c:1956 io_jobs_ rename (job=0xb08cb0, param_values= 0xa95f20, error=0x7fffe93 00c10) io-jobs. c:1285 simple_ job_execute (job=0xb08cb0, error=0x7fffe93 00c40) at thunar- simple- job.c:119 libexo- 1.so.0 libgio- 2.0.so. 0 libgio- 2.0.so. 0 libglib- 2.0.so. 0 libglib- 2.0.so. 0 libpthread. so.0
[Switching to Thread 0x7fffe9301700 (LWP 28891)]
0x00007ffff4b5070b in g_logv () from /usr/lib/
(gdb) bt
#0 0x00007ffff4b5070b in g_logv () from /usr/lib/
#1 0x00007ffff4b5087f in g_log () from /usr/lib/
#2 0x00007ffff4e43e85 in g_type_
#3 0x00007ffff4e37c96 in g_signal_
#4 0x00007ffff4e23c7a in g_object_unref () from /usr/lib/
#5 0x000000000043d862 in thunar_
#6 0x000000000043df96 in thunar_file_load (file=0x7fffe00
#7 0x000000000043d41e in thunar_
#8 0x000000000043f02f in thunar_file_rename (file=0x7fffe00
called_
#9 0x000000000044c39a in _thunar_
at thunar-
#10 0x000000000047eb4c in thunar_
#11 0x00007ffff79b0977 in ?? () from /usr/lib/
#12 0x00007ffff50c3276 in ?? () from /usr/lib/
#13 0x00007ffff50e924d in ?? () from /usr/lib/
#14 0x00007ffff4b70cae in ?? () from /usr/lib/
#15 0x00007ffff4b702b5 in ?? () from /usr/lib/
#16 0x00007ffff48ea484 in start_thread () from /usr/lib/
#17 0x00007ffff46296dd in clone () from /usr/lib/libc.so.6