Bug 160079 - [GTK] Enable threaded compositor by default
Summary: [GTK] Enable threaded compositor by default
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks: 154066
  Show dependency treegraph
 
Reported: 2016-07-22 02:04 PDT by Carlos Garcia Campos
Modified: 2016-07-24 23:24 PDT (History)
2 users (show)

See Also:


Attachments
Patch (2.51 KB, patch)
2016-07-22 02:44 PDT, Carlos Garcia Campos
zan: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2016-07-22 02:04:58 PDT
I think we are ready. I'll keep working on the layout tests.
Comment 1 Carlos Garcia Campos 2016-07-22 02:44:44 PDT
Created attachment 284319 [details]
Patch
Comment 2 Carlos Garcia Campos 2016-07-22 03:25:11 PDT
Committed r203596: <http://trac.webkit.org/changeset/203596>
Comment 3 Philippe Normand 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
Comment 4 Carlos Garcia Campos 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.