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 725402 - Checking sender for multiple images causes hang
Checking sender for multiple images causes hang
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.11.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2014-02-28 15:52 UTC by Milan Crha
Modified: 2014-03-04 17:31 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2014-02-28 15:52:51 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1065346

With evolution 3.10.4, but also git master (paraphrasing):

Evolution hangs and causes high CPU usage, if the option "Load images only in messages from contacts" is selected and a message with multiple images is selected. This hang, while UI is responsive, causes no message preview update on message change.

(Does anybody recall "Formatting message..." hangs? It's back...)
Comment 1 Milan Crha 2014-03-04 14:41:43 UTC
So this was introduced somewhere around commit [1], which was done in time
of 3.7.91 (I do not use that particular feature, thus I didn't notice it earlier).

What I see in the backtrace is repeating thread with [2], which is for me 10 threads in time of capturing it, with CPU at 100% and high disk I/O. My test email has 27 remote images, thus my capture only came "too late", because I believe the state at the beginning is 27 threads doing exactly the same query for all of my configured address books.

The cost of dropping the client cache of the results is too high, from my point of view.

[1] https://git.gnome.org/browse/evolution/commit/?id=ef355cd5
[2]

  • #8 e_book_client_get_contacts_uids_sync
  • #9 e_mail_ui_session_check_known_address_sync
    at e-mail-ui-session.c line 827
  • #10 handle_http_request
    at e-http-request.c line 334

Comment 2 Milan Crha 2014-03-04 17:31:13 UTC
Created commit 0e3df24 in evo master (3.11.92+) [1]

[1] https://git.gnome.org/browse/evolution/commit/?id=0e3df24