Bug 1093188

Summary: evolution hangs when reading large e-mails
Product: [Fedora] Fedora Reporter: EMR_Fedora <erecio>
Component: webkitgtk3Assignee: Matthias Clasen <mclasen>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: danny.remington, erecio, fabiano, fedora, john.horne, kalevlember, lucilanga, mbarnes, mclasen, mcrha, tpopela
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 97232 Environment:
Last Closed: 2015-06-29 20:23:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
backtrace.log
none
source code where it loops
none
mbox format of email that hangs evolution
none
backtrace of evolution
none
dbg backtrace of evolution none

Description EMR_Fedora 2014-04-30 21:03:16 UTC
Created attachment 891295 [details]
backtrace.log

+++ This bug was initially created as a clone of Bug #97232 +++

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225

Description of problem:
evolution hangs whenever I try to read or preview large e-mails.  The e-mails
that are doing this all have a large text attachment (~9MB). I am using evolution with EWS too. Exchange EWS uses XML messages. The message is kept on the server, and there is no local cached copy.

Version-Release number of selected component (if applicable):
evolution-3.10.4-2.fc20.i686

How reproducible:
Always

Steps to Reproduce:
1. set preview pane on, set inline on
2. select large e-mail (which also has large *text* attachment, CSV file, 9.5MB)
3. scroll down
 
Actual Results:  

1. Evolution hangs up for a short time, refusing to respond, and
also seems to make everything else run very sluggish.  
2. The CPU is pegged at 100% and there is no refreshing of the components if you place a window over it, and move that window away.
3. Cannot kill with SIGTERM

Expected Results:  evolution not to freeze.

Additional info:

I have attached a backtrace while the problem is hapenning, and kernel information:
 isAnonymousBlock (this=0x8d037654) at Source/WebCore/rendering/RenderObject.h:528

Comment 1 EMR_Fedora 2014-04-30 21:04:10 UTC
Created attachment 891296 [details]
source code where it loops

Comment 2 EMR_Fedora 2014-05-01 17:17:28 UTC
I have confirmed that this happens with a plain text email of 9MB. The email came from a process running under anacron. The server was not EWS but a standard dovecot IMAP server. See attached

Comment 3 EMR_Fedora 2014-05-01 17:19:37 UTC
Created attachment 891590 [details]
mbox format of email that hangs evolution

this is the mbox format that you can append to your mailspool file, which would hang evolution.

Comment 4 EMR_Fedora 2014-05-01 23:19:30 UTC
I downloaded the file, and decompressed it, and it has been 60 seconds and
still no email. It just freezes on me. I imported it into my imap/dovcot
servers' inbox. I am running a relatively modern (2009 Compaq CQ60, dual 2GHz,
64-bit System) The same thing happens on my intel i5 at work with 10GB RAM i686
with PAE. Same version, same Fedora 20. I am running KDE as my default desktop.
I installed from the NetInstall and selected KDE only as my desktop. Note, that the import takes no time at all, it's when I double click to open the email. Since I started writing this it now has been 2 minutes, and one of my cores are still at 100%

Comment 5 Milan Crha 2014-05-02 05:39:38 UTC
Thanks for a bug report. Despite similar summary, this bug report has nothing to do with bug #97232, evolution evolved between those 10 years in many ways, so it's not the same thing by any means.

By the way, why do you fill this both upstream and here? It doubles the work, for you, for me, for everyone.

The important part is backtrace. Please install debuginfo package for evolution and then run it under gdb like this:

   $ gdb evolution --ex r --ex "t a a bt" --ex q

then, when it gets stuck, switch to the gdb terminal and Ctrl+C it. It'll print the backtrace of it, showing what the evolution does at that moment. Then it'll quit gdb (and closes the evolution), if you confirm it.

If I may wild-guess from the information you gave, then this is bug #1089966. But I need your confirmation first, either by trying the workaround or (preferably) by providing the backtrace.

Comment 6 EMR_Fedora 2014-05-08 02:40:01 UTC
The work around seems to be OK for the preview pane, but not when I double click on the message to open it in a new window (strange!)

I then killed and restarted evolution, but this time disabled the preview pane. I then double clicked on the email, with the same hanging results.

I want to spare room for debuginfo files on this laptop. I will try tomorrow from the similarly affected machines at work to get the gdb output.

Comment 7 EMR_Fedora 2014-05-09 21:02:44 UTC
note, I compile evolution 3.12.1 on my work box, and same thing happens. See the backtraces.

Comment 8 EMR_Fedora 2014-05-09 21:03:16 UTC
Created attachment 894190 [details]
backtrace of evolution

Comment 9 Milan Crha 2014-05-12 08:57:54 UTC
(In reply to Elmo from comment #6)
> I then killed and restarted evolution, but this time disabled the preview
> pane. I then double clicked on the email, with the same hanging results.

Makes sense, the extra window has always preview panel on, otherwise the window would be empty.

(In reply to Elmo from comment #7)
> note, I compile evolution 3.12.1 on my work box, and same thing happens. See
> the backtraces.

If I read the backtrace properly, then evolution is showing a message to you, namely:
 "Cannot start Evolution.  Another Evolution instance may be unresponsive.
  System error: ..."

It might be as it says, there is another 'evolution' process running in the background (ps ax | grep evolution), or some other issue happened. As you didn't get that far in this evolution instance, to select the offending message, then I'm sure this backtrace is unrelated.

Rather than trying to compile evolution from sources, what about downloading only debuginfo packages and install them? The backtrace shows lack of debug information anyway. The debuginfo packages for evolution itself can be found here, just pick that evolution-debuginfo, which is for your architecture:
   http://koji.fedoraproject.org/koji/buildinfo?buildID=500933

I suggest this, because I suppose the problem when opening self-compiled evolution could be caused by missing dependencies, and/or inability to contact the services over D-Bus.

Comment 10 Fedora Admin XMLRPC Client 2014-09-04 14:30:26 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 11 John Horne 2014-09-11 17:03:54 UTC
I have what I think is the same problem with Evolution. I received a text message with 3 attachments - one HTML, one XML and one PDF. Total size is 1.6MB. Evolution hangs just trying to see the initial text message (which is just a few lines long).

I am running Fedora 20 and the following packages:

evolution-3.10.4-3.fc20.x86_64
evolution-data-server-3.10.4-4.fc20.x86_64
evolution-ews-3.10.4-1.fc20.x86_64
highlight-3.18-1.fc20.x86_64

I can confirm that the workaround mentioned in comment #5 (from bug #1089966) seems to work fine.

As requested in comment #5 I installed the evolution debuginfo packages, and ran the dbg command specified. Attached is the dbg backtrace produced when I hit control-c.

If you need more information, or help with testing something, then let me know.

Comment 12 John Horne 2014-09-11 17:07:59 UTC
Created attachment 936630 [details]
dbg backtrace of evolution

dbg backtrace as mentioned in comment #5.

Comment 13 Milan Crha 2014-09-12 06:07:38 UTC
Thanks for the update. gdb failed to get the backtrace:
> A problem internal to GDB has been detected,
> further debugging may prove unreliable.

but as you described your testing it can be that this is the same issue as
bug #1089966. I'm not sure why you wrote it here, though.

Anyway, it was not easy (almost possible) to backport the upstream change due to other API changes being involved, but there was a change upstream which makes things simpler, thus I'll try to backport the fix into Fedora 20. I mean the change for bug #1089966.

I'm moving this bug report to webkitgtk3, where it actually belongs.

Comment 14 Fedora End Of Life 2015-05-29 11:43:18 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 15 Fedora End Of Life 2015-06-29 20:23:03 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.