Hardy - Evolution Hangs on Recovery dialog

Bug #178452 reported by Bengt Thuree
6
Affects Status Importance Assigned to Milestone
Evolution
Fix Released
Critical
evolution (Ubuntu)
Fix Released
Medium
Ubuntu Desktop Bugs
Nominated for Hardy by Brad Langhorst

Bug Description

Binary package hint: evolution

I reported this bug on #177709, but got the advice to create a new bug which I hereby do.

In my case Evolution displays the recovery dialog, but I can not get past this dialog. Evolution just hangs, I managed to get past it before by removing all Evolution components, purging the ~/.evolution directory, and re-installing Evolution again.
I have tried different things, but my evolution just hangs on the recovery dialog.

I tried a gdb backtrace, but did not really show anything at all.
...
evolution-shell-Message: Killing old version of evolution-data-server...
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread 0xb542db90 (LWP 19810)]
(no debugging symbols found)
[New Thread 0xb4c23b90 (LWP 19812)]
[Thread 0xb4c23b90 (LWP 19812) exited]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread 0xb4c23b90 (LWP 19818)]
[New Thread 0xb4139b90 (LWP 19819)]
(no debugging symbols found)
(no debugging symbols found)
[Thread 0xb4139b90 (LWP 19819) exited]

Using latest Hardy, and updated to the latest software level as per 24th December 2007.

Would really appreciate some hints and tips for how to get my evolution to work again.
Or how to produce more information for you.

Related branches

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :

I see the same behavior: here's a backtrace

[Switching to Thread 0xb672d6b0 (LWP 25300)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7c98589 in __lll_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7c93ba6 in _L_lock_95 () from /lib/tls/i686/cmov/libpthread.so.0
#3 0xb7c9358a in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#4 0xb6f39040 in g_static_rec_mutex_lock () from /usr/lib/libglib-2.0.so.0
#5 0xb5a04d19 in ?? ()
   from /usr/lib/evolution-data-server-1.2/camel-providers-10/libcamelimap.so
#6 0x081056b0 in ?? ()
#7 0x08251618 in ?? ()
#8 0x00000000 in ?? ()

Changed in evolution:
status: New → Confirmed
Revision history for this message
C de-Avillez (hggdh2) wrote :

@Brad, can you please get a new backtrace, now with "thread aaply all bt"?

Also, before doing that, install either the Evo dbgsym or dgb packages -- the actual function calls we would like to see are being listed right now as '??', meaning you do not have debug symbols installed.

Please attach the output here rather than inlining it.

@Bengt: thank you for opening the bug. If you wish to, please do the same as Brad.

@all: you may want to look at https://wiki.ubuntu.com/DebuggingProgramCrash for details on how to install the dbgsym packages.

Thanks to all for helping make Ubuntu better.

Revision history for this message
C de-Avillez (hggdh2) wrote :

I am sorry -- the correct command to issue under gdb is 'thread apply all bt'. I had a typo on 'apply'.

Sorry again.

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :

that bt was with these packages installed
ii evolution 2.21.4-0ubuntu1 groupware suite with mail client and organiz
ii evolution-common 2.21.4-0ubuntu1 architecture independent files for Evolution
ii evolution-data-server 2.21.4-0ubuntu1 evolution database backend server
ii evolution-data-server-common 2.21.4-0ubuntu1 architecture independent files for Evolution
ii evolution-dbg 2.21.4-0ubuntu1 debugging symbols for Evolution
ii evolution-exchange 2.21.4-0ubuntu1 Exchange plugin for the Evolution groupware
ii evolution-plugins 2.21.4-0ubuntu1 standard plugins for Evolution
ii evolution-webcal 2.12.0-1ubuntu1 webcal: URL handler for GNOME and Evolut

I've installed the
evolution-data-server-dbg package too, hopefully that , in combination with the multi-threaded bt will help.

I'll post again when i see the problem next. I've already seen in twice now so i suspect it will be soon.

Revision history for this message
C de-Avillez (hggdh2) wrote :

@Brad: yes, either the dbg or the dgbsym will do the trick. The point is we need to know who called the dialog, and with what options, and only a backtrace with symbols will shed some light here.

You can install either the dbg packages or the dbgsym one, but *NOT* both -- they will conflict. Please also install the evolution dbg -- I am not sure the dialog is driven by e-d-s or evo itself.

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :
Download full text (6.1 KiB)

I experienced the problem again today...
here's the full bt with all the evo symbol packages installed.

bwlang@up:~$ gdb evolution
GNU gdb 6.7.1-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) go
Undefined command: "go". Try "help".
(gdb) run
Starting program: /usr/bin/evolution
[Thread debugging using libthread_db enabled]
[New Thread 0xb67116b0 (LWP 1563)]
evolution-shell-Message: Killing old version of evolution-data-server...
[New Thread 0xb59d1b90 (LWP 1594)]
[New Thread 0xb4fffb90 (LWP 1595)]
[Thread 0xb4fffb90 (LWP 1595) exited]
[New Thread 0xb4fffb90 (LWP 1596)]
[New Thread 0xb468cb90 (LWP 1600)]
[Thread 0xb468cb90 (LWP 1600) exited]

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb67116b0 (LWP 1563)]
0xffffe410 in __kernel_vsyscall ()
(gdb) thread apply all bt

