[Evolution] BUG: frozen while looking up new mail

Jeffrey Stedfast fejj@ximian.com
Tue, 02 Mar 2004 14:48:49 -0500


--=-cVwCkfuaFecePYLhbCYt
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Well, the easiest way to do this would be to first shut down evolution.
Once you do that, you'll want to open up an xterm (or gnome-terminal or
whatever you prefer). Then,

bash$ gdb evolution-1.4
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i686-pc-linux-gnu".
(gdb) r

dum de dum... cause evolution to hang and then hit Control-C

(gdb) thread apply all bt

Jeff

On Tue, 2004-03-02 at 11:21 -0800, Florin Andrei wrote:


> Um... ok, i need directions. I barely used gdb a couple times before.
> But if you tell me exactly what to do, i'll do it.
> 
> On Tue, 2004-03-02 at 11:09, Jeffrey Stedfast wrote:
> > Can you attach to evolution with gdb and see what it is actually doing
> > in all the threads when this "lock" occurs? Afaik, all the code that
> > does *anything* over the network is done in another thread (ie. not
> > the GUI thread).
> > 
> > the output of "thread apply all bt" should be enough.
> > 
> > Jeff
> > 
> > On Tue, 2004-03-02 at 10:53 -0800, Florin Andrei wrote:
> > 
> > > I'm using Evolution-1.4.5-7 on Linux Fedora Core 1 (it's the default Evo
> > > package provided by Fedora), with Cyrus IMAPd 2.2.3. I'm using the IMAP
> > > protocol, plain text authentication (Evo and Cyrus are on the same box,
> > > so it does not matter). Evo is setup to check the Inbox every minute.
> > > The /home/user/evolution folder is on the same partition (indeed, on the
> > > same SCSI spindle) as the Cyrus spool, because Cyrus on my system is
> > > setup to use /home/cyrus as the spool (not the default /var/spool/imap).
> > > I'm running my own MTA, which is Postfix-2.0.11-5, which delivers mail
> > > to Cyrus via LMTP over a Unix socket (default configs all over the
> > > place).
> > > Evo sends out mail via the local MTA, using the "sendmail" executable.
> > > 
> > > Everything's mostly fine, with one exception: Evo gets locked up hard
> > > every time it checks the Inbox. It's only for a few seconds, and after
> > > that it resumes normal functioning, but during those moments nothing
> > > works, i cannot even type into the Composer, or if i copy/paste text
> > > outside Evo and i hit CTRL-V exactly when it's frozen, it will wait
> > > until the lookup is over.
> > > This is not a regular "the system is too loaded to serve new requests"
> > > type of thing. It is a hard lock, the CPU is mostly idle, the SCSI is
> > > mostly idle, but Evo is 100% unresponsive for like 5 seconds or so.
> > > 
> > > It is very annoying.
> > > 
> > > Sure, probably it would help if my Cyrus server was a bit faster, but
> > > anyway, in my uneducated opinion, Evo should not get totally blocked
> > > while waiting for an event to complete, especially a network event.
> > > It looks like the user interface and some network stuff is in the same
> > > program loop, or something, and one blocks the other.
> > > If that's true and it's not a screwup of my own design, then it's a bug
> > > that needs to be fixed.
> > > 
> > > -- 
> > > Florin Andrei
> > > 
> > > http://florin.myip.org/
> > > _______________________________________________
> > > evolution maillist  -  evolution@lists.ximian.com
> > > http://lists.ximian.com/mailman/listinfo/evolution
> > 
> -- 
> Florin Andrei
> 
> http://florin.myip.org/
> 
> 
> 
> _______________________________________________
> evolution maillist  -  evolution@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/evolution


-- 
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj@ximian.com  - www.ximian.com

