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 334872 - evolution hangs while doing nothing special
evolution hangs while doing nothing special
Status: RESOLVED OBSOLETE
Product: evolution
Classification: Applications
Component: Mailer
2.6.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2006-03-17 12:38 UTC by Sebastien Bacher
Modified: 2008-07-18 17:39 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
part one of strace from crash (177.27 KB, application/octet-stream)
2006-08-01 13:32 UTC, James Strandboge
Details
part 2 of strace from crash (192.97 KB, application/octet-stream)
2006-08-01 13:34 UTC, James Strandboge
Details
email to trigger a UI hang (9.64 KB, application/octet-stream)
2006-08-01 14:13 UTC, James Strandboge
Details

Description Sebastien Bacher 2006-03-17 12:38:16 UTC
Using GNOME 2.14.0, evolution UI is frozen at the moment, backtrace of the issue:

(gdb) bt

Comment 1 Sebastien Bacher 2006-03-29 17:02:44 UTC
still happening, any detail that could be useful for you?
Comment 2 Daniel Holbach 2006-04-12 09:14:07 UTC


Thread 7 (Thread -1247695952 (LWP 9540))

  • #0 __read_nocancel
    from /lib/tls/libc.so.6
  • #1 e_msgport_get
    at e-msgport.c line 682
  • #2 camel_operation_unref
    at camel-operation.c line 213
  • #3 mail_msg_received
    at mail-mt.c line 578
  • #4 thread_dispatch
    at e-msgport.c line 974
  • #5 start_thread
    from /lib/tls/libpthread.so.0
  • #6 clone
    from /lib/tls/libc.so.6

Thread 5 (Thread -1264866384 (LWP 9546))

  • #0 __lll_mutex_lock_wait
    from /lib/tls/libpthread.so.0
  • #1 _L_mutex_lock_33
    from /lib/tls/libpthread.so.0
  • #2 ??
  • #3 pthread_getspecific
    from /lib/tls/libpthread.so.0
  • #4 pthread_mutex_lock
    from /lib/tls/libc.so.6
  • #5 camel_operation_cancel_check
    at camel-operation.c line 397
  • #6 camel_read
  • #7 stream_read
    at camel-stream-fs.c line 224
  • #8 camel_stream_read
  • #9 folder_read
    at camel-mime-parser.c line 908
  • #10 folder_scan_step
    at camel-mime-parser.c line 1197
  • #11 camel_mime_parser_step
    at camel-mime-parser.c line 625
  • #12 construct_from_parser
    at camel-mime-part.c line 936
  • #13 construct_from_parser
    at camel-mime-message.c line 590
  • #14 camel_mime_part_construct_from_parser
    at camel-mime-part.c line 989
  • #15 construct_from_stream
    at camel-mime-part.c line 1005
  • #16 camel_data_wrapper_construct_from_stream
    at camel-data-wrapper.c line 272
  • #17 get_message_simple
    at camel-imap-folder.c line 2018
  • #18 imap_get_message
    at camel-imap-folder.c line 2151
  • #19 camel_folder_get_message
    at camel-folder.c line 1070
  • #20 get_message_get
    at mail-ops.c line 1752
  • #21 mail_msg_received
    at mail-mt.c line 570
  • #22 thread_dispatch
    at e-msgport.c line 974
  • #23 start_thread
    from /lib/tls/libpthread.so.0
  • #24 clone
    from /lib/tls/libc.so.6