Thread 4 (Thread 0xb4fffb90 (LWP 1596)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7c79aa5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb6ecee52 in ?? () from /usr/lib/libglib-2.0.so.0
#3 0x08275948 in ?? ()
#4 0x08270868 in ?? ()
#5 0xb4fff108 in ?? ()
#6 0xb6ecf15f in g_async_queue_pop_unlocked () from /usr/lib/libglib-2.0.so.0
#7 0xb7bbce45 in e_msgport_wait (msgport=0x8271d68) at e-msgport.c:684
#8 0xb7d0ed2e in ep_msg_send (msg=0x825b188) at e-passwords.c:298
#9 0xb7d0ff35 in e_passwords_get_password (component_name=0xb656764a "Mail",
    key=0x825af48 "imap://<email address hidden>/") at e-passwords.c:1121
#10 0xb65381bb in get_password (session=0x80ef808, service=0x8173800,
    domain=0xb656764a "Mail",
    prompt=0x8272800 "Please enter the IMAP password for <email address hidden>", item=0xb59ef6d9 "password", flags=4, ex=0xb5001bc8) at mail-session.c:184
#11 0xb7d9f2b5 in camel_session_get_password (session=0x80ef808,
    service=0x8173800, domain=0x0,
    prompt=0x8272800 "Please enter the IMAP password for <email address hidden>", item=0xb59ef6d9 "password", flags=4, ex=0xb5001bc8) at camel-session.c:376
#12 0xb59e8db8 in imap_connect_online (service=0x8173800, ex=0xb5001bc8)
---Type <return> to continue, or q <return> to quit---
    at camel-imap-store.c:1379
#13 0xb7d7e7b6 in disco_connect (service=0x8173800, ex=0xb5001bc8)
    at camel-disco-store.c:162
#14 0xb7d9e0df in camel_service_connect (service=0x8173800, ex=0xb5001bc8)
    at camel-service.c:371
#15 0xb59e3e84 in camel_imap_store_connected (store=0x8173800, ex=0xb5001bc8)
    at camel-imap-store.c:2997
#16 0xb59e59b3 in refresh_refresh (session=0x80ef808, msg=0xb5001b98)
    at camel-imap-store.c:2647
#17 0xb7d9f802 in session_thread_proxy (msg=0xb5001b98, session=0x80ef808)
    at camel-session.c:532
#18 0xb6f1e57b in ?? () from /usr/lib/libglib-2.0.so.0
#19 0xb5001b98 in ?? ()
#20 0x080ef808 in ?? ()
#21 0xb4fff3a8 in ?? ()
#22 0xb6f6ba20 in ?? ...

Read more...

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :

Tried to pin it down a bit more by deleting stuff in .evolution .
First i deleted the cache folder and tried to restart - same hang.
Then i tried deleting *.db - the recovery dialog then worked properly... wish i had just done the .db files one at a time.

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :

removing only camel-cert.db solves the problem...
putting it back causes the hang.

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :

thought this was fixed with the latest evolution (
2.21.90-0ubuntu1)