--=-cVwCkfuaFecePYLhbCYt
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.1.8">
</HEAD>
<BODY>
Well, the easiest way to do this would be to first shut down evolution. Once you do that, you'll want to open up an xterm (or gnome-terminal or whatever you prefer). Then,<BR>
<BR>
bash$ gdb evolution-1.4<BR>
GNU gdb 6.0<BR>
Copyright 2003 Free Software Foundation, Inc.<BR>
GDB is free software, covered by the GNU General Public License, and you are<BR>
welcome to change it and/or distribute copies of it under certain conditions.<BR>
Type &quot;show copying&quot; to see the conditions.<BR>
There is absolutely no warranty for GDB.&nbsp; Type &quot;show warranty&quot; for details.<BR>
This GDB was configured as &quot;i686-pc-linux-gnu&quot;.<BR>
(gdb) r<BR>
<BR>
dum de dum... cause evolution to hang and then hit Control-C<BR>
<BR>
(gdb) thread apply all bt<BR>
<BR>
Jeff<BR>
<BR>
On Tue, 2004-03-02 at 11:21 -0800, Florin Andrei wrote:<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#000000">Um... ok, i need directions. I barely used gdb a couple times before.</FONT>
<FONT COLOR="#000000">But if you tell me exactly what to do, i'll do it.</FONT>

