RESOLVED FIXED 160079
[GTK] Enable threaded compositor by default
https://bugs.webkit.org/show_bug.cgi?id=160079
Summary [GTK] Enable threaded compositor by default
Carlos Garcia Campos
Reported 2016-07-22 02:04:58 PDT
I think we are ready. I'll keep working on the layout tests.
Attachments
Patch (2.51 KB, patch)
2016-07-22 02:44 PDT, Carlos Garcia Campos
zan: review+
Carlos Garcia Campos
Comment 1 2016-07-22 02:44:44 PDT
Carlos Garcia Campos
Comment 2 2016-07-22 03:25:11 PDT
Philippe Normand
Comment 3 2016-07-24 23:12:45 PDT
The Debug build bot doesn't like this at all. Crash example: STDERR: ASSERTION FAILED: m_useFixedLayout STDERR: ../../Source/WebKit2/WebProcess/WebPage/WebPage.cpp(1374) : void WebKit::WebPage::sendViewportAttributesChanged() STDERR: 1 0x7f09712b716f /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7f09712b716f] STDERR: 2 0x7f0977bbc50c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebPage::sendViewportAttributesChanged()+0x4c) [0x7f0977bbc50c] STDERR: 3 0x7f0977bbc443 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebPage::setSize(WebCore::IntSize const&)+0xb1) [0x7f0977bbc443] STDERR: 4 0x7f0977d663ae /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::AcceleratedDrawingArea::updateBackingStoreState(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&)+0xee) [0x7f0977d663ae] STDERR: 5 0x7f0977d68c3e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::DrawingAreaImpl::updateBackingStoreState(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&)+0x11a) [0x7f0977d68c3e] STDERR: 6 0x7f0977e4e5b6 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void IPC::callMemberFunctionImpl<WebKit::DrawingArea, void (WebKit::DrawingArea::*)(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&), std::tuple<unsigned long, bool, float, WebCore::IntSize, WebCore::IntSize>, 0ul, 1ul, 2ul, 3ul, 4ul>(WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&), std::tuple<unsigned long, bool, float, WebCore::IntSize, WebCore::IntSize>&&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>)+0xf8) [0x7f0977e4e5b6] STDERR: 7 0x7f0977e4e12a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void IPC::callMemberFunction<WebKit::DrawingArea, void (WebKit::DrawingArea::*)(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&), std::tuple<unsigned long, bool, float, WebCore::IntSize, WebCore::IntSize>, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul> >(std::tuple<unsigned long, bool, float, WebCore::IntSize, WebCore::IntSize>&&, WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&))+0x41) [0x7f0977e4e12a] STDERR: 8 0x7f0977e4ded1 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void IPC::handleMessage<Messages::DrawingArea::UpdateBackingStoreState, WebKit::DrawingArea, void (WebKit::DrawingArea::*)(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&)>(IPC::MessageDecoder&, WebKit::DrawingArea*, void (WebKit::DrawingArea::*)(unsigned long, bool, float, WebCore::IntSize const&, WebCore::IntSize const&))+0x9b) [0x7f0977e4ded1] STDERR: 9 0x7f0977e4daff /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::DrawingArea::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)+0x9d) [0x7f0977e4daff] STDERR: 10 0x7f09777d158f /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::MessageDecoder&)+0x125) [0x7f09777d158f] STDERR: 11 0x7f0977a456ac /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)+0x4c) [0x7f0977a456ac] STDERR: 12 0x7f09777bb88e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::Connection::dispatchMessage(IPC::MessageDecoder&)+0x3a) [0x7f09777bb88e] STDERR: 13 0x7f09777bb9f1 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::Connection::dispatchMessage(std::unique_ptr<IPC::MessageDecoder, std::default_delete<IPC::MessageDecoder> >)+0x161) [0x7f09777bb9f1] STDERR: 14 0x7f09777bbbd8 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::Connection::dispatchOneMessage()+0xc8) [0x7f09777bbbd8] STDERR: 15 0x7f09777bb732 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x5265732) [0x7f09777bb732] STDERR: 16 0x7f09777c07cc /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x526a7cc) [0x7f09777c07cc] STDERR: 17 0x7f097778b21d /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function<void ()>::operator()() const+0x37) [0x7f097778b21d] STDERR: 18 0x7f09712d2a3a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::RunLoop::performWork()+0xce) [0x7f09712d2a3a] STDERR: 19 0x7f0971315874 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2262874) [0x7f0971315874] STDERR: 20 0x7f0971315899 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2262899) [0x7f0971315899] STDERR: 21 0x7f0971315814 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2262814) [0x7f0971315814] STDERR: 22 0x7f0971315843 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2262843) [0x7f0971315843] STDERR: 23 0x7f096cd98a26 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(+0x53a26) [0x7f096cd98a26] STDERR: 24 0x7f096cd99854 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(g_main_context_dispatch+0x33) [0x7f096cd99854] STDERR: 25 0x7f096cd99a39 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(+0x54a39) [0x7f096cd99a39] STDERR: 26 0x7f096cd99e60 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(g_main_loop_run+0x1d7) [0x7f096cd99e60] STDERR: 27 0x7f0971315e14 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::RunLoop::run()+0xac) [0x7f0971315e14] STDERR: 28 0x7f0977d73abc /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**)+0x82) [0x7f0977d73abc] STDERR: 29 0x7f0977d73922 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebProcessMainUnix+0x20) [0x7f0977d73922] STDERR: 30 0x400cfa /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/Debug/bin/WebKitWebProcess(main+0x34) [0x400cfa] STDERR: 31 0x7f0969bffb45 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f0969bffb45] STDERR: LEAK: 1 WebProcessPool STDERR: LEAK: 1 WebPageProxy
Carlos Garcia Campos
Comment 4 2016-07-24 23:24:05 PDT
(In reply to comment #3) > The Debug build bot doesn't like this at all. Crash example: Wow, so a few crashes means it doesn't like this at all? Anyway, I'm already working on this, see bug #160117. See also bug #160119, and see also the discussion in the mailing list about this. I knew there were going to be failures after enabling the threaded compositor, but we reached a point in which it was stable enough for users, that working on the remaining failures on trunk was easier, so we enabled it. Please, don't use this bug report crashes, file new bug reports and make them block bug #154066.
Note You need to log in before you can comment on or make changes to this bug.