Created attachment 1229223 [details] This is the message that's causing several seconds of high CPU usage Description of problem: ======================= The attached message causes Evolution to become unresponsive for several seconds while the process "/usr/libexec/webkit2gtk-4.0/WebKitWebProcess 43" pegs the CPU at 100% Version-Release number of selected component (if applicable): ============================================================= evolution-3.22.2-1.fc25.x86_64 How reproducible: ================= Consistently Steps to Reproduce: 1. Import the message in Evolution In order to ensure it is not a compositing problem 2. display the message in the preview window 3. Observe evolution in crisis... :-/ Additional info: ================ It happens also with "WEBKIT_DISABLE_COMPOSITING_MODE=1"
please ignore the passage: "In order to ensure it is not a compositing problem"
Thanks for a bug report. The message is very small, but makes WebKit very unhappy. One snapshot of the WebKitWebPorcess can be found below: Thread 1 (Thread 0x7f70a87d2fc0 (LWP 7561)): #0 0x00007f709a3f4f8c in malloc () at /lib64/libc.so.6 #1 0x00007f709dd3006c in hnj_malloc () at /lib64/libhyphen.so.0 #2 0x00007f709dd3010c in hnj_strdup () at /lib64/libhyphen.so.0 #3 0x00007f709dd301cf in hnj_hash_insert () at /lib64/libhyphen.so.0 #4 0x00007f709dd302c9 in hnj_get_state.isra.0.part () at /lib64/libhyphen.so.0 #5 0x00007f709dd308bb in hnj_hyphen_load_line () at /lib64/libhyphen.so.0 #6 0x00007f709dd30ec1 in hnj_hyphen_load_file () at /lib64/libhyphen.so.0 #7 0x00007f709dd30f42 in hnj_hyphen_load () at /lib64/libhyphen.so.0 #8 0x00007f70a75aa6a6 in WebCore::lastHyphenLocation(WTF::StringView, unsigned long, WTF::AtomicString const&) () at /lib64/libwebkit2gtk-4.0.so.37 #9 0x00007f70a72ac27a in WebCore::RenderText::computePreferredLogicalWidths(float, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, WebCore::GlyphOverflow&) () at /lib64/libwebkit2gtk-4.0.so.37 #10 0x00007f70a72b02e2 in WebCore::RenderText::computePreferredLogicalWidths(float) () at /lib64/libwebkit2gtk-4.0.so.37 #11 0x00007f70a72aa1fc in WebCore::RenderText::trimmedPrefWidths(float, float&, bool&, float&, bool&, bool&, bool&, float&, float&, float&, float&, bool&) () at /lib64/libwebkit2gtk-4.0.so.37 #12 0x00007f70a71553a5 in WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #13 0x00007f70a7157302 in WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #14 0x00007f70a7130cb4 in WebCore::RenderBlock::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #15 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #16 0x00007f70a7137fd4 in WebCore::RenderBlock::computeBlockPreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #17 0x00007f70a71573bd in WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #18 0x00007f70a7130cb4 in WebCore::RenderBlock::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #19 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #20 0x00007f70a7137fd4 in WebCore::RenderBlock::computeBlockPreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #21 0x00007f70a71573bd in WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #22 0x00007f70a7130cb4 in WebCore::RenderBlock::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #23 0x00007f70a7297cfc in WebCore::RenderTableCell::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #24 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #25 0x00007f70a70fa76c in WebCore::AutoTableLayout::recalcColumn(unsigned int) () at /lib64/libwebkit2gtk-4.0.so.37 #26 0x00007f70a70fb00d in WebCore::AutoTableLayout::fullRecalc() () at /lib64/libwebkit2gtk-4.0.so.37 #27 0x00007f70a70fb5e2 in WebCore::AutoTableLayout::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #28 0x00007f70a728acfa in WebCore::RenderTable::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #29 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #30 0x00007f70a7137fd4 in WebCore::RenderBlock::computeBlockPreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #31 0x00007f70a71573bd in WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #32 0x00007f70a7130cb4 in WebCore::RenderBlock::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #33 0x00007f70a7297cfc in WebCore::RenderTableCell::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #34 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #35 0x00007f70a70fa76c in WebCore::AutoTableLayout::recalcColumn(unsigned int) () at /lib64/libwebkit2gtk-4.0.so.37 #36 0x00007f70a70fb00d in WebCore::AutoTableLayout::fullRecalc() () at /lib64/libwebkit2gtk-4.0.so.37 #37 0x00007f70a70fb5e2 in WebCore::AutoTableLayout::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #38 0x00007f70a728acfa in WebCore::RenderTable::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #39 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #40 0x00007f70a7137fd4 in WebCore::RenderBlock::computeBlockPreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #41 0x00007f70a71573bd in WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #42 0x00007f70a7130cb4 in WebCore::RenderBlock::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #43 0x00007f70a7297cfc in WebCore::RenderTableCell::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #44 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #45 0x00007f70a70fa76c in WebCore::AutoTableLayout::recalcColumn(unsigned int) () at /lib64/libwebkit2gtk-4.0.so.37 #46 0x00007f70a70fb00d in WebCore::AutoTableLayout::fullRecalc() () at /lib64/libwebkit2gtk-4.0.so.37 #47 0x00007f70a70fb5e2 in WebCore::AutoTableLayout::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #48 0x00007f70a728acfa in WebCore::RenderTable::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #49 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #50 0x00007f70a7137fd4 in WebCore::RenderBlock::computeBlockPreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #51 0x00007f70a71573bd in WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #52 0x00007f70a7130cb4 in WebCore::RenderBlock::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #53 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #54 0x00007f70a7137fd4 in WebCore::RenderBlock::computeBlockPreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #55 0x00007f70a71573bd in WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const () at /lib64/libwebkit2gtk-4.0.so.37 #56 0x00007f70a7130cb4 in WebCore::RenderBlock::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #57 0x00007f70a7297cfc in WebCore::RenderTableCell::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #58 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #59 0x00007f70a70fa76c in WebCore::AutoTableLayout::recalcColumn(unsigned int) () at /lib64/libwebkit2gtk-4.0.so.37 #60 0x00007f70a70fb00d in WebCore::AutoTableLayout::fullRecalc() () at /lib64/libwebkit2gtk-4.0.so.37 #61 0x00007f70a70fb5e2 in WebCore::AutoTableLayout::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #62 0x00007f70a728acfa in WebCore::RenderTable::computePreferredLogicalWidths() () at /lib64/libwebkit2gtk-4.0.so.37 #63 0x00007f70a716b331 in WebCore::RenderBox::minPreferredLogicalWidth() const () at /lib64/libwebkit2gtk-4.0.so.37 #64 0x00007f70a7287a5f in WebCore::RenderTable::updateLogicalWidth() () at /lib64/libwebkit2gtk-4.0.so.37 #65 0x00007f70a728b5c2 in WebCore::RenderTable::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #66 0x00007f70a715384c in WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #67 0x00007f70a71549a3 in WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #68 0x00007f70a71591c2 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) () at /lib64/libwebkit2gtk-4.0.so.37 #69 0x00007f70a7133d43 in WebCore::RenderBlock::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #70 0x00007f70a715384c in WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #71 0x00007f70a71549a3 in WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #72 0x00007f70a71591c2 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) () at /lib64/libwebkit2gtk-4.0.so.37 #73 0x00007f70a7133d43 in WebCore::RenderBlock::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #74 0x00007f70a715384c in WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #75 0x00007f70a71549a3 in WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #76 0x00007f70a71591c2 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) () at /lib64/libwebkit2gtk-4.0.so.37 #77 0x00007f70a7133d43 in WebCore::RenderBlock::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #78 0x00007f70a72d6639 in WebCore::RenderView::layoutContent(WebCore::LayoutState const&) () at /lib64/libwebkit2gtk-4.0.so.37 #79 0x00007f70a72d6b47 in WebCore::RenderView::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #80 0x00007f70a6f5f572 in WebCore::FrameView::layout(bool) () at /lib64/libwebkit2gtk-4.0.so.37 #81 0x00007f70a72daa28 in WebCore::RenderWidget::updateWidgetPosition() () at /lib64/libwebkit2gtk-4.0.so.37 #82 0x00007f70a71d7104 in WebCore::RenderFrameBase::peformLayoutWithFlattening(bool, bool) () at /lib64/libwebkit2gtk-4.0.so.37 #83 0x00007f70a71d7619 in WebCore::RenderFrameBase::layoutWithFlattening(bool, bool) () at /lib64/libwebkit2gtk-4.0.so.37 #84 0x00007f70a71f1a0c in WebCore::RenderIFrame::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #85 0x00007f70a7166758 in WebCore::RenderBlockFlow::layoutLineBoxes(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #86 0x00007f70a7158d6f in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) () at /lib64/libwebkit2gtk-4.0.so.37 #87 0x00007f70a7133d43 in WebCore::RenderBlock::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #88 0x00007f70a715384c in WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #89 0x00007f70a71549a3 in WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #90 0x00007f70a71591c2 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) () at /lib64/libwebkit2gtk-4.0.so.37 #91 0x00007f70a7133d43 in WebCore::RenderBlock::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #92 0x00007f70a715384c in WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #93 0x00007f70a71549a3 in WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #94 0x00007f70a71591c2 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) () at /lib64/libwebkit2gtk-4.0.so.37 #95 0x00007f70a7133d43 in WebCore::RenderBlock::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #96 0x00007f70a715384c in WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #97 0x00007f70a71549a3 in WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) () at /lib64/libwebkit2gtk-4.0.so.37 #98 0x00007f70a71591c2 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) () at /lib64/libwebkit2gtk-4.0.so.37 #99 0x00007f70a7133d43 in WebCore::RenderBlock::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #100 0x00007f70a72d6639 in WebCore::RenderView::layoutContent(WebCore::LayoutState const&) () at /lib64/libwebkit2gtk-4.0.so.37 #101 0x00007f70a72d6b47 in WebCore::RenderView::layout() () at /lib64/libwebkit2gtk-4.0.so.37 #102 0x00007f70a6f5f572 in WebCore::FrameView::layout(bool) () at /lib64/libwebkit2gtk-4.0.so.37 #103 0x00007f70a6b18125 in WebCore::Document::updateLayout() () at /lib64/libwebkit2gtk-4.0.so.37 #104 0x00007f70a72cf88d in WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestLocation const&, WebCore::HitTestResult&) () at /lib64/libwebkit2gtk-4.0.so.37 #105 0x00007f70a6b1aa53 in WebCore::Document::prepareMouseEvent(WebCore::HitTestRequest const&, WebCore::LayoutPoint const&, WebCore::PlatformMouseEvent const&) () at /lib64/libwebkit2gtk-4.0.so.37 #106 0x00007f70a6f39e03 in WebCore::EventHandler::prepareMouseEvent(WebCore::HitTestRequest const&, WebCore::PlatformMouseEvent const&) () at /lib64/libwebkit2gtk-4.0.so.37 #107 0x00007f70a6f41fa9 in WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const&, WebCore::HitTestResult*, bool) [clone .part.266] () at /lib64/libwebkit2gtk-4.0.so.37 #108 0x00007f70a6f44c5f in WebCore::EventHandler::passMouseMovedEventToScrollbars(WebCore::PlatformMouseEvent const&) () at /lib64/libwebkit2gtk-4.0.so.37 #109 0x00007f70a667685b in WebKit::WebPage::mouseEvent(WebKit::WebMouseEvent const&) () at /lib64/libwebkit2gtk-4.0.so.37 #110 0x00007f70a67bb8bb in WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&) () at /lib64/libwebkit2gtk-4.0.so.37 #111 0x00007f70a64aa159 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) () at /lib64/libwebkit2gtk-4.0.so.37 #112 0x00007f70a65d6666 in WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) () at /lib64/libwebkit2gtk-4.0.so.37 #113 0x00007f70a64a62b6 in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) () at /lib64/libwebkit2gtk-4.0.so.37 #114 0x00007f70a64a6f48 in IPC::Connection::dispatchOneMessage() () at /lib64/libwebkit2gtk-4.0.so.37 #115 0x00007f70a5b678dd in WTF::RunLoop::performWork() () at /lib64/libjavascriptcoregtk-4.0.so.18 #116 0x00007f70a5b8e2b9 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /lib64/libjavascriptcoregtk-4.0.so.18 #117 0x00007f709f22ce42 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #118 0x00007f709f22d1c0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #119 0x00007f709f22d4e2 in g_main_loop_run () at /lib64/libglib-2.0.so.0 #120 0x00007f70a5b8eb70 in WTF::RunLoop::run() () at /lib64/libjavascriptcoregtk-4.0.so.18 #121 0x00007f70a67618a9 in int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) () at /lib64/libwebkit2gtk-4.0.so.37 #122 0x00007f709a38f401 in __libc_start_main () at /lib64/libc.so.6 #123 0x0000558abb5d3c5a in _start ()
It's not clear to me if the problem is in WebKit or libhyphen. Next step would be to get a full backtrace with local variables (e.g. like the ones generated by ABRT).
Created attachment 1229430 [details] bt full 1
Created attachment 1229431 [details] bt full 2 Both attached are 'bt full' with hyphen-2.8.8-4.fc24.x86_64 webkitgtk4-2.14.2-1.fc25.x86_64 and their debuginfo installed (1GB download, 4GB on the disk), where the init.txt is just the initial backtrace, the later.txt is a backtrace taken like 2 seconds later. They are quite large, thus I decided to atach them, rather than paste them inline.
Created attachment 1229435 [details] em00.html This is a test HTML code which can reproduce the high CPU usage in the MiniBrowser as well. I "censored" the images, to not download them (evolution doesn't download them by default here), but if you really want to see them, then replace "xx.xxxxxxxxxxx.xx" with "ds.reteofferte.it" in the file.
Just for a record, the evolution does some synchronous D-Bus calls in the main thread when talking to its web extension, which is the reason why it is frozen while the WebProcess blocks the main loop with the above backtrace. Once all those D-bus calls timeout it gets responsive again, though the preview panel can be empty. Couple more observations: a) when I tried to capture the HTML code in the web inspector, then it crashed the web process several times. Both when trying to pick the main element of the page (in the evolution inside an iframe) with mouse (with the tool) b) then also when right-clicking a node in the inspector structure. c) The first attempt to scroll the page causes another lag and high CPU usage, but the consequent scrolls are all fine. I cannot reproduce these in the MiniBrowser, I think it's due to the iframe encapsulation of the page, but I didn't try it. In any case, this web page is very interesting, from my point of view.
(In reply to Milan Crha from comment #7) > Couple more observations: > a) when I tried to capture the HTML code in the web inspector, then it > crashed > the web process several times. Both when trying to pick the main element > of > the page (in the evolution inside an iframe) with mouse (with the tool) > b) then also when right-clicking a node in the inspector structure. > I cannot reproduce these in the MiniBrowser, I think it's due to the iframe > encapsulation of the page, but I didn't try it. This is because the inspector requires the AC to be enabled, but Evolution has it disabled now. It worked in MiniBrowser as there you had the AC enabled.
Created attachment 1229438 [details] em01.html I'm sorry for the noise... This is the toplevel HTML, referencing /tmp/em00.html. There is a difference that the height of the iframe is set to "10" in the evolution and that the evolution itself uses frame-flattening, which I think is an important detail, if anyone would like to test also those things in the pure webkitgtk4.
Glad you uploaded two traces, that shows that it's creating multiple hyphenation dictionaries (not just one) so it's probably a WebKit bug (a loop somewhere) not libhyphen. Can you report it upstream?
Sure thing. I filled [1]. Please see it for any further updates. [1] https://bugs.webkit.org/show_bug.cgi?id=165601
*** Bug 1405791 has been marked as a duplicate of this bug. ***