[webkit-gtk] WTF is in both libjavascriptcoregtk and libwebkit2gtk

Jeremy Huddleston Sequoia jeremyhu at macports.org
Fri Jan 15 22:57:10 PST 2016

Hey folks,

WebKit2 isn't initializing correctly for us in 2.11.3, and clients are crashing on initial launch.

Philip first mentioned this in https://bugs.webkit.org/show_bug.cgi?id=144557, and the issue is currently being tracked in https://bugs.webkit.org/show_bug.cgi?id=153176

Note that this is a regression since 2.4.x, so it may have been this way for quite a while.

The crux of the issue is that WebKit::InitializeWebKit2() calls JSC::initializeThreading() which calls WTF::initializeThreading().  However, there are two different copies of WTF::initializeThreading() in process.  One WTF::initializeThreading() is in libjavascriptcoregtk, and the other is in libwebkit2gtk.  The libwebkit2gtk version thus does not get initialized, and we fail an assertion in here.

Obviously, we want just a single instance of this class.

Should WTF be a separate dylib?  It sounds like that's appropriate based on this layering.  Is the WTF API expected to be provided by both libjavascriptcoregtk and libwebkit2gtk?


More information about the webkit-gtk mailing list