evolutions consums lots of cpu while pinging imap server

Bug #76796 reported by Shaya Potter
32
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Evolution
Expired
Critical
evolution (Ubuntu)
Invalid
Low
Ubuntu Desktop Bugs

Bug Description

Binary package hint: evolution

the imap server I use is very busy and connections time out and this causes evolution to consume 100% cpu (or whatever it can get) making my 1.8ghz t42p unresponsive until it finally decides the connection is dead and restarts it.

from top

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8525 spotter 15 0 208m 93m 18m S 89.9 9.2 19:07.14 evolution

the only item that there is is that in the status area it says "Pinging IMAP server ...."

Revision history for this message
Shaya Potter (spotter) wrote :

wondering if its spinning on this function, don't know in mail-folder-cache.c

static void
ping_store_ping (struct _mail_msg *mm)
{
        gboolean online = FALSE;
        struct _ping_store_msg *m = (struct _ping_store_msg *) mm;

        if (CAMEL_SERVICE (m->store)->status == CAMEL_SERVICE_CONNECTED) {
                if (CAMEL_IS_DISCO_STORE (m->store) &&
                    camel_disco_store_status (CAMEL_DISCO_STORE (m->store)) != CAMEL_DISCO_STORE_OFFLINE)
                        online = TRUE;
                else if (CAMEL_IS_OFFLINE_STORE (m->store) &&
                         CAMEL_OFFLINE_STORE (m->store)->state != CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL)
                        online = TRUE;
        }
        if (online)
                camel_store_noop (m->store, &mm->ex);
}

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

Thank you for your bug. What version of Ubuntu do you use? Could you get a backtrace from evolution when it uses CPU? Maybe you could forward the bug upstream, they have a better knowledge of the code and would be better placed to comment on the code

Changed in evolution:
assignee: nobody → desktop-bugs
status: Unconfirmed → Needs Info
importance: Undecided → Low
Revision history for this message
Shaya Potter (spotter) wrote :

I'm unsure how to get an appropriate backtrace that would be useful. Any hints?

when I see evolution consuming all cpu, I should do what?

gdb

attach <evolution pid>
???

Revision history for this message
Shaya Potter (spotter) wrote :
Download full text (4.9 KiB)

here's a backtrace, but I'm not sure it does any good.

(gdb) thread apply all bt

Thread 11 (Thread -1249932400 (LWP 9728)):
#0 0xb7f50410 in ?? ()
#1 0xb57f8338 in ?? ()
#2 0x000004e5 in ?? ()
#3 0x00000000 in ?? ()

Thread 10 (Thread -1258325104 (LWP 9729)):
#0 0xb7f50410 in ?? ()
#1 0xb4ff7338 in ?? ()
#2 0x000004e4 in ?? ()
#3 0x00000000 in ?? ()

Thread 9 (Thread -1266717808 (LWP 9730)):
#0 0xb7f50410 in ?? ()
#1 0xb47f6338 in ?? ()
#2 0x000004e2 in ?? ()
#3 0x00000000 in ?? ()

Thread 8 (Thread -1275110512 (LWP 9746)):
#0 0xb7f50410 in ?? ()
#1 0xb3ff52e8 in ?? ()
#2 0xffffffff in ?? ()
---Type <return> to continue, or q <return> to quit---
#3 0x00000002 in ?? ()
#4 0xb71426f3 in poll () from /lib/tls/i686/cmov/libc.so.6
#5 0xb7533ba3 in g_main_context_iterate (context=0x8ea7418, block=1,
    dispatch=1, self=0x8eac780) at gmain.c:2979
#6 0xb7533f19 in IA__g_main_loop_run (loop=0x8ea5bf0) at gmain.c:2881
#7 0xb7500734 in libnm_glib_init () from /usr/lib/libnm_glib.so.0
#8 0xb754e71f in g_thread_create_proxy (data=0x8eac780) at gthread.c:553
#9 0xb6fda31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0xb714c3ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 7 (Thread -1284297840 (LWP 9747)):
#0 0xb6fdc497 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#1 0xb7158da6 in pthread_mutex_lock () from /lib/tls/i686/cmov/libc.so.6
#2 0xb73a0915 in camel_store_summary_info_free ()
   from /usr/lib/libcamel-provider-1.2.so.10
#3 0xb5811062 in camel_imap_store_summary_full_name ()
   from /usr/lib/evolution-data-server-1.2/camel-providers-10/libcamelimap.so
#4 0xb58110fe in camel_imap_store_summary_add_from_full ()
   from /usr/lib/evolution-data-server-1.2/camel-providers-10/libcamelimap.so
#5 0xb580bd03 in camel_imap_store_readline ()
   from /usr/lib/evolution-data-server-1.2/camel-providers-10/libcamelimap.so
#6 0xb580bfa8 in camel_imap_store_readline ()
   from /usr/lib/evolution-data-server-1.2/camel-providers-10/libcamelimap.so
---Type <return> to continue, or q <return> to quit---
#7 0xb580c5b8 in camel_imap_store_readline ()
   from /usr/lib/evolution-data-server-1.2/camel-providers-10/libcamelimap.so
#8 0xb739dcf2 in camel_session_get_service_connected ()
   from /usr/lib/libcamel-provider-1.2.so.10