it specifically mentions:
#509741: Fix a crash that occurs when prompted to accept a certificate

but alas that's a different issue.

I still have to remove camel-cert.db every time i start up,
and all of .evolution if i attempt to add my certificate authority to the list of trusted CAs.

Maybe this only bites people using CAs that are not in the default trusted list.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug. There is a similar issue described upstream, you can read about it there, http://bugzilla.gnome.org/show_bug.cgi?id=512776

Changed in evolution:
assignee: nobody → desktop-bugs
importance: Undecided → Medium
status: Confirmed → Triaged
Changed in evolution:
status: Unknown → New
Revision history for this message
Brad Langhorst (brad-langhorst) wrote :
Download full text (5.7 KiB)

This may be fixed in the most recent version... I no longer have to delete camel-cert.db to get things working. I just have to kill evo and restart.

here's a new bt
#0 0xb7f68410 in __kernel_vsyscall ()
#1 0xb6cd6697 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6d94126 in ?? () from /usr/lib/libglib-2.0.so.0
#3 0x081c62e8 in ?? ()
#4 0x00000002 in ?? ()
#5 0xffffffff in ?? ()
#6 0x081c62e8 in ?? ()
#7 0x00000002 in ?? ()
#8 0xb6e075f8 in ?? () from /usr/lib/libglib-2.0.so.0
#9 0xb6e07620 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb4bb1334 in ?? ()
#11 0x00000001 in ?? ()
#12 0x00000001 in ?? ()
#13 0x081bb730 in ?? ()
#14 0x081c62e8 in ?? ()
#15 0xb6cd6620 in ?? () from /lib/tls/i686/cmov/libc.so.6
#16 0xb7b3bdf0 in ?? () from /lib/tls/i686/cmov/libpthread.so.0
#17 0xb7b3a520 in ?? () from /lib/tls/i686/cmov/libpthread.so.0
#18 0xb6db89e2 in g_thread_self () from /usr/lib/libglib-2.0.so.0
#19 0xb6d944d7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#20 0xb6e99784 in ?? () from /usr/lib/libnm_glib.so.0
---Type <return> to continue, or q <return> to quit---
#21 0x081bb7b0 in ?? ()
#22 0x081c0a00 in ?? ()
#23 0xb7f794e4 in ___tls_get_addr () from /lib/ld-linux.so.2
#24 0xb6db8f6f in ?? () from /usr/lib/libglib-2.0.so.0
#25 0x081b8b00 in ?? ()
#26 0x081c0a00 in ?? ()
#27 0xb6d54ff4 in ?? () from /lib/tls/i686/cmov/libc.so.6
#28 0xb6d53284 in ?? () from /lib/tls/i686/cmov/libc.so.6
#29 0xb6d2199e in ?? () from /lib/tls/i686/cmov/libc.so.6
#30 0xb4bb13c4 in ?? ()
#31 0xb7b3a520 in ?? () from /lib/tls/i686/cmov/libpthread.so.0
#32 0xb7b47ff4 in ?? () from /lib/tls/i686/cmov/libpthread.so.0
#33 0x00000000 in ?? ()

Thread 3 (Thread 0xb43b0b90 (LWP 20206)):
#0 0xb7f68410 in __kernel_vsyscall ()
#1 0xb7b3caa5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7a8370b in e_flag_wait (flag=0x8253bc0) at e-flag.c:120
#3 0xb62bb30f in alert_user (session=0x8103220,
    type=CAMEL_SESSION_ALERT_WARNING,
    prompt=0xb2823758 "SSL Certificate check for langhorst.com:\n\nIssuer:", ' ' <repeats 12 times>, "<email address hidden>,CN=CA Cert Signing Authority,OU=http:---Type <return> to continue, or q <return> to quit---
//www.cacert.org,O=Root CA\nSubject:", ' ' <repeats 11 times>, "CN=langhorst.com\nFingerprint: "..., cancel=1) at mail-session.c:423
#4 0xb7ddf7c3 in camel_session_alert_user (session=0x8103220,
    type=CAMEL_SESSION_ALERT_WARNING,
    prompt=0xb2823758 "SSL Certificate check for langhorst.com:\n\nIssuer:", ' ' <repeats 12 times>, "<email address hidden>,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA\nSubject:", ' ' <repeats 11 times>, "CN=langhorst.com\nFingerprint: "..., cancel=1) at camel-session.c:432
