evo-exchange dumps core retrieving email

Bug #236781 reported by Paul Smith
22
Affects Status Importance Assigned to Milestone
evolution-exchange
Fix Released
Critical
evolution-exchange (Ubuntu)
Fix Released
Medium
Unassigned
Hardy
Fix Released
Medium
Unassigned

Bug Description

I have the very latest stuff from Ubuntu hardy-proposed, including the latest libldap fixes:

ii evolution 2.22.2-0ubuntu1
ii evolution-common 2.22.2-0ubuntu1
ii evolution-data-server 2.22.2-0ubuntu1
ii evolution-data-server-common 2.22.2-0ubuntu1
ii evolution-data-server-dbg 2.22.2-0ubuntu1
ii evolution-dbg 2.22.2-0ubuntu1
ii evolution-dev 2.22.2-0ubuntu1
ii evolution-exchange 2.22.2-0ubuntu1
ii evolution-exchange-dbg 2.22.2-0ubuntu1
ii evolution-plugins 2.22.2-0ubuntu1
ii evolution-webcal 2.21.92-0ubuntu1
ii libldap-2.4-2 2.4.7-6ubuntu4.2i~ppa2
ii libldap-2.4-2-dbg 2.4.7-6ubuntu4.2i~ppa2
ii libldap2-dev 2.4.7-6ubuntu4.2i~ppa2

I'm getting relatively frequent (a few a day) core dumps from evo-exchange backend. Here's a sample:

