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 669005 - Partial hang with unresponsive HTML email image source
Partial hang with unresponsive HTML email image source
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.2.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2012-01-30 10:18 UTC by Milan Crha
Modified: 2012-01-30 17:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (460 bytes, patch)
2012-01-30 17:00 UTC, Milan Crha
committed Details | Review
evo patch (1.41 KB, patch)
2012-01-30 17:03 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2012-01-30 10:18:39 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=785205

Description of problem:
Image files for HTML email from a non-responding server lock up the preview
pane.
Cancelling the image file download has no effect.  Even quitting Evolution is
blocked until the maximum socket timeout is apparently reached (typically 5+
minutes).
It is possible to view other emails while the problem is in play, by
double-clicking on another message and bringing up a new message window, but
this forces the user into an abnormal message review situation.
I typically receive about 3 of these emails every day, causing a lot of
frustration due to this bug.


Version-Release number of selected component (if applicable):
Evolution 3.2.3
Fedora is a fully up-to-date F16 workstation.

How reproducible:
Every time the web server cannot respond for various reasons.


Steps to Reproduce:
1. Start Evolution
2. Read an html email where the originating site will not respond with image
data
3. Observe download hangs, blocking many parts of Evolution, including exit.

Actual results:
Evolution partially hung.

Expected results:
Evolution should not block on delayed image files, and should be able to
successfully cancel these downloads.
Comment 1 Milan Crha 2012-01-30 16:15:03 UTC
Confirming, I'm able to reproduce it too.
Comment 2 Milan Crha 2012-01-30 17:00:49 UTC
Created attachment 206455 [details] [review]
eds patch

for evolution-data-server;

There is needed also this little change in eds to have it working. Though the cleaner solution would be to change API for camel_http_stream_get_content_type(), to provide GCancellable and GError pointers into it, but I didn't want to change it, because a) it's a pain to change API version (soname version bump), b) it's expected that 3.5 will have this code completely changed, when evolution became using WebKit. Thus I consider this sufficient for the time being.
Comment 3 Milan Crha 2012-01-30 17:03:42 UTC
Created attachment 206456 [details] [review]
evo patch

for evolution;

This makes the request cancellable. The only thing is that it is not cancelled immediately, but only when the cancellation is possible, which is, for me, in about two seconds when the status bar shows "Retrieving '.../img.png'". It's definitely cancelled before the timeout is reached.
Comment 4 Milan Crha 2012-01-30 17:06:41 UTC
Created commit 0d7c524 in eds master (3.3.5+)
Created commit cd1d443 in evo master (3.3.5+)