#5 0xb7de7d88 in ssl_bad_cert (data=0x8253400, sockfd=0x8253fb0)
    at camel-tcp-stream-ssl.c:886
#6 0xb7c4d6bc in ?? () from /usr/lib/libssl3.so.1d
#7 0x08253400 in ?? ()
#8 0x08253fb0 in ?? ()
#9 0x00000001 in ?? ()
#10 0x00000000 in ?? ()

Thread 2 (Thread 0xb53bbb90 (LWP 20228)):
#0 0xb7f68410 in __kernel_vsyscall ()
#1 0xb7b3f589 in __lll_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7b3aba6 in _L_lock_95 () from /lib/tls/i...

Read more...

Revision history for this message
Sebastien Bacher (seb128) wrote :

do you still get the issue? your comment about just needing to restart is not clear, you means you get the bug on some starts and not others?

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :

I do still experience this bug every time i start evo.

Actually, I do have to remove camel-cert sometimes - but not every time,
the stack trace above is from a time when i did not have to remove camel-cert.

When I don't have remove camel-cert.db, it seems that i have to trigger recovery mode by killing evo, then starting again and doing recovery.

Sometimes that doesn't work, and I do have to remove camel-cert.db, but I have not been able to isolate the circumstances that differentiate between these two failure modes.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Could you try to install this version and comment on whether it fixes the issue?

Revision history for this message
Brad Langhorst (brad-langhorst) wrote :

I installe this version, it seems to have solved my trouble.
Initially it prompted me that my server was not valid, but did not crash.
I did that a few times.

Then I added my cert auth to the list of trusted cert auths, and have not seen a hang during startup after 10 tries.

I think that's a fix.

Changed in evolution:
status: New → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

The bug has been fixed upstream now

Changed in evolution:
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package evolution - 2.21.92-0ubuntu1

---------------
evolution (2.21.92-0ubuntu1) hardy; urgency=low

  * New upstream version:
    Bug Fixes:
    - #153807: (Novell Bugzilla) Patch from OpenSUSE
    - #159736: (Novell Bugzilla) Fix a crash when dbus daemon restarts
    - #167638: Quit evolution quickly
    - #173186: (Novell Bugzilla) Fix a crash while quitting
    - #178778: (Novell Bugzilla) Fix a crash when creating an appointment
    - #209353: Allow paste text on mouse middle button click
    - #209353: Pass Home/End keys to cell when editing
    - #294999: (Novell Bugzilla) Fix subscribing to other user's exchange folder
    - #339266: Do not show folder size in offline mode
    - #358697: (Novell Bugzilla) Make sure the default search filter
               for sent/draft/outbox is "Recipients Contain"
    - #383438: Report "mouse over" even with no text entered
    - #440426: Unset also default_client if removing it
    - #469292: Add empty line only when top posting is enabled
    - #471779: Sort timezone entries alphabetically
    - #512776: Fix a startup issue (lp: #178452)
    - #516408: Free memory returned my libical
    - #514836: Fix importing contact lists into a attendee lists for a meeting
    - #514987: New sorting by Status based on the index in popup,
               not on the text (lp: #187294)
    - #515659: "Highlight quotations with" checkbox doesn't do anything
    - #515744: Memory leak fix
    - #516234: Removed a stray printf
    - #516279: Don't allow newlines in the password dialog title.
               Use a fixed string instead
    - #516349: Do not force black text in quotation part of the message
    - #516453: Change Not Started status back to Canceled
               when Canceled requested
    - #516648: Use "pkill -x" to kill processes on Solaris
    - #516648: Use $HOME instead of "~"
    - #517072: Properly escape text
    - #517082: Fix small leak
    - #517129: Fix build break of pl translation
    - #517458: Handle broken UIDs (lp: #189996)
    Updated Translations
  * debian/control:
   - updated evolution-data-server requirement

 -- Sebastien Bacher <email address hidden> Tue, 26 Feb 2008 01:06:29 +0100

Changed in evolution:
status: Fix Committed → Fix Released
Changed in evolution:
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.