Thread 1 (Thread -1231882016 (LWP 9538))

  • #0 __lll_mutex_lock_wait
    from /lib/tls/libpthread.so.0
  • #1 _L_mutex_lock_33
    from /lib/tls/libpthread.so.0
  • #2 ??
  • #3 ??
    from /lib/tls/libc.so.6
  • #4 ??
  • #5 pthread_mutex_init
    from /lib/tls/libc.so.6
  • #6 pthread_mutex_lock
    from /lib/tls/libc.so.6
  • #7 do_op_status
    at mail-mt.c line 940
  • #8 mail_msgport_received
    at mail-mt.c line 488
  • #9 g_io_unix_dispatch
    at giounix.c line 162
  • #10 IA__g_main_context_dispatch
    at gmain.c line 1916
  • #11 g_main_context_iterate
    at gmain.c line 2547
  • #12 IA__g_main_loop_run
    at gmain.c line 2751
  • #13 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #14 main
    at main.c line 612
  • #0 __lll_mutex_lock_wait
    from /lib/tls/libpthread.so.0
  • #0 __lll_mutex_lock_wait
    from /lib/tls/libpthread.so.0
  • #1 _L_mutex_lock_33
    from /lib/tls/libpthread.so.0
  • #2 ??
  • #3 ??
    from /lib/tls/libc.so.6
  • #4 ??
  • #5 pthread_mutex_init
    from /lib/tls/libc.so.6
  • #6 pthread_mutex_lock
    from /lib/tls/libc.so.6
  • #7 do_op_status
    at mail-mt.c line 940
  • #8 mail_msgport_received
    at mail-mt.c line 488
  • #9 g_io_unix_dispatch
    at giounix.c line 162
  • #10 IA__g_main_context_dispatch
    at gmain.c line 1916
  • #11 g_main_context_iterate
    at gmain.c line 2547
  • #12 IA__g_main_loop_run
    at gmain.c line 2751
  • #13 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #14 main
    at main.c line 612




<dholbach> I think it receiving new mails, while I jumped to another folder and it wanted to display a message
<dholbach> i don't think it was a big mail, but it might have been caused by a gpg key? does that make sense?
Comment 3 Sebastien Bacher 2006-04-17 19:54:00 UTC
bug #331172 seems to be the same issue
Comment 4 Harish Krishnaswamy 2006-04-18 11:54:59 UTC
reassigning it to the mailer team
Comment 5 Sebastien Bacher 2006-05-07 17:37:15 UTC
still happening with 2.14.1
Comment 6 James Strandboge 2006-07-25 16:02:40 UTC
FYI...

I was having these problems as well, then googled and checked bugzilla and found someone mentioned it could be gpg.  I remembered during one hang, the status said 'Verifying signature...'.

So I checked ~/.gnupg/options and removed 'auto-key-retrieve' from my 'keyserver-options' setting.  It has now been a couple of weeks without a crash in evolution.

Evolution 2.6.1 from up to date Ubuntu Dapper (gnome 2.14.2).
Comment 7 James Strandboge 2006-08-01 13:16:37 UTC
I had another hang today, with the following backtrace.  I figured how to trigger the crash here however.  Find a folder with many messages in it (mine has 590).  Use a filter to display only some of them (mine shows 33 messages of the 590).  Choose a message within these filtered messages that has a gpg signature to be validated (key does not have to be in your keyring).  Then click 'Clear' to clear the filter and then click another folder quickly (while it is still indexing the folder).  It will hang while saying 'Verifying signature'.

I can only assume that this will work on any folder meeting the above, but the messages I am using are a folder full of debian security mailing list entries with the filter as 'kernel' and choosing a message from 'Moritz Muehlenhoff'.

Strace will follow.


0xffffe410 in __kernel_vsyscall ()
(gdb) bt

Comment 8 James Strandboge 2006-08-01 13:32:56 UTC
Created attachment 70025 [details]
part one of strace from crash
Comment 9 James Strandboge 2006-08-01 13:34:06 UTC
Created attachment 70026 [details]
part 2 of strace from crash
Comment 10 James Strandboge 2006-08-01 13:37:11 UTC
To view the strace, do:
$ gzip -d ./evo.strace_pt1
$ gzip -d ./evo.strace_pt2
$ cp ./evo.strace_pt1 ./evo.strace
$ cat evo.strace_pt2 >> ./evo.strace

I said in uploading the strace files that this was a 'crash', but it is a UI hang.
Comment 11 James Strandboge 2006-08-01 14:12:25 UTC
I played with this some more, and found that it is only some messages with gpg signatures.  I will attach a message from the debian security list that will hang evolution.

Steps to reproduce the hang:
1. Save the attached as hang_trigger_email and uncompress it with gzip

2. Open evolution and create a folder called 'Crasher'

3. Import the hang_trigger_email into evolution (via File/Import) into the Crasher folder

4. Navigate to the Crasher folder (hang_trigger_email will be the only email in the folder)

5. enter a search filter of 'kernel' and click 'Find now'

6. select the message

7. press 'Clear' to clear the search filter