Core was generated by `/usr/lib/evolution/2.22/evolution-exchange-storage'.
Program terminated with signal 11, Segmentation fault.
[New process 20875]
[New process 20873]
#0 0xb7f69410 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7f69410 in __kernel_vsyscall ()
#1 0xb6e1ec07 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6ef3e7f in ?? () from /usr/lib/libglib-2.0.so.0
#3 0xb6ef41e7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#4 0xb70ce2e0 in ?? () from /usr/lib/libORBit-2.so.0
#5 0xb6f18a6f in ?? () from /usr/lib/libglib-2.0.so.0
#6 0xb6ea64fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0xb6e28e5e in clone () from /lib/tls/i686/cmov/libc.so.6
(gdb) thr apply all bt

Thread 2 (process 20873):
#0 get_message (stub=0x80a8910, folder_name=0x8128f30 "personal/Inbox", uid=0x8118300 "000001431fc2") at mail-stub-exchange.c:2447
#1 0x08064783 in connection_handler (source=0x80f5270, condition=G_IO_IN, data=0x80a8910) at mail-stub.c:271
#2 0xb6f24c5d in ?? () from /usr/lib/libglib-2.0.so.0
#3 0xb6ef0bf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#4 0xb6ef3e5e in ?? () from /usr/lib/libglib-2.0.so.0
#5 0xb6ef41e7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#6 0xb7119a93 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#7 0x0805b8f3 in main (argc=3, argv=Cannot access memory at address 0x4
) at main.c:238

Thread 1 (process 20875):
#0 0xb7f69410 in __kernel_vsyscall ()
#1 0xb6e1ec07 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6ef3e7f in ?? () from /usr/lib/libglib-2.0.so.0
#3 0xb6ef41e7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#4 0xb70ce2e0 in ?? () from /usr/lib/libORBit-2.so.0
#5 0xb6f18a6f in ?? () from /usr/lib/libglib-2.0.so.0
#6 0xb6ea64fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0xb6e28e5e in clone () from /lib/tls/i686/cmov/libc.so.6

Looking at the source code it appears to be dying here:

 } else {
  SoupBuffer *response;

  status = e2k_context_get (mse->ctx, NULL, mmsg->href,
       &content_type, &response);
==> len = response->length;
  body = g_strndup (response->data, response->length);
  soup_buffer_free (response);
 }

Apparently e2k_context_get() failed which means response was not set, but this is not checked for by the code:

(gdb) thr 2
[Switching to thread 2 (process 20873)]#0 get_message (stub=0x80a8910, folder_name=0x8128f30 "personal/Inbox", uid=0x8118300 "000001431fc2") at mail-stub-exchange.c:2447
2447 mail-stub-exchange.c: No such file or directory.
        in mail-stub-exchange.c
(gdb) p response
$1 = (SoupBuffer *) 0x1
(gdb) p status
$2 = 403

I'm not sure what a status of 403 from e2k_context_get() means, but it's unlikely to mean "success" :-).

Revision history for this message
Paul Smith (psmith-gnu) wrote :

I can't figure out how to reference an upstream bug, but I believe this bug has already been reported upstream to the GNOME bugzilla, here:

http://bugzilla.gnome.org/show_bug.cgi?id=532844

Changed in evolution-exchange:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Paul Smith (psmith-gnu) wrote :

I'm not so sure about an importance of "Medium". At this point Exchange crashes every time I bring it up, within a second or two (I can't read even a single message). That's more important than medium to me, at least! :-).

Changed in evolution-exchange:
status: Unknown → New
Revision history for this message
Sebastien Bacher (seb128) wrote :

the bug has been fixed upstream now

Changed in evolution-exchange:
status: Triaged → Fix Committed
Changed in evolution-exchange:
status: New → Fix Released
Revision history for this message
Paul Smith (psmith-gnu) wrote :

Actually, the bug fix wasn't committed until Saturday, 7 June:

http://svn.gnome.org/viewvc/evolution-exchange?view=revision&revision=1679

It's still present in the latest Evo packages for Ubuntu, and I (and my colleagues) are still hitting this relatively frequently (I guess our Exchange server or network is not quite as stable as one would hope). Since this is a crasher I hope we can generate a new set of Evo packages relatively quickly for this fix.

Thanks!

Changed in evolution-exchange:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into -proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in evolution-exchange:
status: Confirmed → Fix Committed
Revision history for this message
Paul Smith (psmith-gnu) wrote :

I just did an update from -proposed, and there was no new evolution-exchange package installed even though there were updated evolution and evolution-data-server packages installed.

Also if I go look in the http://us.archive.ubuntu.com/ubuntu/dists/hardy-proposed/main/binary-i386/Packages.bz2 file I don't see the evolution-exchange package; however if I look in http://us.archive.ubuntu.com/ubuntu/pool/main/e/evolution-exchange/ I do see the new version packaged there (2.22.3).

FYI, the timestamp on the evolution-exchange .deb is OLDER than the Packages.bz2.

Is there something missing that needs to be done to get this new package into -proposed? Maybe it's just a timing thing and all will work out if I wait a little longer? Amusingly (?) enough, I can reproduce this crasher at will right now :-).

Revision history for this message
Paul Smith (psmith-gnu) wrote :

Oh wait, I see the problem. There are no .deb files for this version of evolution-exchange in the pool http://us.archive.ubuntu.com/ubuntu/pool/main/e/evolution-exchange/

While all the other versions In here have .debs for both amd64 and i386, for this version I see only these files:

[ ] evolution-exchange_2.22.3-0ubuntu1.diff.gz 09-Jul-2008 17:07 6.9K
[ ] evolution-exchange_2.22.3-0ubuntu1.dsc 09-Jul-2008 17:07 1.5K
[ ] evolution-exchange_2.22.3.orig.tar.gz 09-Jul-2008 17:07 1.5M

No .debs!

Sebastien and/or Martin, can you look into what happened here?

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 236781] Re: evo-exchange dumps core retrieving email
Download full text (4.5 KiB)

On Wed, Jul 09, 2008 at 09:16:08PM -0000, Paul Smith wrote:
> Oh wait, I see the problem. There are no .deb files for this version of
> evolution-exchange in the pool
> http://us.archive.ubuntu.com/ubuntu/pool/main/e/evolution-exchange/

> While all the other versions In here have .debs for both amd64 and i386,
> for this version I see only these files:

> [ ] evolution-exchange_2.22.3-0ubuntu1.diff.gz 09-Jul-2008 17:07 6.9K
> [ ] evolution-exchange_2.22.3-0ubuntu1.dsc 09-Jul-2008 17:07 1.5K
> [ ] evolution-exchange_2.22.3.orig.tar.gz 09-Jul-2008 17:07 1.5M

> No .debs!

> Sebastien and/or Martin, can you look into what happened here?

The package has failed to build on all architectures:

/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I.. -DORBIT2=1 -pthread -I/usr/include/evolution-data-server-2.22 -I/usr/include/libgnome-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/gconf/2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -DORBIT2=1 -pthread -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/evolution-2.22 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomeui-2.0 -I/usr/include/libbonoboui-2.0 -I/usr/include/orbit-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libart-2.0 -I/usr/include/gnome-keyring-1 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/pango-1.0 -I/usr/include/gail-1.0 -I/usr/include/freetype2 -I/usr/include/atk-1.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/evolution-data-server-2.22 -I/usr/include/libglade-2.0 -I/usr/include/evolution-data-server-2.22/exchange -DLDAP_DEPRECATED -I.. -I../storage -DG_LOG_DOMAIN=\"e-cal-backend-exchange\" -g -O2 -g -Wall -O2 -fPIC -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wno-sign-compare -c -o e-cal-backend-exchange-calendar.lo e-cal-backend-exchange-calendar.c
 cc -DHAVE_CONFIG_H -I. -I.. -DORBIT2=1 -pthread -I/usr/include/evolution-data-server-2.22 -I/usr/include/libgnome-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/gconf/2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -DORBIT2=1 -pthread -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/evolution-2.22 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomeui-2.0 -I/usr/include/libbonoboui-2.0 -I/usr/include/orbit-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libart-2.0 -I/usr/include/gnome-keyring-1 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/includ...

Read more...

Revision history for this message
Martin Pitt (pitti) wrote :

Now it built everywhere except HPPA (which is known slow), so testing
can start. Thanks in advance!

Revision history for this message
Paul Smith (psmith-gnu) wrote :

Thanks Steve / Martin. I did an update this morning (company picnic yesterday... beautiful day in New England!!) and got this package and I cannot reproduce the Evo crash anymore. yay!

As for the build failure, I agree that this should be fixed in the build-dependency of evolution-exchange. Who would be in charge of that? Sebastien doesn't seem to be around (maybe at GUADEC or on holiday?) but I guess this is not critical.

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

there is no need to do an another update only to change the build dependency in hardy and that should already be fixed in intrepid

a new rebuild revision has been uploaded now to some libglib issues

Revision history for this message
Martin Pitt (pitti) wrote :

Copied to hardy-updates.

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

there is a new version in intrepid

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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