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 670478 - Evolution segfaults while downloading mail from pop3
Evolution segfaults while downloading mail from pop3
Status: RESOLVED NOTABUG
Product: evolution
Classification: Applications
Component: Mailer
3.2.x (obsolete)
Other Linux
: Normal major
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 671881 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-02-20 18:33 UTC by Jack Malmostoso
Modified: 2012-03-16 11:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Trace of Evolution crash taken with gdb (39.18 KB, text/plain)
2012-02-21 15:41 UTC, Jack Malmostoso
Details

Description Jack Malmostoso 2012-02-20 18:33:08 UTC
Hello,

Evolution is crashing when new mail is present on a pop3 mailbox.
Starting from terminal gives no useful output:

jack@nostromo:~$ evolution
(evolution:10223): Tracker-DEBUG: Tracker Evolution plugin enabled
(evolution:10223): Tracker-DEBUG: Tracker plugin creating new object...
Segmentation fault

So I followed the Evolution bugs page and started evolution as:

jack@nostromo:~$ CAMEL_DEBUG=all evolution >& evo.log

I'd like to attach the log but it's quite full of personal information (as in, email addresses and my folder structure). Can I clean it up or does it interfere with the log?

Also, funnily enough, if I start evolution through strace or gdb, it works just fine.

I will paste the end of the log, when the software crashes:

===========
DB SQL operation [SELECT * FROM folders WHERE folder_name = 'Inbox/jackmalmostoso@sunrise_ch'] started
Camel SQL Exec:
SELECT * FROM folders WHERE folder_name = 'Inbox/jackmalmostoso@sunrise_ch'

read_fir_callback called 
DB Operation ended. Time Taken : 0.000329
###########

camel_db_select:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' order by dreceived 

===========
DB SQL operation [SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' order by dreceived] started
Camel SQL Exec:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' order by dreceived
DB Operation ended. Time Taken : 0.000782
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'bayAEm68%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'bayAEm68%'] started
Camel SQL Exec:
SELECT vuid FROM '.#evolution/Junk' WHERE vuid LIKE 'bayAEm68%'
DB Operation ended. Time Taken : 0.000221
###########
sexp is : [(match-all (system-flag "Junk"))]
Equivalent sql SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (junk = 1)

camel_db_select:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (junk = 1) 

===========
DB SQL operation [SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (junk = 1)] started
Camel SQL Exec:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (junk = 1)
DB Operation ended. Time Taken : 0.000102
###########

===========
DB SQL operation [BEGIN] started
Camel SQL Exec:
BEGIN
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000056
###########

camel_db_select:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'bayAEm68%' 

===========
DB SQL operation [SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'bayAEm68%'] started
Camel SQL Exec:
SELECT vuid FROM '.#evolution/Trash' WHERE vuid LIKE 'bayAEm68%'
DB Operation ended. Time Taken : 0.000573
###########
sexp is : [(match-all (system-flag "Deleted"))]
Equivalent sql SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (deleted = 1)

camel_db_select:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (deleted = 1) 

===========
DB SQL operation [SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (deleted = 1)] started
Camel SQL Exec:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE (deleted = 1)
DB Operation ended. Time Taken : 0.000142
###########

===========
DB SQL operation [BEGIN] started
Camel SQL Exec:
BEGIN
Camel SQL Exec:
COMMIT
DB Operation ended. Time Taken : 0.000069
###########
Thread 0xa0293c0 >
Get folder info(0xa22c3e8:maildir:/home/jack/.local/share/evolution/mail/local, 'Templates') =
  full_name: Templates
  flags: 00000004
< 0xa0293c0 >
sexp is : [(match-all (and (not (system-flag "deleted")) (not (system-flag "junk"))))]
Equivalent sql SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) )

camel_db_select:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) ) 

===========
DB SQL operation [SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) )] started
Camel SQL Exec:
SELECT uid FROM 'Inbox/jackmalmostoso@sunrise_ch' WHERE ( (NOT ((deleted = 1))) AND (NOT ((junk = 1))) )
DB Operation ended. Time Taken : 0.000521
###########

