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 535759 - Crash in camel_exchange_folder_add_message at camel-exchange-folder.c line 770
Crash in camel_exchange_folder_add_message at camel-exchange-folder.c line 770
Status: RESOLVED INCOMPLETE
Product: Evolution Exchange
Classification: Deprecated
Component: Connector
2.22.x
Other All
: High critical
: ---
Assigned To: Connector Maintainer
Ximian Connector QA
Depends on:
Blocks:
 
 
Reported: 2008-05-30 13:57 UTC by Darren Mansell
Modified: 2010-10-29 04:07 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Darren Mansell 2008-05-30 13:57:56 UTC
Steps to reproduce:
1. Try to run evolution
2. 
3. 


Stack trace:
From gdb:
  • #0 poll
    from /lib/libc.so.6
  • #1 ??
    from /lib/libresolv.so.2
  • #2 __libc_res_nquery
    from /lib/libresolv.so.2
  • #3 ??
    from /lib/libresolv.so.2
  • #4 __libc_res_nsearch
    from /lib/libresolv.so.2
  • #5 __res_nsearch
    from /lib/libresolv.so.2
  • #6 ??
    from /usr/lib/libkrb5.so.3
  • #7 krb5int_make_srv_query_realm
    from /usr/lib/libkrb5.so.3
  • #8 ??
    from /usr/lib/libkrb5.so.3
  • #9 krb5int_locate_server
    from /usr/lib/libkrb5.so.3
  • #10 krb5_sendto_kdc
    from /usr/lib/libkrb5.so.3
  • #11 ??
    from /usr/lib/libkrb5.so.3
  • #12 krb5_get_init_creds
    from /usr/lib/libkrb5.so.3
  • #13 krb5_get_init_creds_password
    from /usr/lib/libkrb5.so.3
  • #14 ??
    from /usr/lib/libexchange-storage-1.2.so.3
  • #15 e2k_kerberos_check_password
    from /usr/lib/libexchange-storage-1.2.so.3
  • #16 exchange_account_connect
    from /usr/lib/libexchange-storage-1.2.so.3
  • #17 exchange_config_listener_authenticate
    from /usr/lib/evolution/2.22/plugins/liborg-gnome-exchange-operations.so
  • #18 ??
    from /usr/lib/evolution/2.22/plugins/liborg-gnome-exchange-operations.so
  • #19 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #20 ??
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #23 ??
    from /usr/lib/libedataserver-1.2.so.9
  • #24 ??
    from /usr/lib/evolution/2.22/plugins/liborg-gnome-exchange-operations.so
  • #25 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #26 ??
    from /usr/lib/libglib-2.0.so.0
  • #27 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #28 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #29 ??
  • #30 __libc_start_main
    from /lib/libc.so.6
  • #31 ??

from evolution --debug=/tmp/evo.log
< HTTP/1.1 207 Multi-Status
< Soup-Debug-Timestamp: 1212154373
< Soup-Debug: SoupMessage 5 (0x65fbe0)
< Date: Fri, 30 May 2008 13:30:05 GMT
< Server: Microsoft-IIS/6.0
< X-Powered-By: ASP.NET
< Content-Type: text/xml
< Accept-Ranges: rows
< Content-Range: rows 0-99; total=0
< MS-WebStorage: 6.5.7638
< Transfer-Encoding: chunked
<
< <?xml version="1.0"?><a:multistatus xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:c="xml:" xmlns:d="http://schemas.microsoft.com/mapi/proptag/" xmlns:a="DAV:"><a:contentrange>0-99</a:contentrange></a:multistatus>


GC: looking up info for dm@**

GC: Connecting to ldap://fileserver.**.**.**:3268/
GC: connected via NTLM

GC: dn = CN=D M,OU=Users,OU=Generic,OU=*,DC=wnet,DC=mfs,DC=*,DC=co,DC=uk

GC: displayName D**
GC: mail DM@**.co.uk
GC: legacyExchangeDN /o=MGI/ou=First Administrative Group/cn=Recipients/cn=dm
GC: mDBUseDefaults TRUE
GC: Using global mailbox store limits

> PROPFIND /exchange/dm/NON_IPM_SUBTREE/ HTTP/1.1
> Soup-Debug-Timestamp: 1212154373
> Soup-Debug: SoupSessionSync 1 (0x784810), SoupMessage 6 (0x65fb40), SoupSocket 1 (0x65ecb0)
> Host: EXCHANGE
> Content-Type: text/xml
> Brief: t
> Depth: 0
> Authorization: Basic [dm:*********]
> User-Agent: Evolution/2.22.1.1
>
> <?xml version="1.0" encoding="utf-8" ?><D:propfind xmlns:D="DAV:" xmlns:c="http://schemas.microsoft.com/exchange/">^M
> <D:prop>^M
> <c:oof-state/>^M
> </D:prop>^M
> </D:propfind>

