After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 762759 - Crash on start when ~/.cache is not accessible
Crash on start when ~/.cache is not accessible
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: general
3.18.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2016-02-26 22:27 UTC by Sam Morris
Modified: 2016-03-03 18:05 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sam Morris 2016-02-26 22:27:41 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

Thread 10 (Thread 0x7fff73ed5700 (LWP 21674))

  • #0 syscall
    from /lib/x86_64-linux-gnu/libc.so.6
  • #1 g_cond_wait_until
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #2 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #3 g_async_queue_timeout_pop
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #4 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #5 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #6 start_thread
    from /lib/x86_64-linux-gnu/libpthread.so.0
  • #7 clone
    from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7ffff7edfac0 (LWP 21631))

  • #0 camel_data_cache_set_expire_age
    at camel-data-cache.c line 248
  • #1 e_mail_display_init
    at e-mail-display.c line 2018
  • #2 g_type_create_instance
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #3 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #4 g_object_new_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #5 g_object_new
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #6 mail_paned_view_constructed
    at e-mail-paned-view.c line 681
  • #7 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #8 g_object_new_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #9 g_object_new
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #10 e_mail_paned_view_new
    at e-mail-paned-view.c line 1110
  • #11 mail_shell_content_constructed
    at e-mail-shell-content.c line 198
  • #12 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #13 g_object_new_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #14 g_object_new
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #15 shell_view_constructed
    at e-shell-view.c line 617
  • #16 mail_shell_view_constructed
    at e-mail-shell-view.c line 307
  • #17 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #18 g_object_new_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #19 g_object_new
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #20 shell_window_create_shell_view
    at e-shell-window.c line 774
  • #21 e_shell_window_get_shell_view
    at e-shell-window.c line 1228
  • #22 e_shell_window_set_active_view
    at e-shell-window.c line 1470
  • #23 shell_window_set_property
    at e-shell-window.c line 290
  • #24 g_object_set_property
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #25 ??
    from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
  • #26 g_settings_bind_with_mapping
    from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
  • #27 g_settings_bind
    from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
  • #28 e_shell_window_private_constructed
    at e-shell-window-private.c line 434
  • #29 shell_window_constructed
    at e-shell-window.c line 435
  • #30 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #31 g_object_new_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #32 g_object_new
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #33 e_shell_window_new
    at e-shell-window.c line 1153
  • #34 e_shell_create_shell_window
    at e-shell.c line 2236
  • #35 idle_cb
    at main.c line 260
  • #36 g_main_context_dispatch
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #37 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #38 g_main_loop_run
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #39 gtk_main
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #40 main
    at main.c line 660

(gdb)
Comment 1 Sam Morris 2016-02-29 01:50:11 UTC
This was caused by ~/.cache being inaccessible to my user.
Comment 2 Milan Crha 2016-02-29 14:59:02 UTC
(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.
Comment 3 Sam Morris 2016-02-29 20:36:44 UTC
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.
Comment 4 Milan Crha 2016-03-01 09:41:00 UTC
(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.
Comment 5 Paul Menzel 2016-03-02 10:02:45 UTC
This is downstream Debian bug report #816050 [1].

[1] https://bugs.debian.org/816050
Comment 6 Milan Crha 2016-03-03 18:05:31 UTC
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