camel_db_select:
SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox/jackmalmostoso@sunrise_ch'  

===========
DB SQL operation [SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox/jackmalmostoso@sunrise_ch' ] started
Camel SQL Exec:
SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox/jackmalmostoso@sunrise_ch' 
DB Operation ended. Time Taken : 0.002312
###########
Thread 0xa0293c0 >
Get folder info(0xa22c3e8:maildir:/home/jack/.local/share/evolution/mail/local, 'Templates') =
  full_name: Templates
  flags: 00000004
< 0xa0293c0 >

camel_db_select:
SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox'  

===========
DB SQL operation [SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' ] started
Camel SQL Exec:
SELECT uid, flags, size, dsent, dreceived, subject, mail_from, mail_to, mail_cc, mlist, part, labels, usertags, cinfo, bdata FROM 'Inbox' 
DB Operation ended. Time Taken : 0.002389
###########

The new email is in fact arriving through that email address.
If no new mail is available on any server, Evolution does not crash.
Sending email does also make Evolution crash.

Thank you for any help and please let me know if you need the full log.
Comment 1 Matthew Barnes 2012-02-20 18:43:51 UTC
(In reply to comment #0)
> (evolution:10223): Tracker-DEBUG: Tracker Evolution plugin enabled
> (evolution:10223): Tracker-DEBUG: Tracker plugin creating new object...
> Segmentation fault

First debugging step is always remove Tracker's Evolution plugin.  It causes many crashes mistakenly attributed to Evolution itself.
Comment 2 Jack Malmostoso 2012-02-20 20:21:59 UTC
Thank you for your reply Matthew.

I have disabled the Tracker plugin:

jack@nostromo:~$ evolution
Segmentation fault

But the behaviour is still the same, segfault when mail is present.
Please let me know what else I can do to help debug!
Comment 3 Akhil Laddha 2012-02-21 04:16:50 UTC
Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces
for more information on how to do so.

 If you can reproduce it while running under gdb (see http://live.gnome.org/GettingTraces/Details#gdb-not-yet-running for details about how to do this), that might help getting a better trace if you've already got debug packages installed.

Please install debuginfo packages of evolution-data-server, evolution, glib and gtk+
Comment 4 Jack Malmostoso 2012-02-21 15:41:05 UTC
Created attachment 208146 [details]
Trace of Evolution crash taken with gdb
Comment 5 Jack Malmostoso 2012-02-21 15:53:11 UTC
Hello Akhil,

attached please find the trace taken with gdb. I used the "trace with running program" method, because if I would start evolution from within gdb the crash does not occur.

Thank you for your reply and let me know if you need more info!
Comment 6 Matthew Barnes 2012-02-21 16:22:13 UTC
Thanks for following up.

As bizarre as this sounds, the stacks trace suggests this may some kind of NVIDIA graphics driver bug, as shown in Thread 15:

Thread 15 (Thread 0xa8fa9b70 (LWP 3998))

  • #0 _nv022tls
    from /usr/lib/i386-linux-gnu/tls/libnvidia-tls.so.295.20
  • #1 ??
    from /usr/lib/i386-linux-gnu/libGL.so.1
  • #2 fork
    from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
  • #3 lock_helper_init
    at camel-lock-client.c line 120

If true, that's obviously way beyond Evolution's influence.

All other threads are idle except Thread 1, but I see nothing suspicious about it.  g_list_prepend(NULL, data) is a valid call.
Comment 7 Jack Malmostoso 2012-02-21 17:55:55 UTC
Hello Matthew,

thank you for your quick reply.
Indeed it seems to be the Nvidia driver, precisely version 295.20.
Evolution behaves normally with the Nouveau driver and with Nvidia driver version 290.10.

I also noticed other weird Gnome bugs lately, and they are probably all related since they don't seem to appear with 290.10.

Thank you again for your help, closing as RESOLVED - NOTABUG.
Comment 8 Matthew Barnes 2012-03-16 11:41:40 UTC
*** Bug 671881 has been marked as a duplicate of this bug. ***