< HTTP/1.1 207 Multi-Status
< Soup-Debug-Timestamp: 1212154373
< Soup-Debug: SoupMessage 6 (0x65fb40)
< Date: Fri, 30 May 2008 13:30:05
(evolution:6899): GLib-CRITICAL **: g_base64_encode: assertion `len > 0' failed



Other information:
Happens on AMD64 version of Ubuntu Hardy:
Linux darrenmansell 2.6.24-17-generic #1 SMP Thu May 1 13:57:17 UTC 2008 x86_64 GNU/Linux
ii  evolution                                  2.22.1.1-0ubuntu3                   groupware suite with mail client and organizer
ii  evolution-common                           2.22.1.1-0ubuntu3                   architecture independent files for Evolution
ii  evolution-data-server                      2.22.1.1-0ubuntu3                   evolution database backend server
ii  evolution-data-server-common               2.22.1.1-0ubuntu3                   architecture independent files for Evolution D
ii  evolution-exchange                         2.22.1-0ubuntu1                     Exchange plugin for the Evolution groupware su
ii  evolution-plugins                          2.22.1.1-0ubuntu3                   standard plugins for Evolution
ii  evolution-webcal                           2.21.92-0ubuntu1                    webcal: URL handler for GNOME and Evolution

Started from an update this morning. Don't know which one sorry. I'll file this on Ubuntu launchpad too. Thanks.
Comment 1 Pedro Villavicencio 2008-05-30 14:02:50 UTC
Thanks for taking the time to report this bug.
Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so and reopen this bug or report a new one. Thanks in advance!
Comment 2 Darren Mansell 2008-05-30 14:13:55 UTC
Hi. Thanks for the friendly response.

Sorry for the incomplete information. Is this OK for a stack trace? I had not installed the debug version of Evolution :O

Thread 6 (Thread 0x42a03950 (LWP 7832))

  • #0 fsync
    from /lib/libpthread.so.0
  • #1 camel_folder_summary_save
    from /usr/lib/libcamel-provider-1.2.so.11
  • #2 camel_exchange_folder_construct
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #3 ??
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #4 camel_store_get_folder
    from /usr/lib/libcamel-provider-1.2.so.11
  • #5 mail_tool_uri_to_folder
    at mail-tools.c line 331
  • #6 refresh_folders_exec
    at mail-send-recv.c line 823
  • #7 mail_msg_proxy
    at mail-mt.c line 523
  • #8 ??
    from /usr/lib/libglib-2.0.so.0
  • #9 ??
    from /usr/lib/libglib-2.0.so.0
  • #10 start_thread
    from /lib/libpthread.so.0
  • #11 clone
    from /lib/libc.so.6
  • #12 ??

Thread 5 (Thread 0x42202950 (LWP 7831))

  • #0 g_str_hash
    from /usr/lib/libglib-2.0.so.0
  • #1 g_hash_table_lookup
    from /usr/lib/libglib-2.0.so.0
  • #2 camel_exchange_folder_add_message
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #3 ??
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #4 camel_object_trigger_event
    from /usr/lib/libcamel-1.2.so.11
  • #5 ??
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #6 start_thread
    from /lib/libpthread.so.0
  • #7 clone
    from /lib/libc.so.6
  • #8 ??

Comment 3 Matthew Barnes 2008-05-30 14:26:10 UTC
Looks like the crash might be in Thread 5 but I can't tell.

Can you install debugging symbols for a few more packages:

   evolution-data-server
   glib (your distro might call it glib2)
   gtk+ (your distro might call it gtk2)
Comment 4 Darren Mansell 2008-05-30 14:49:03 UTC
Hi. I've installed those debug packages. I've included the gdb output as well as the stack trace:

(gdb) run
Starting program: /usr/bin/evolution 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fac14dde7c0 (LWP 8766)]
[New Thread 0x41fdb950 (LWP 8772)]
[Thread 0x41fdb950 (LWP 8772) exited]
  
  
  
  
  
  
  
  
  
  
  
  
  
  
[New Thread 0x41fdb950 (LWP 8774)]
[New Thread 0x416d5950 (LWP 8776)]
[Thread 0x416d5950 (LWP 8776) exited]
[New Thread 0x416d5950 (LWP 8778)]
[New Thread 0x427dc950 (LWP 8779)]
[Thread 0x41fdb950 (LWP 8774) exited]

(evolution:8766): GLib-CRITICAL **: g_base64_encode: assertion `len > 0' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x427dc950 (LWP 8779)]
0x00007fac0a377ef0 in g_str_hash () from /usr/lib/libglib-2.0.so.0
(gdb) thread apply all bt

