Thunar crashes via Segfault, when thunar_file_is_gfile_ancestor is run. Coredump and binary package are here: https://thermicorp.de/~thermi~private/f8ba823c-58fa-415f-ab7f-dc776590d021/ The pkg.tar.xz file contains all files of the thunar package. It was built with debug information. It should contain all necessary information. Stack trace: Stack trace of thread 4976: #0 0x000055657b9018ab thunar_file_is_gfile_ancestor (thunar) #1 0x000055657b93f435 thunar_tree_view_visible_func (thunar) #2 0x000055657b93a8f0 thunar_tree_model_item_files_added (thunar) #3 0x000055657b93aa90 thunar_tree_model_item_load_idle (thunar) #4 0x00007f70506eeca6 g_main_context_dispatch (libglib-2.0.so.0) #5 0x00007f70506ef081 n/a (libglib-2.0.so.0) #6 0x00007f70506ef3b2 g_main_loop_run (libglib-2.0.so.0) #7 0x00007f70525eedf3 gtk_main (libgtk-x11-2.0.so.0) #8 0x000055657b8ecec4 main (thunar) #9 0x00007f70500eff4a __libc_start_main (libc.so.6) #10 0x000055657b8ed0ba _start (thunar) Stack trace of thread 30929: #0 0x00007f70501bf879 syscall (libc.so.6) #1 0x00007f7050735cb1 g_cond_wait (libglib-2.0.so.0) #2 0x00007f7050c73a1c g_io_scheduler_job_send_to_mainloop (libgio-2.0.so.0) #3 0x00007f7053573488 exo_job_emit (libexo-1.so.0) #4 0x000055657b90d112 thunar_job_files_ready (thunar) #5 0x000055657b90bca9 _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 32026: #0 0x00007f70501ba97b __poll (libc.so.6) #1 0x00007f70506eeff3 n/a (libglib-2.0.so.0) #2 0x00007f70506ef3b2 g_main_loop_run (libglib-2.0.so.0) #3 0x00007f7050ce36d8 n/a (libgio-2.0.so.0) #4 0x00007f705071726a n/a (libglib-2.0.so.0) #5 0x00007f705048d08c start_thread (libpthread.so.0) #6 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 32025: #0 0x00007f70501ba97b __poll (libc.so.6) #1 0x00007f70506eeff3 n/a (libglib-2.0.so.0) #2 0x00007f70506ef10e g_main_context_iteration (libglib-2.0.so.0) #3 0x00007f70506ef162 n/a (libglib-2.0.so.0) #4 0x00007f705071726a n/a (libglib-2.0.so.0) #5 0x00007f705048d08c start_thread (libpthread.so.0) #6 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 32025: #0 0x00007f70501ba97b __poll (libc.so.6) #1 0x00007f70506eeff3 n/a (libglib-2.0.so.0) #2 0x00007f70506ef10e g_main_context_iteration (libglib-2.0.so.0) #3 0x00007f70506ef162 n/a (libglib-2.0.so.0) #4 0x00007f705071726a n/a (libglib-2.0.so.0) #5 0x00007f705048d08c start_thread (libpthread.so.0) #6 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30930: #0 0x00007f70501bf879 syscall (libc.so.6) #1 0x00007f7050735cb1 g_cond_wait (libglib-2.0.so.0) #2 0x00007f7050c73a1c g_io_scheduler_job_send_to_mainloop (libgio-2.0.so.0) #3 0x00007f7053573488 exo_job_emit (libexo-1.so.0) #4 0x000055657b90d112 thunar_job_files_ready (thunar) #5 0x000055657b90bca9 _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30934: #0 0x00007f70501bf879 syscall (libc.so.6) #1 0x00007f7050735cb1 g_cond_wait (libglib-2.0.so.0) #2 0x00007f7050c73a1c g_io_scheduler_job_send_to_mainloop (libgio-2.0.so.0) #3 0x00007f7053573488 exo_job_emit (libexo-1.so.0) #4 0x000055657b90d112 thunar_job_files_ready (thunar) #5 0x000055657b90bca9 _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30927: #0 0x00007f70501b5c75 __lxstat (libc.so.6) #1 0x00007f7050cfc753 n/a (libgio-2.0.so.0) #2 0x00007f7050cf9c4d n/a (libgio-2.0.so.0) #3 0x00007f7050c612bb g_file_enumerator_next_file (libgio-2.0.so.0) #4 0x000055657b90c427 thunar_io_scan_directory (thunar) #5 0x000055657b90bc6b _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30926: #0 0x00007f70501b5c75 __lxstat (libc.so.6) #1 0x00007f7050cfc753 n/a (libgio-2.0.so.0) #2 0x00007f7050cf9c4d n/a (libgio-2.0.so.0) #3 0x00007f7050c612bb g_file_enumerator_next_file (libgio-2.0.so.0) #4 0x000055657b90c427 thunar_io_scan_directory (thunar) #5 0x000055657b90bc6b _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30928: #0 0x00007f70501b5c75 __lxstat (libc.so.6) #1 0x00007f7050cfc753 n/a (libgio-2.0.so.0) #2 0x00007f7050cf9c4d n/a (libgio-2.0.so.0) #3 0x00007f7050c612bb g_file_enumerator_next_file (libgio-2.0.so.0) #4 0x000055657b90c427 thunar_io_scan_directory (thunar) #5 0x000055657b90bc6b _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30931: #0 0x00007f70501b5c75 __lxstat (libc.so.6) #1 0x00007f7050cfc753 n/a (libgio-2.0.so.0) #2 0x00007f7050cf9c4d n/a (libgio-2.0.so.0) #3 0x00007f7050c612bb g_file_enumerator_next_file (libgio-2.0.so.0) #4 0x000055657b90c427 thunar_io_scan_directory (thunar) #5 0x000055657b90bc6b _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30932: #0 0x00007f70501b5c75 __lxstat (libc.so.6) #1 0x00007f7050cfc753 n/a (libgio-2.0.so.0) #2 0x00007f7050cf9c4d n/a (libgio-2.0.so.0) #3 0x00007f7050c612bb g_file_enumerator_next_file (libgio-2.0.so.0) #4 0x000055657b90c427 thunar_io_scan_directory (thunar) #5 0x000055657b90bc6b _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30933: #0 0x00007f70501b5c75 __lxstat (libc.so.6) #1 0x00007f7050cfc753 n/a (libgio-2.0.so.0) #2 0x00007f7050cf9c4d n/a (libgio-2.0.so.0) #3 0x00007f7050c612bb g_file_enumerator_next_file (libgio-2.0.so.0) #4 0x000055657b90c427 thunar_io_scan_directory (thunar) #5 0x000055657b90bc6b _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6) Stack trace of thread 30925: #0 0x00007f70501b5c75 __lxstat (libc.so.6) #1 0x00007f7050cfc753 n/a (libgio-2.0.so.0) #2 0x00007f7050cf9c4d n/a (libgio-2.0.so.0) #3 0x00007f7050c612bb g_file_enumerator_next_file (libgio-2.0.so.0) #4 0x000055657b90c427 thunar_io_scan_directory (thunar) #5 0x000055657b90bc6b _thunar_io_jobs_ls (thunar) #6 0x000055657b92d55a thunar_simple_job_execute (thunar) #7 0x00007f7053573067 n/a (libexo-1.so.0) #8 0x00007f7050c7377e n/a (libgio-2.0.so.0) #9 0x00007f7050c9e049 n/a (libgio-2.0.so.0) #10 0x00007f7050717ca3 n/a (libglib-2.0.so.0) #11 0x00007f705071726a n/a (libglib-2.0.so.0) #12 0x00007f705048d08c start_thread (libpthread.so.0) #13 0x00007f70501c4e7f __clone (libc.so.6)
*Thunar sometimes crashes via Segfault (non deterministic)
Are there steps to reproduce this crash? How hard is to crash it?
The crash is non-deterministic, but seems to happen when folders with many pictures are opened.
Created attachment 7587 hardened thunar_file_is_gfile_ancestor Thanks for reporting & for the coredump ! I failed to reproduce the bug myself :X However I hardened the faulty method (added a NULL check) and simplified the loop a bit. Could you take a try for the patch ? It's build against https://git.xfce.org/xfce/thunar/log/?h=xfce-4.12 You dont need to install it, sufficient to run it from build folder for testing. The method looks the same in thunar-master.
I tested it for the last couple of days and didn't get a crash. Looks like it works. Please merge. Thank you for your time.
Alexander Schwinn referenced this bugreport in commit 606c114a2508a378f2188f6a452e7d5cac948af8 Crash in thunar_file_is_gfile_ancestor (bug #14202) https://git.xfce.org/xfce/thunar/commit?id=606c114a2508a378f2188f6a452e7d5cac948af8
Alexander Schwinn referenced this bugreport in commit 2da1b2afd197d65be07560c6db35cc27686090e7 Crash in thunar_file_is_gfile_ancestor (bug #14202) https://git.xfce.org/xfce/thunar/commit?id=2da1b2afd197d65be07560c6db35cc27686090e7
You are welcome! Merged into master and branch xfce-4.12