8. UI hangs

GPG signed emails from some people work fine, but signed emails from other people do not.
Comment 12 James Strandboge 2006-08-01 14:13:33 UTC
Created attachment 70029 [details]
email to trigger a UI hang
Comment 13 Jeffrey Stedfast 2006-08-01 14:29:51 UTC
is it maybe gpg hanging trying to fetch the key from a keyserver?

can you try disabling that gpg feature in your ~/.gnupg/gpg.conf file?
Comment 14 James Strandboge 2006-08-01 14:35:06 UTC
In a previous post I mentioned that auto-key-retrieve is disabled.  Still happens.

$ cat ~/.gnupg/options | grep keyserver
# GnuPG can send and receive keys to and from a keyserver.  These
# Example HKP keyserver:
#      x-hkp://keyserver.cryptnet.net
# Example email keyserver:
# Example LDAP keyserver:
#      ldap://keyserver.pgp.com
#      x-hkp://keyserver.example.net:22742
#      x-broken-hkp://keyserver.example.net
# Most users just set the name and type of their preferred keyserver.
#keyserver x-hkp://keyserver.cryptnet.net
#keyserver mailto:pgp-public-keys@keys.nl.pgp.net
#keyserver ldap://keyserver.pgp.com
# Options for keyserver functions
#                    on the keyserver (not all keyservers support this).
#                   on the keyserver.
#                  keyserver.  Some platforms (Win32 for one) always
# honor-http-proxy = if the keyserver uses http, honor the http_proxy
#                     keyserver when verifying signatures or when importing
#keyserver wwwkeys.pgp.net
#keyserver x-hkp://keyserver.cryptnet.net
#keyserver-options auto-key-retrieve include-disabled include-revoked
#keyserver-options include-disabled include-revoked
Comment 15 James Strandboge 2006-08-01 14:44:40 UTC
Here is a backtrace with debugging symbols:

(gdb) bt

Comment 16 Sebastien Bacher 2006-08-01 21:09:52 UTC
I didn't have a such hang for some time, it seems to be fixed with GNOME 2.15.n 
Comment 17 James Strandboge 2006-08-01 21:45:05 UTC
does it work with the procedure I detailed above and the attached email?
Comment 18 Sebastien Bacher 2006-08-11 09:27:41 UTC
I've not tried with that mail but it looks like a standard gpg signed mail, I used to have the issue pretty often and that was the case for other Ubuntu users too, nobody seemed to had it in weeks now with GNOME 2.15.n so I would say it's fixed
Comment 19 James Strandboge 2006-08-11 11:47:17 UTC
I tried with that email in an Ubuntu Edgy live cd and it didn't hang.  So it appears to be fixed in 2.15.x.

Is there any chance for the change to be committed to 2.14?  I just moved a lot of people to Ubuntu Dapper because of its 3 years support and this bug, while not a showstopper, is definitely annoying.  I am sure other distributions are in the same situation as well.
Comment 20 Sebastien Bacher 2006-08-11 12:30:54 UTC
if you figure what commit fix it and it's simple enough to be backport I would be happy to patch the package for that. figuring what change fixes that issue when you have the bug every now and then is not trivial :/
Comment 21 James Strandboge 2006-08-11 13:00:12 UTC
Absolutely-- the occasional hang is very hard to fix.  However, I provided an email which will trigger it consistently on Dapper.  I also provided backtraces with debugging symbols, straces and I tried to look through the code, but the evolution codebase is rather daunting for someone new to it.  I'd tried running evolution through ddd, but I don't have the experience debugging evolution to get very far (I'm a sysadmin with some programming skills, but not a gnome hacker).  I'll happily test patches though.
Comment 22 Sebastien Bacher 2006-08-11 13:48:29 UTC
note that I'm not an evolution hacker but just packaging it for Ubuntu so I don't know the code neither, the comment was rather for upstream to know if they could point to the right direction to get a patch to backport ;)
Comment 23 Akhil Laddha 2008-07-18 10:31:51 UTC
Is it still valid, can you please try in current stable 2.22.3, thanks in advance.
Comment 24 Sebastien Bacher 2008-07-18 17:39:34 UTC
there has been no recent activity on the bug and I didn't get the issue in a while, let's close the bug