Thread 6 (Thread 0x427dc950 (LWP 8779))

  • #0 g_str_hash
    from /usr/lib/libglib-2.0.so.0
  • #1 g_hash_table_lookup
    from /usr/lib/libglib-2.0.so.0
  • #2 camel_exchange_folder_add_message
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #3 ??
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #4 camel_object_trigger_event
    at camel-object.c line 1495
  • #5 ??
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #6 start_thread
    from /lib/libpthread.so.0
  • #7 clone
    from /lib/libc.so.6
  • #8 ??

Thread 5 (Thread 0x416d5950 (LWP 8778))

  • #0 fsync
    from /lib/libpthread.so.0
  • #1 camel_folder_summary_save
    at camel-folder-summary.c line 734
  • #2 camel_exchange_folder_construct
    from /usr/lib/evolution-data-server-1.2/camel-providers/libcamelexchange.so
  • #3 ??
  • #4 camel_store_get_folder
    at camel-store.c line 266
  • #5 mail_tool_uri_to_folder
    at mail-tools.c line 331
  • #6 refresh_folders_exec
    at mail-send-recv.c line 823
  • #7 mail_msg_proxy
    at mail-mt.c line 523
  • #8 ??
    from /usr/lib/libglib-2.0.so.0
  • #9 ??
    from /usr/lib/libglib-2.0.so.0
  • #10 start_thread
    from /lib/libpthread.so.0
  • #11 clone
    from /lib/libc.so.6
  • #12 ??

Thanks!
Comment 5 Matthew Barnes 2008-05-30 15:23:27 UTC
Appears to be caused by the Exchange provider.  Reassigning.
Comment 6 Darren Mansell 2008-06-02 09:37:41 UTC
More info if it helps.

I've tried it with a clean user and evolution works until it connects to the exchange.

I've also tried it on completely different hardware and i386 kernel and exactly the same happens.

(gdb) run
Starting program: /usr/bin/evolution 
[Thread debugging using libthread_db enabled]
[New Thread 0xb65b9740 (LWP 6291)]
[New Thread 0xb6071b90 (LWP 6299)]
[Thread 0xb6071b90 (LWP 6299) exited]

** (evolution:6291): WARNING **: Unexpected kerberos error -1765328164
[New Thread 0xb6071b90 (LWP 6316)]
[Thread 0xb6071b90 (LWP 6316) exited]
[New Thread 0xb5131b90 (LWP 6319)]
[Thread 0xb5131b90 (LWP 6319) exited]
[New Thread 0xb5131b90 (LWP 6322)]
[New Thread 0xb6071b90 (LWP 6323)]

