GNOME Bugzilla – Bug 762759
Crash on start when ~/.cache is not accessible
Last modified: 2016-03-03 18:05:31 UTC
Since upgrading to 3.18.5, evolution crashes on launch. Previously I used 3.18.3 which worked fine. $ gdb evolution Reading symbols from evolution...Reading symbols from /usr/lib/debug/.build-id/a5/c5009a661ad6d9a4f0c162c18e103124226bcc.debug...done. done. (gdb) r Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffdb5bf700 (LWP 21643)] [New Thread 0x7fffdadbe700 (LWP 21644)] [New Thread 0x7fffd1ea1700 (LWP 21645)] [New Thread 0x7fffd16a0700 (LWP 21646)] [New Thread 0x7fffd0c67700 (LWP 21647)] [New Thread 0x7fffc7fff700 (LWP 21648)] [New Thread 0x7fffc6b27700 (LWP 21652)] [New Thread 0x7fffc6224700 (LWP 21653)] [Thread 0x7fffc6224700 (LWP 21653) exited] ** (evolution:21631): WARNING **: Failed to add service 'sam@blinkbox.com' (1380489432.25892.2@wintermute): Permission denied ** (evolution:21631): WARNING **: Failed to add service 'sam@robots.org.uk' (1380561889.26206.2@wintermute): Permission denied [New Thread 0x7fff73ed5700 (LWP 21674)] [New Thread 0x7fff736d4700 (LWP 21675)] [New Thread 0x7fff72ed3700 (LWP 21695)] [New Thread 0x7fff726d2700 (LWP 21696)] [New Thread 0x7fff71ed1700 (LWP 21697)] [New Thread 0x7fff716d0700 (LWP 21698)] [New Thread 0x7fff70ecf700 (LWP 21699)] [Thread 0x7fff72ed3700 (LWP 21695) exited] [Thread 0x7fff70ecf700 (LWP 21699) exited] [Thread 0x7fff716d0700 (LWP 21698) exited] [Thread 0x7fff71ed1700 (LWP 21697) exited] [Thread 0x7fff736d4700 (LWP 21675) exited] [Thread 0x7fff726d2700 (LWP 21696) exited] Program received signal SIGSEGV, Segmentation fault. camel_data_cache_set_expire_age (cdc=0x0, when=when@entry=86400) at camel-data-cache.c:248 248 camel-data-cache.c: No such file or directory. (gdb) where
+ Trace 236007
Thread 10 (Thread 0x7fff73ed5700 (LWP 21674))
Thread 1 (Thread 0x7ffff7edfac0 (LWP 21631))
(gdb)
This was caused by ~/.cache being inaccessible to my user.
(In reply to Sam Morris from comment #1) > This was caused by ~/.cache being inaccessible to my user. Thanks for a bug report. Do you know what was the reason, please? I do not think it was an issue on the evolution(-data-server) side, that the cache folder couldn't be accessed.
I think it was set that way by me, by accident, when restoring from a backup. Somehow it ended up owned by root:root. Still, I think evolution/eds should not crash if it can't access ~/.cache.
(In reply to Sam Morris from comment #3) > Still, I think evolution/eds not crash if it can't access ~/.cache. Yes, yes, I agree with that. I only wanted to know how much "legitimate" the state of inaccessible ~/.cache folder was.
This is downstream Debian bug report #816050 [1]. [1] https://bugs.debian.org/816050
I made two changes. One in the evolution-data-server, which adds safety checks for validity of the passed-in structure (these can be turned off during compile time of glib), and the in the evolution, which checks for validity in a slightly better way. The message preview also shows an error, if this situation happens. There are plenty of other runtime warnings on the console, thus it's sort of expected that things will break. Created commit_e0e4c6d in eds master (3.19.92+) [1] Created commit 78ab9b1 in evo master (3.19.92+) [1] https://git.gnome.org/browse/evolution-data-server/commit/?id=e0e4c6d