#9 0xb720ce34 in e_msgport_reply () from /usr/lib/libedataserver-1.2.so.9
#10 0xb6fda31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#11 0xb714c3ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread -1301083248 (LWP 9749)):
#0 0xb7f50410 in ?? ()
#1 0xb2730338 in ?? ()
#2 0x00000209 in ?? ()
#3 0x00000000 in ?? ()

Thread 5 (Thread -1292690544 (LWP 9764)):
#0 0xb7f50410 in ?? ()
#1 0xb2f31338 in ?? ()
#2 0x000000b5 in ?? ()
#3 0x00000000 in ?? ()

Thread 4 (Thread -1330594928 (LWP 9781)):
#0 0xb7f50410 in ?? ()
#1 0xb0b0b2f8 in ?? ()
---Type <return> to continue, or q <return> to quit---
#2 0xffffffff in ?? ()
#3 0x0000000b in ?? ()
#4 0xb71426f3 in poll () from /lib/tls/i686/cmov/libc.so.6
#5 0xb7533ba3 in g_main_context_iterate (context=0x9360010, block=1,
    dispatch=1, self=0x93ee4f8) at gmain.c:2979
#6 0xb7533f19 in IA_...

Read more...

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

Thank you for forwarding the bug upstream. Maybe you could get a backtrace with libglib2.0-0-dbg evolution-data-server-dbg evolution-dbg installed and comment upstream about the code note you made?

Revision history for this message
Daniel Holbach (dholbach) wrote :

Bug 88850 has a matching backtrace: http://librarian.launchpad.net/6581952/backtrace.88850
Marking as duplicate and forwarding backtrace.

Changed in evolution:
status: Needs Info → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

do you still get the issue in hardy or intrepid?

Changed in evolution:
status: Confirmed → Triaged
Revision history for this message
Shaya Potter (spotter) wrote :

It was bad enough that I stopped running evolution. I know use thunderbird.

Revision history for this message
Shaya Potter (spotter) wrote :

s/know/now/

Changed in evolution:
status: New → Incomplete
Revision history for this message
Pedro Villavicencio (pedro) wrote :

Is someone still seeing this under intrepid?

Changed in evolution:
status: Triaged → Incomplete
Revision history for this message
kojo888 (kojo888) wrote :

Yes, I do. No change whatsoever.

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

how do you know you are getting the same issue?

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

does anybody still get the issue on jaunty?

Revision history for this message
Shaya Potter (spotter) wrote : RE: [Bug 76796] Re: evolutions consums lots of cpu while pinging imap server

I can try running evo for a bit again. The issue forced me to thunderbird a long time ago and i never looked back.

-----Original Message-----
From: Sebastien Bacher <email address hidden>
Sent: Thursday, March 19, 2009 8:19 PM
To: <email address hidden>
Subject: [Bug 76796] Re: evolutions consums lots of cpu while pinging imap server

does anybody still get the issue on jaunty?

--
evolutions consums lots of cpu while pinging imap server
https://bugs.launchpad.net/bugs/76796
You received this bug notification because you are a direct subscriber
of the bug.

Revision history for this message
Shaya Potter (spotter) wrote :

I'm running evolution now to see if it happens, but the setup has changed. B4 I was dealing with imap servers that weren't setup so well, so would have lot of problems. Since then my email has been moved to a much better run imap server, so might not be able to reproduce it.

unsure what else to say.

Revision history for this message
Shaya Potter (spotter) wrote :

well, been running evolution for about a day now and can't reproduce, but also haven't had any issues with imap server in ages.

Changed in evolution:
status: Incomplete → New
Revision history for this message
Kim d'Audretsch (kimda) wrote :

I had the same problem after I upgraded to Jaunty. Today I moved the .evolution/mail/imap folder and let evolution recreate this folder and the problem was solved.

Revision history for this message
Ka-Hing Cheung (kahing) wrote :

I've done what Kim did, except after a hibernate and resume (while evolution was running) it happens again. The imap server is on localhost (which was dovecot, and so that too was hibernated and resumed too). I really don't want to move away stuff again because that would make evolution to refetch all the summaries which will take... forever.

Revision history for this message
Tomasz Sterna (smoku) wrote :

I confirm that this problem still exists in current Jaunty.

Just after starting Evolution communicates with IMAP server (Dovecot) fine, but when the server closes IDLE connection, Evolution starts eating 100% CPU and do nothing (there are messages on status bar, that it is refreshing IMAP folders).
Once I kill evolution and restart it does not help - Evolution eats 100% CPU just after starting. I need to go in ~/.evolution/mail/imap, remove the IMAP account cache ant then after launching Evolution works fine - until the next disconnection, when the cycle repeats.

Changed in evolution (Ubuntu):
status: Incomplete → Triaged
Changed in evolution:
importance: Unknown → Critical
Revision history for this message
Joachim Breitner (nomeata) wrote :

Not very helpful, but still: I observe a similar condition where the status bar will show two activities „Pinging server“ and „Checking for new mail“ that don’t seem to stop. This happens after letting evolution run for a while, without any obvious cause. I can still work normally in most folders, but new messages in the INBOX would not appear until I quit and restart evolution – it seems that one or two of the IMAP connections are blocked. I do not need to remove any files to get back to working with evolution, though. Evolution 3.2.2-1 on Debian, Dovecot Server, using IMAP+.

Changed in evolution:
status: New → Expired
Revision history for this message
Jörg Frings-Fürst (jff-de) wrote :

change status to invalid ( see gnome-bugs)

Changed in evolution (Ubuntu):
status: Triaged → Invalid
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.