(evolution:6291): GLib-CRITICAL **: g_base64_encode: assertion `len > 0' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6071b90 (LWP 6323)]
0xb6db6307 in g_str_hash () from /usr/lib/libglib-2.0.so.0
(gdb) thread apply all bt

Thread 6 (Thread 0xb6071b90 (LWP 6323))

  • #0 g_str_hash
    from /usr/lib/libglib-2.0.so.0
  • #1 g_hash_table_lookup
    from /usr/lib/libglib-2.0.so.0
  • #2 camel_exchange_folder_add_message
    at camel-exchange-folder.c line 770
  • #3 stub_notification
    at camel-exchange-store.c line 868
  • #4 camel_object_trigger_event
    at camel-object.c line 1495
  • #5 status_main
    at camel-stub.c line 135
  • #6 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #7 clone
    from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb65b9740 (LWP 6291))

  • #0 _gtk_icon_cache_get_icon
    at /build/buildd/gtk+2.0-2.12.9/gtk/gtkiconcache.c line 437
  • #1 choose_icon
    at /build/buildd/gtk+2.0-2.12.9/gtk/gtkicontheme.c line 2214
  • #2 IA__gtk_icon_theme_lookup_icon
    at /build/buildd/gtk+2.0-2.12.9/gtk/gtkicontheme.c line 1401
  • #3 load_icon
    at e-icon-factory.c line 101
  • #4 e_icon_factory_get_icon
    at e-icon-factory.c line 340
  • #5 e_pixmaps_update
    at evolution-shell-component-utils.c line 58
  • #6 e_shell_window_commands_setup
    at e-shell-window-commands.c line 1193
  • #7 e_shell_window_new
    at e-shell-window.c line 1055
  • #8 e_shell_create_window
    at e-shell.c line 941
  • #9 idle_cb
    at main.c line 472
  • #10 ??
    from /usr/lib/libglib-2.0.so.0
  • #11 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #12 ??
    from /usr/lib/libglib-2.0.so.0
  • #13 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #14 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #15 main
    at main.c line 782
  • #0 g_str_hash
    from /usr/lib/libglib-2.0.so.0

Thread 7 (Thread 0xb4905b90 (LWP 6537))

  • #0 g_str_hash
    from /usr/lib/libglib-2.0.so.0
  • #1 g_hash_table_lookup
    from /usr/lib/libglib-2.0.so.0
  • #2 camel_exchange_folder_add_message
    at camel-exchange-folder.c line 770
  • #3 stub_notification
    at camel-exchange-store.c line 868
  • #4 camel_object_trigger_event
    at camel-object.c line 1495
  • #5 status_main
    at camel-stub.c line 135
  • #6 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #7 clone
    from /lib/tls/i686/cmov/libc.so.6

Hope this is more help. I'm stuck on Outlook :(
Comment 7 Darren Mansell 2008-06-02 13:45:32 UTC
I do apologies for the spam but I thought this piece of information was critical. The crash doesn't happen until I move the mouse...

thanks.
Comment 8 Darren Mansell 2008-06-04 14:55:37 UTC
Hi again. 

I now can't get Evolution to crash. I followed these steps:

1. reloaded Ubuntu Hardy with i386 version - still crashed
2. performed all updates - still crashed
3. tried another Exchange user - didn't crash
4. deleted .evolution, .gconf/apps/evolution, run evolution --force-shutdown and killall gconfd-2 - still crashed.
5. removed all mails from mailbox from Outlook - still crashed
6. re set up account from scratch - still crashed
7. installed all evolution-dbg, gtk2-dbg and glib-dbg packages to capture backtraces but now it refuses to crash.

I'll close the bug. Thanks for your time.
Comment 9 Darren Mansell 2008-06-05 15:06:09 UTC
Sorry this has just randomly started happening again after this started happening: https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/237619.

Running Outlook on another computer has caused this issue to happen again so re-opening.

thanks and let me know if you need anything.
Comment 10 Darren Mansell 2008-06-06 13:39:46 UTC
More to add:

After not being able to run evolution for a while I've had another go at it. I noticed this:

Thread 16 (Thread 0xb27ffb90 (LWP 13129))

  • #0 g_str_hash
    from /usr/lib/libglib-2.0.so.0
  • #1 g_hash_table_lookup
    from /usr/lib/libglib-2.0.so.0
  • #2 camel_exchange_folder_add_message
    at camel-exchange-folder.c line 770
  • #3 stub_notification
    at camel-exchange-store.c line 889
  • #4 camel_object_trigger_event
    at camel-object.c line 1495
  • #5 status_main
    at camel-stub.c line 135
  • #6 start_thread
    from /lib/libpthread.so.0
  • #7 ??

from GDB. So I found that mail in Outlook and deleted it. Reset Evolution completely and the same thing happened. Went to the OWA URL given and the mail was still there. Obviously Outlook hadn't deleted it from the server.

After deleting it using OWA I could run Evolution. The mail that seemed to be causing the issue had this as the body (its all I have left of it sorry)


Your message did not reach some or all of the intended recipients.

 Subject:	Re: FW: Incident 18580
Sent:	30/05/2008 09:59

The following recipient(s) could not be reached:

  "Chris H [mailto:Chris.H"@aaaa.com@ooooo.co.uk on 30/05/2008 09:56
  The format of the e-mail address is incorrect.  Check the address, look up the recipient in the Address Book, or contact the recipient directly to find out the correct address.
  <exchange.w.m.m.co.uk #5.1.3>

Names changed to protect the innocent but the operators are left as they are in the mail. Hopefully its dodgy content of a mail thats caused this, where Outlook hasn't actually deleted stuff from the server. I'll keep this updated.
Comment 11 Austin Lund 2008-07-17 11:25:34 UTC
This looks like the crash that occurs when a lookup of an empty hash table occurs.  See bug 537665 for a similar trace.
Comment 12 Akhil Laddha 2010-09-15 06:52:39 UTC
This bug was reported against a GNOME version that is now not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use. By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME.

The current stable GNOME and Evolution version is 2.30.2.
Please check if the problem you reported here still occurs with a recent version of GNOME by reporting back which exact version you tested against

Thank you for reporting this bug and we are sorry it could not be fixed for your version.
Without feedback this report will be closed as INCOMPLETE in 6 weeks.