I found x11/mate/caja to be unreliable at starting. It has a segmentation fault 9 times of 10 in 7.0 while (reported by someone who tried) it works reliably on 6.9. I get the crash on two 7.0 machines.
I tried to run it from fvwm or cwm and same issue happen. I compiled it with debugs symbols and got the backtrace of each thread upon crash. It seems when started from mate-session it doesn't crash and once it's run, the new processes must reuse the current process and then won't ever crash. Reading symbols from caja...Reading symbols from /usr/local/bin/.debug/caja.dbg...done. done. (gdb) run Starting program: /usr/local/bin/caja [New process 60788] [New thread 150505] [New thread 571791] [New thread 576065] [New thread 233739] [New thread 177670] [New thread 535484] Thread 1 received signal SIGSEGV, Segmentation fault. strcmp () at /usr/src/lib/libc/arch/amd64/string/strcmp.S:59 59 movb (%rdi),%al (gdb) bt #0 strcmp () at /usr/src/lib/libc/arch/amd64/string/strcmp.S:59 #1 0x000000057873bd0e in caja_application_open (app=<optimized out>, files=0x85750f6a0, n_files=1, options=<optimized out>) at caja-application.c:379 #2 0x00000007e69b6a24 in _g_cclosure_marshal_VOID__POINTER_INT_STRINGv () from /usr/local/lib/libgio-2.0.so.4200.13 #3 0x00000008033f409f in _g_closure_invoke_va () from /usr/local/lib/libgobject-2.0.so.4200.13 #4 0x000000080340d3ea in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.4200.13 #5 0x000000080340ddc1 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.4200.13 #6 0x000000057873c7e5 in caja_application_local_command_line (application=<optimized out>, arguments=<optimized out>, exit_status=<optimized out>) at caja-application.c:2079 #7 0x00000007e6a2218c in g_application_run () from /usr/local/lib/libgio-2.0.so.4200.13 #8 0x0000000578752beb in main (argc=1, argv=0x7f7ffffd13e8) at caja-main.c:271 (gdb) thread 2 [Switching to thread 2 (thread 386342)] #0 futex () at /tmp/-:3 3 /tmp/-: No such file or directory. (gdb) bt #0 futex () at /tmp/-:3 #1 0x00000007ddad6d45 in _twait (p=0x872768410, val=3, clockid=3, abs=0x0) at /usr/src/lib/libc/thread/synch.h:36 #2 _rthread_cond_timedwait (cond=0x872768410, mutexp=0x87371fa90, abs=0x0) at /usr/src/lib/libc/thread/rthread_cond.c:106 #3 0x0000000821d062f2 in g_cond_wait () from /usr/local/lib/libglib-2.0.so.4201.6 #4 0x0000000821c6b6c5 in g_async_queue_pop_intern_unlocked () from /usr/local/lib/libglib-2.0.so.4201.6 #5 0x0000000821cd7b38 in g_thread_pool_spawn_thread () from /usr/local/lib/libglib-2.0.so.4201.6 #6 0x0000000821cd7425 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #7 0x000000079e766f01 in _rthread_start (v=<error reading variable: Unhandled dwarf expression opcode 0xa3>) at /usr/src/lib/librthread/rthread.c:96 #8 0x00000007ddaf95fa in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84 (gdb) thread 3 [Switching to thread 3 (thread 150505)] #0 _thread_sys_poll () at /tmp/-:3 3 /tmp/-: No such file or directory. (gdb) bt #0 _thread_sys_poll () at /tmp/-:3 #1 0x00000007ddb0237e in _libc_poll_cancel (fds=0x82db2b030, nfds=2, timeout=7093) at /usr/src/lib/libc/sys/w_poll.c:27 #2 0x0000000821ca6d32 in g_main_context_iterate () from /usr/local/lib/libglib-2.0.so.4201.6 #3 0x0000000821ca6e65 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.4201.6 #4 0x0000000821ca91a1 in glib_worker_main () from /usr/local/lib/libglib-2.0.so.4201.6 #5 0x0000000821cd7425 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #6 0x000000079e766f01 in _rthread_start (v=<error reading variable: Unhandled dwarf expression opcode 0xa3>) at /usr/src/lib/librthread/rthread.c:96 #7 0x00000007ddaf95fa in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84 (gdb) thread 4 [Switching to thread 4 (thread 571791)] #0 _thread_sys_poll () at /tmp/-:3 3 in /tmp/- (gdb) bt #0 _thread_sys_poll () at /tmp/-:3 #1 0x00000007ddb0237e in _libc_poll_cancel (fds=0x854e8c6a0, nfds=2, timeout=-1) at /usr/src/lib/libc/sys/w_poll.c:27 #2 0x0000000821ca6d32 in g_main_context_iterate () from /usr/local/lib/libglib-2.0.so.4201.6 #3 0x0000000821ca71aa in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.4201.6 #4 0x00000007e6a6eb48 in gdbus_shared_thread_func () from /usr/local/lib/libgio-2.0.so.4200.13 #5 0x0000000821cd7425 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #6 0x000000079e766f01 in _rthread_start (v=<error reading variable: Unhandled dwarf expression opcode 0xa3>) at /usr/src/lib/librthread/rthread.c:96 #7 0x00000007ddaf95fa in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84 (gdb) thread 5 [Switching to thread 5 (thread 576065)] #0 stat () at /tmp/-:3 3 /tmp/-: No such file or directory. (gdb) bt #0 stat () at /tmp/-:3 #1 0x0000000821c8dbcd in g_file_test () from /usr/local/lib/libglib-2.0.so.4201.6 #2 0x00000007e6a8c1e1 in get_thumbnail_attributes () from /usr/local/lib/libgio-2.0.so.4200.13 #3 0x00000007e6a8b908 in _g_local_file_info_get () from /usr/local/lib/libgio-2.0.so.4200.13 #4 0x00000007e6a878a6 in g_local_file_query_info () from /usr/local/lib/libgio-2.0.so.4200.13 #5 0x00000007e6995466 in query_info_async_thread () from /usr/local/lib/libgio-2.0.so.4200.13 #6 0x00000007e69eff2e in g_task_thread_pool_thread () from /usr/local/lib/libgio-2.0.so.4200.13 #7 0x0000000821cd8939 in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #8 0x0000000821cd7425 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #9 0x000000079e766f01 in _rthread_start (v=<error reading variable: Unhandled dwarf expression opcode 0xa3>) at /usr/src/lib/librthread/rthread.c:96 #10 0x00000007ddaf95fa in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84 (gdb) thread 6 [Switching to thread 6 (thread 233739)] #0 _thread_sys_poll () at /tmp/-:3 3 /tmp/-: No such file or directory. (gdb) bt #0 _thread_sys_poll () at /tmp/-:3 #1 0x00000007ddb0237e in _libc_poll_cancel (fds=0x85da8a4c0, nfds=1, timeout=-1) at /usr/src/lib/libc/sys/w_poll.c:27 #2 0x0000000821ca6d32 in g_main_context_iterate () from /usr/local/lib/libglib-2.0.so.4201.6 #3 0x0000000821ca6e65 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.4201.6 #4 0x000000082362e9dd in dconf_gdbus_worker_thread () from /usr/local/lib/gio/modules/libdconfsettings.so #5 0x0000000821cd7425 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #6 0x000000079e766f01 in _rthread_start (v=<error reading variable: Unhandled dwarf expression opcode 0xa3>) at /usr/src/lib/librthread/rthread.c:96 #7 0x00000007ddaf95fa in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84 (gdb) thread 7 [Switching to thread 7 (thread 177670)] #0 futex () at /tmp/-:3 3 /tmp/-: No such file or directory. (gdb) bt #0 futex () at /tmp/-:3 #1 0x00000007ddad6d45 in _twait (p=0x8727626d0, val=1, clockid=3, abs=0x7e6c7e820) at /usr/src/lib/libc/thread/synch.h:36 #2 _rthread_cond_timedwait (cond=0x8727626d0, mutexp=0x87370dd50, abs=0x7e6c7e820) at /usr/src/lib/libc/thread/rthread_cond.c:106 #3 0x0000000821d06560 in g_cond_wait_until () from /usr/local/lib/libglib-2.0.so.4201.6 #4 0x0000000821c6b6e6 in g_async_queue_pop_intern_unlocked () from /usr/local/lib/libglib-2.0.so.4201.6 #5 0x0000000821cd890a in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #6 0x0000000821cd7425 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #7 0x000000079e766f01 in _rthread_start (v=<error reading variable: Unhandled dwarf expression opcode 0xa3>) at /usr/src/lib/librthread/rthread.c:96 #8 0x00000007ddaf95fa in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84 (gdb) thread 8 [Switching to thread 8 (thread 535484)] #0 futex () at /tmp/-:3 3 in /tmp/- (gdb) bt #0 futex () at /tmp/-:3 #1 0x00000007ddad6d45 in _twait (p=0x8727626d0, val=1, clockid=3, abs=0x7975f8460) at /usr/src/lib/libc/thread/synch.h:36 #2 _rthread_cond_timedwait (cond=0x8727626d0, mutexp=0x87370dd50, abs=0x7975f8460) at /usr/src/lib/libc/thread/rthread_cond.c:106 #3 0x0000000821d06560 in g_cond_wait_until () from /usr/local/lib/libglib-2.0.so.4201.6 #4 0x0000000821c6b6e6 in g_async_queue_pop_intern_unlocked () from /usr/local/lib/libglib-2.0.so.4201.6 #5 0x0000000821cd890a in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #6 0x0000000821cd7425 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4201.6 #7 0x000000079e766f01 in _rthread_start (v=<error reading variable: Unhandled dwarf expression opcode 0xa3>) at /usr/src/lib/librthread/rthread.c:96 #8 0x00000007ddaf95fa in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84