GNOME Bugzilla – Bug 667108
Crash when checking mail & expunging local inbox
Last modified: 2015-04-29 12:45:26 UTC
Check for new mail. Expunge your local inbox. Click around a bit by choosing other folders. RESULT: Freeze. $:andre\> gdb evolution GNU gdb (GDB) Fedora (7.3.50.20110722-10.fc16) Copyright (C) 2011 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 "i686-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/evolution...Reading symbols from /usr/lib/debug/usr/bin/evolution.debug...done. done. (gdb) run Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". [New Thread 0xb7dadb40 (LWP 5126)] ** (evolution:5110): CRITICAL **: categories_icon_theme_hack: assertion `filename != NULL && *filename != '\0'' failed [New Thread 0xb75acb40 (LWP 5127)] [New Thread 0xb6bffb40 (LWP 5128)] [New Thread 0xb1503b40 (LWP 5129)] [New Thread 0xb0bffb40 (LWP 5130)] [New Thread 0xb03feb40 (LWP 5131)] [New Thread 0xaf7ffb40 (LWP 5132)] [New Thread 0xaeffeb40 (LWP 5133)] [New Thread 0xae7fdb40 (LWP 5134)] [Thread 0xae7fdb40 (LWP 5134) exited] [Thread 0xaf7ffb40 (LWP 5132) exited] [Thread 0xb03feb40 (LWP 5131) exited] [New Thread 0xb03feb40 (LWP 5135)] [Thread 0xb03feb40 (LWP 5135) exited] [New Thread 0xb03feb40 (LWP 5137)] [New Thread 0xaf7ffb40 (LWP 5138)] [Thread 0xaf7ffb40 (LWP 5138) exited] [New Thread 0xaf7ffb40 (LWP 5139)] [New Thread 0xae7fdb40 (LWP 5140)] [New Thread 0xadffcb40 (LWP 5141)] [New Thread 0xad7fbb40 (LWP 5142)] [New Thread 0xacffab40 (LWP 5143)] [New Thread 0xac7f9b40 (LWP 5144)] [New Thread 0xabff8b40 (LWP 5145)] [New Thread 0xab7f7b40 (LWP 5146)] [New Thread 0xaaff6b40 (LWP 5147)] [New Thread 0xaa7f5b40 (LWP 5148)] [New Thread 0xa9ff4b40 (LWP 5149)] [New Thread 0xa89ffb40 (LWP 5150)] [New Thread 0xa81feb40 (LWP 5151)] [New Thread 0xa79fdb40 (LWP 5152)] [Thread 0xadffcb40 (LWP 5141) exited] [New Thread 0xadffcb40 (LWP 5153)] [Thread 0xaf7ffb40 (LWP 5139) exited] [Thread 0xad7fbb40 (LWP 5142) exited] [Thread 0xac7f9b40 (LWP 5144) exited] [Thread 0xab7f7b40 (LWP 5146) exited] [Thread 0xa89ffb40 (LWP 5150) exited] [Thread 0xadffcb40 (LWP 5153) exited] [New Thread 0xadffcb40 (LWP 5154)] [Thread 0xadffcb40 (LWP 5154) exited] [New Thread 0xadffcb40 (LWP 5155)] [Thread 0xa79fdb40 (LWP 5152) exited] [New Thread 0xa79fdb40 (LWP 5156)] [Thread 0xa79fdb40 (LWP 5156) exited] [Thread 0xaaff6b40 (LWP 5147) exited] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb0bffb40 (LWP 5130)] camel_pop3_engine_command_free (pe=0x0, pc=0xb0cebc90) at camel-pop3-engine.c:423 423 if (pe->current != pc) (gdb) thread apply all bt
+ Trace 229363
Thread 2 (Thread 0xb7dadb40 (LWP 5126))
418 419 void 420 camel_pop3_engine_command_free (CamelPOP3Engine *pe, 421 CamelPOP3Command *pc) 422 { 423 if (pe->current != pc) 424 camel_dlist_remove ((CamelDListNode *) pc); 425 g_free (pc->data); 426 g_free (pc); 427 } (gdb) info registers eax 0x0 0 ecx 0xb0c00020 -1329594336 edx 0xb0cebc90 -1328628592 ebx 0x99cff4 10080244 esp 0xb0bfee00 0xb0bfee00 ebp 0x9014688 0x9014688 esi 0xb0cebc90 -1328628592 edi 0x9027690 151156368 eip 0x994c1f 0x994c1f <camel_pop3_engine_command_free+31> eflags 0x210212 [ AF IF RF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 (gdb)
Thread 1 is running fsync(). If you're using ext3 then I bet it's not really an Evolution freeze, your machine is just busy sync'ing the entire filesystem.
Yeah, ext3 here. That explains a few hangs, I guess.
(gdb) thread apply all bt
+ Trace 229432
Thread 21 (Thread 0xb7636b40 (LWP 1931))
Thread 1 (Thread 0xb78528c0 (LWP 1927))
(gdb) info registers eax 0xfffffe00 -512 ecx 0x80 128 edx 0x1 1 ebx 0x464c3e1c 1179401756 esp 0xbfa28d84 0xbfa28d84 ebp 0xbfa28df8 0xbfa28df8 esi 0x0 0 edi 0xbfa29370 -1079864464 eip 0x12d424 0x12d424 <__kernel_vsyscall+16> eflags 0x200246 [ PF ZF IF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 (gdb) list 427 428 g_object_unref (client); 429 430 return shell; 431 } 432 433 gint 434 main (gint argc, 435 gchar **argv) 436 {
Not sure what to make of that one. Almost every thread is allocating or deallocating memory simultaneously, so I can't tell which one is actually crashing. Looks like some sort of memory corruption. A valgrind log would be more helpful than a backtrace in this case, if you're willing to endure trying to reproduce this under valgrind.
The initial issue is not freeze, but a crash. Let's use this bug report for this, because I just got a similar downstream bug report from 3.4.4: https://bugzilla.redhat.com/show_bug.cgi?id=893290 Description of problem: I was checking my email then I emptied the trash, it did the deletion process. @ 99% of the explunge it evolution crashed. It is configured to delete the emails from POP server when explunge is done but it never works always crashes. Version-Release number of selected component: evolution-3.4.4-2.fc17 Additional info: libreport version: 2.0.18 abrt_version: 2.0.18 backtrace_rating: 4 cmdline: evolution crash_function: strlen kernel: 3.6.11-1.fc17.x86_64
+ Trace 231360
Thread 7 (Thread 0x7f95e1569700 (LWP 10803))
Thread 1 (Thread 0x7f95e39d7700 (LWP 10796))
There was no duplicate for this for a long time, thus I'm closing this, but not only due to that, also because I made more POP3 fixes, touching this area too, for 3.16.2 of evolution-data-server. Feel free to reopen with an updated backtrace, and eventually steps, if you see the crash with 3.16.2+.