[kmail2] [Bug 331156] Display of HTML-Message extremely slow

Jon Moon jon.moon at cantab.net
Sun Feb 23 10:27:59 GMT 2014


https://bugs.kde.org/show_bug.cgi?id=331156

Jon Moon <jon.moon at cantab.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jon.moon at cantab.net

--- Comment #9 from Jon Moon <jon.moon at cantab.net> ---
I was just about to raise a similar bug and came across this one which I
believe to be the same.

In my case some e-mails, typically with a lot of nested HTML quotes from
previous e-mails in the thread, can cause Kmail to lock up (w. CPU at 100%) for
extremely long periods of time - in extreme cases order of a minute -
effectively making kmail unusable (especially when I am trying to quickly read
lots of replies on the same thread!).  This is not a new behaviour ,but has got
a lot worse recently (likely changing factor s  the nature of the e-mails I'm
receiving).

With the sample mail above, then similar to Axel it takes ~5 seconds to open.

I've tried gdb on both my case and the test mail above - and the backtrace is
basically the same, with the pertinent bit of the backtrace being -

<79 frames of recursion into JSC::Bindings::convertValueToQVariant>
#80 0x00007fef7d771b9f in JSC::Bindings::convertValueToQVariant(OpaqueJSContext
const*, OpaqueJSValue const*, QMetaType::Type, int*,
WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>,
WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**) () from
/usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#81 0x00007fef7d771b9f in JSC::Bindings::convertValueToQVariant(OpaqueJSContext
const*, OpaqueJSValue const*, QMetaType::Type, int*,
WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>,
WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**) () from
/usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#82 0x00007fef7d774317 in JSC::Bindings::convertValueToQVariant(OpaqueJSContext
const*, OpaqueJSValue const*, QMetaType::Type, int*, OpaqueJSValue const**) ()
from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#83 0x00007fef7d6698a7 in QWebFrame::evaluateJavaScript(QString const&) () from
/usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#84 0x00007fef842adf77 in MessageViewer::HTMLQuoteColorer::process
(this=this at entry=0x7fff80c51a20, htmlSource=..., extraHead=...) at
../../messageviewer/viewer/htmlquotecolorer.cpp:133
#85 0x00007fef842bde78 in
MessageViewer::ObjectTreeParser::processTextHtmlSubtype (this=0x7fff80c51bf0,
curNode=0x19e5f430) at ../../messageviewer/viewer/objecttreeparser.cpp:1229

In both cases a call from MessageViewer::HTMLQuoteColorer into
QWebFrame::evaluateJavaScript is generating a deep recursion into
JSC::Bindings::convertValueToQVariant.

I am suspicious that this is related to the following upstream bug -

https://bugs.webkit.org/show_bug.cgi?id=39717

However there's not enough information on that ticket to be sure, and either
way its old, has been closed as invalid and certainly doesn't have traction.

I will attach both backtraces.  I'm afraid I can't provide my problem e-mails
for confidentiality reasons.

If there's anything else I can do to help let me know - I would really like to
see this fixed, as it really affects my work.

As the problem functionality is conditional on KDEPIM being compiled with
Webkit functionality (#ifndef KDEPIM_NO_WEBKIT) then as a workaround I'll
investigate getting a version of KDEPIM installed with that functionality
disabled.

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list