<FONT COLOR="#000000">On Tue, 2004-03-02 at 11:09, Jeffrey Stedfast wrote:</FONT>
<FONT COLOR="#000000">&gt; Can you attach to evolution with gdb and see what it is actually doing</FONT>
<FONT COLOR="#000000">&gt; in all the threads when this &quot;lock&quot; occurs? Afaik, all the code that</FONT>
<FONT COLOR="#000000">&gt; does *anything* over the network is done in another thread (ie. not</FONT>
<FONT COLOR="#000000">&gt; the GUI thread).</FONT>
<FONT COLOR="#000000">&gt; </FONT>
<FONT COLOR="#000000">&gt; the output of &quot;thread apply all bt&quot; should be enough.</FONT>
<FONT COLOR="#000000">&gt; </FONT>
<FONT COLOR="#000000">&gt; Jeff</FONT>
<FONT COLOR="#000000">&gt; </FONT>
<FONT COLOR="#000000">&gt; On Tue, 2004-03-02 at 10:53 -0800, Florin Andrei wrote:</FONT>
<FONT COLOR="#000000">&gt; </FONT>
<FONT COLOR="#000000">&gt; &gt; I'm using Evolution-1.4.5-7 on Linux Fedora Core 1 (it's the default Evo</FONT>
<FONT COLOR="#000000">&gt; &gt; package provided by Fedora), with Cyrus IMAPd 2.2.3. I'm using the IMAP</FONT>
<FONT COLOR="#000000">&gt; &gt; protocol, plain text authentication (Evo and Cyrus are on the same box,</FONT>
<FONT COLOR="#000000">&gt; &gt; so it does not matter). Evo is setup to check the Inbox every minute.</FONT>
<FONT COLOR="#000000">&gt; &gt; The /home/user/evolution folder is on the same partition (indeed, on the</FONT>
<FONT COLOR="#000000">&gt; &gt; same SCSI spindle) as the Cyrus spool, because Cyrus on my system is</FONT>
<FONT COLOR="#000000">&gt; &gt; setup to use /home/cyrus as the spool (not the default /var/spool/imap).</FONT>
<FONT COLOR="#000000">&gt; &gt; I'm running my own MTA, which is Postfix-2.0.11-5, which delivers mail</FONT>
<FONT COLOR="#000000">&gt; &gt; to Cyrus via LMTP over a Unix socket (default configs all over the</FONT>
<FONT COLOR="#000000">&gt; &gt; place).</FONT>
<FONT COLOR="#000000">&gt; &gt; Evo sends out mail via the local MTA, using the &quot;sendmail&quot; executable.</FONT>
<FONT COLOR="#000000">&gt; &gt; </FONT>
<FONT COLOR="#000000">&gt; &gt; Everything's mostly fine, with one exception: Evo gets locked up hard</FONT>
<FONT COLOR="#000000">&gt; &gt; every time it checks the Inbox. It's only for a few seconds, and after</FONT>
<FONT COLOR="#000000">&gt; &gt; that it resumes normal functioning, but during those moments nothing</FONT>
<FONT COLOR="#000000">&gt; &gt; works, i cannot even type into the Composer, or if i copy/paste text</FONT>
<FONT COLOR="#000000">&gt; &gt; outside Evo and i hit CTRL-V exactly when it's frozen, it will wait</FONT>
<FONT COLOR="#000000">&gt; &gt; until the lookup is over.</FONT>
<FONT COLOR="#000000">&gt; &gt; This is not a regular &quot;the system is too loaded to serve new requests&quot;</FONT>
<FONT COLOR="#000000">&gt; &gt; type of thing. It is a hard lock, the CPU is mostly idle, the SCSI is</FONT>
<FONT COLOR="#000000">&gt; &gt; mostly idle, but Evo is 100% unresponsive for like 5 seconds or so.</FONT>
<FONT COLOR="#000000">&gt; &gt; </FONT>
<FONT COLOR="#000000">&gt; &gt; It is very annoying.</FONT>
<FONT COLOR="#000000">&gt; &gt; </FONT>
<FONT COLOR="#000000">&gt; &gt; Sure, probably it would help if my Cyrus server was a bit faster, but</FONT>
<FONT COLOR="#000000">&gt; &gt; anyway, in my uneducated opinion, Evo should not get totally blocked</FONT>
<FONT COLOR="#000000">&gt; &gt; while waiting for an event to complete, especially a network event.</FONT>
<FONT COLOR="#000000">&gt; &gt; It looks like the user interface and some network stuff is in the same</FONT>
<FONT COLOR="#000000">&gt; &gt; program loop, or something, and one blocks the other.</FONT>
<FONT COLOR="#000000">&gt; &gt; If that's true and it's not a screwup of my own design, then it's a bug</FONT>
<FONT COLOR="#000000">&gt; &gt; that needs to be fixed.</FONT>
<FONT COLOR="#000000">&gt; &gt; </FONT>
<FONT COLOR="#000000">&gt; &gt; -- </FONT>
<FONT COLOR="#000000">&gt; &gt; Florin Andrei</FONT>
<FONT COLOR="#000000">&gt; &gt; </FONT>
<FONT COLOR="#000000">&gt; &gt; </FONT><A HREF="http://florin.myip.org/">http://florin.myip.org/</A>
<FONT COLOR="#000000">&gt; &gt; _______________________________________________</FONT>
<FONT COLOR="#000000">&gt; &gt; evolution maillist  -  </FONT><A HREF="mailto:evolution@lists.ximian.com">evolution@lists.ximian.com</A>
<FONT COLOR="#000000">&gt; &gt; </FONT><A HREF="http://lists.ximian.com/mailman/listinfo/evolution">http://lists.ximian.com/mailman/listinfo/evolution</A>
<FONT COLOR="#000000">&gt; </FONT>
<FONT COLOR="#000000">-- </FONT>
<FONT COLOR="#000000">Florin Andrei</FONT>

<A HREF="http://florin.myip.org/">http://florin.myip.org/</A>



<FONT COLOR="#000000">_______________________________________________</FONT>
<FONT COLOR="#000000">evolution maillist  -  </FONT><A HREF="mailto:evolution@lists.ximian.com">evolution@lists.ximian.com</A>
<A HREF="http://lists.ximian.com/mailman/listinfo/evolution">http://lists.ximian.com/mailman/listinfo/evolution</A></PRE>
</BLOCKQUOTE>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
-- 
Jeffrey Stedfast
Evolution Hacker - Ximian, Inc.
fejj@ximian.com  - www.ximian.com</PRE>
</TD>
</TR>
</TABLE>

</BODY>
</HTML>

--=-cVwCkfuaFecePYLhbCYt--