[Webkit-unassigned] [Bug 140598] New: [GTK] WebKit2 crash in IPC::Connection on OSX

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jan 18 14:41:12 PST 2015


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

            Bug ID: 140598
           Summary: [GTK] WebKit2 crash in IPC::Connection on OSX
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (Nightly build)
          Hardware: Macintosh Intel
                OS: Mac OS X 10.10
            Status: NEW
          Severity: Critical
          Priority: P2
         Component: WebKit Gtk
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: philip.chimento at gmail.com

I am trying to get WebKit2 to build and run on the GTK platform on Mac OS X 10.10. I have succeeded in building it, but I get a crash in WebProcess when running MiniBrowser that I can't figure out.

See https://github.com/ptomato/gtk-osx-build/blob/6eb49c9f56dc5f63adad33c751ae6d0e16b2ae46/modulesets-stable/gtk-osx-unsupported.modules#L233 for a list of the patches I am building with and https://github.com/ptomato/gtk-osx-build/tree/6eb49c9f56dc5f63adad33c751ae6d0e16b2ae46/patches for where those patches are stored. (I'll be filing bugs for each of those patches when I can get this to work.)

Here's the backtrace from WebProcess:

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000008

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libwebkit2gtk-4.0.37.dylib      0x000000011f77945c IPC::Connection::isValid() const + 12
1   libwebkit2gtk-4.0.37.dylib      0x000000011f769e5a IPC::Connection::sendMessage(std::__1::unique_ptr<IPC::MessageEncoder, std::__1::default_delete<IPC::MessageEncoder> >, unsigned int) + 58
2   libwebkit2gtk-4.0.37.dylib      0x000000011fabcf8c WebKit::InjectedBundle::postMessage(WTF::String const&, API::Object*) + 636
3   libwebkit2gtk-4.0.37.dylib      0x000000011fd7ff4e didInitiateLoadForResource(OpaqueWKBundlePage const*, OpaqueWKBundleFrame const*, unsigned long long, OpaqueWKURLRequest const*, bool, void const*) + 702
4   libwebkit2gtk-4.0.37.dylib      0x000000010f9c263c WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource(WebKit::WebPage*, WebKit::WebFrame*, unsigned long long, WebCore::ResourceRequest const&, bool) + 204
5   libwebkit2gtk-4.0.37.dylib      0x000000010faa9ed6 WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long, WebCore::DocumentLoader*, WebCore::ResourceRequest const&) + 166
6   libwebkit2gtk-4.0.37.dylib      0x0000000110843ed8 WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest(unsigned long, WebCore::DocumentLoader*, WebCore::ResourceRequest const&) + 88
7   libwebkit2gtk-4.0.37.dylib      0x000000011084ef7b WebCore::ResourceLoader::willSendRequest(WebCore::ResourceRequest&, WebCore::ResourceResponse const&) + 395
8   libwebkit2gtk-4.0.37.dylib      0x000000011085530d WebCore::SubresourceLoader::willSendRequest(WebCore::ResourceRequest&, WebCore::ResourceResponse const&) + 1101
9   libwebkit2gtk-4.0.37.dylib      0x000000011084e2b6 WebCore::ResourceLoader::init(WebCore::ResourceRequest const&) + 1142
10  libwebkit2gtk-4.0.37.dylib      0x0000000110854da7 WebCore::SubresourceLoader::init(WebCore::ResourceRequest const&) + 39
11  libwebkit2gtk-4.0.37.dylib      0x0000000110854cca WebCore::SubresourceLoader::create(WebCore::Frame*, WebCore::CachedResource*, WebCore::ResourceRequest const&, WebCore::ResourceLoaderOptions const&) + 186
12  libwebkit2gtk-4.0.37.dylib      0x0000000110844904 WebCore::ResourceLoadScheduler::scheduleSubresourceLoad(WebCore::Frame*, WebCore::CachedResource*, WebCore::ResourceRequest const&, WebCore::ResourceLoaderOptions const&) + 84
13  libwebkit2gtk-4.0.37.dylib      0x00000001108d1c39 WebCore::CachedResource::load(WebCore::CachedResourceLoader*, WebCore::ResourceLoaderOptions const&) + 2153
14  libwebkit2gtk-4.0.37.dylib      0x00000001108e25ee WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&) + 2766
15  libwebkit2gtk-4.0.37.dylib      0x00000001108e3250 WebCore::CachedResourceLoader::requestMainResource(WebCore::CachedResourceRequest&) + 64
16  libwebkit2gtk-4.0.37.dylib      0x00000001107c69f1 WebCore::DocumentLoader::startLoadingMainResource() + 1521
17  libwebkit2gtk-4.0.37.dylib      0x00000001107fa3d9 WebCore::FrameLoader::continueLoadAfterWillSubmitForm() + 185
18  libwebkit2gtk-4.0.37.dylib      0x00000001107f54ac WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool, WebCore::AllowNavigationToInvalidURL) + 1068
19  libwebkit2gtk-4.0.37.dylib      0x0000000110803631 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr<WebCore::FormState>, WebCore::AllowNavigationToInvalidURL)::$_4::operator()(WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool) const + 97
20  libwebkit2gtk-4.0.37.dylib      0x000000011080350b std::__1::__function::__func<WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr<WebCore::FormState>, WebCore::AllowNavigationToInvalidURL)::$_4, std::__1::allocator<WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr<WebCore::FormState>, WebCore::AllowNavigationToInvalidURL)::$_4>, void (WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool)>::operator()(WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>&&, bool&&) + 203
21  libwebkit2gtk-4.0.37.dylib      0x000000011083b8ea std::__1::function<void (WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool)>::operator()(WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool) const + 218
22  libwebkit2gtk-4.0.37.dylib      0x0000000110835974 WebCore::PolicyCallback::call(bool) + 148
23  libwebkit2gtk-4.0.37.dylib      0x0000000110837586 WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction) + 1062
24  libwebkit2gtk-4.0.37.dylib      0x000000011083b3fe WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&, WebCore::DocumentLoader*, WTF::PassRefPtr<WebCore::FormState>, std::__1::function<void (WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool)>)::$_0::operator()(WebCore::PolicyAction) const + 30
25  libwebkit2gtk-4.0.37.dylib      0x000000011083b33e std::__1::__function::__func<WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&, WebCore::DocumentLoader*, WTF::PassRefPtr<WebCore::FormState>, std::__1::function<void (WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool)>)::$_0, std::__1::allocator<WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&, WebCore::DocumentLoader*, WTF::PassRefPtr<WebCore::FormState>, std::__1::function<void (WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool)>)::$_0>, void (WebCore::PolicyAction)>::operator()(WebCore::PolicyAction&&) + 94
26  libwebkit2gtk-4.0.37.dylib      0x000000010fab356a std::__1::function<void (WebCore::PolicyAction)>::operator()(WebCore::PolicyAction) const + 170
27  libwebkit2gtk-4.0.37.dylib      0x000000010fb07c3c WebKit::WebFrame::didReceivePolicyDecision(unsigned long long, WebCore::PolicyAction, unsigned long long, unsigned long long) + 428
28  libwebkit2gtk-4.0.37.dylib      0x000000010faad9ca WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&, WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, std::__1::function<void (WebCore::PolicyAction)>) + 2618
29  libwebkit2gtk-4.0.37.dylib      0x0000000110836cfe WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&, WebCore::DocumentLoader*, WTF::PassRefPtr<WebCore::FormState>, std::__1::function<void (WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool)>) + 1758
30  libwebkit2gtk-4.0.37.dylib      0x00000001107f4cb5 WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr<WebCore::FormState>, WebCore::AllowNavigationToInvalidURL) + 2741
31  libwebkit2gtk-4.0.37.dylib      0x00000001107f10c5 WebCore::FrameLoader::load(WebCore::DocumentLoader*) + 437
32  libwebkit2gtk-4.0.37.dylib      0x00000001107f4111 WebCore::FrameLoader::load(WebCore::FrameLoadRequest const&) + 1313
33  libwebkit2gtk-4.0.37.dylib      0x0000000111078e03 WebCore::UserInputBridge::loadRequest(WebCore::FrameLoadRequest const&, WebCore::InputSource) + 51
34  libwebkit2gtk-4.0.37.dylib      0x000000010fb2350c WebKit::WebPage::loadRequest(unsigned long long, WebCore::ResourceRequest const&, WebKit::SandboxExtension::Handle const&, IPC::MessageDecoder&) + 620
35  libwebkit2gtk-4.0.37.dylib      0x000000010fd2083d void IPC::callMemberFunctionImpl<WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, WebCore::ResourceRequest const&, WebKit::SandboxExtension::Handle const&, IPC::MessageDecoder&), std::__1::tuple<unsigned long long, WebCore::ResourceRequest, WebKit::SandboxExtension::Handle>, 0ul, 1ul, 2ul>(WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, WebCore::ResourceRequest const&, WebKit::SandboxExtension::Handle const&, IPC::MessageDecoder&), IPC::MessageDecoder&, std::__1::tuple<unsigned long long, WebCore::ResourceRequest, WebKit::SandboxExtension::Handle>&&, std::index_sequence<0ul, 1ul, 2ul>) + 221
36  libwebkit2gtk-4.0.37.dylib      0x000000010fd20690 void IPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, WebCore::ResourceRequest const&, WebKit::SandboxExtension::Handle const&, IPC::MessageDecoder&), std::__1::tuple<unsigned long long, WebCore::ResourceRequest, WebKit::SandboxExtension::Handle>, std::make_index_sequence<3ul> >(std::__1::tuple<unsigned long long, WebCore::ResourceRequest, WebKit::SandboxExtension::Handle>&&, IPC::MessageDecoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, WebCore::ResourceRequest const&, WebKit::SandboxExtension::Handle const&, IPC::MessageDecoder&)) + 96
37  libwebkit2gtk-4.0.37.dylib      0x000000010fd11d7b void IPC::handleMessageVariadic<Messages::WebPage::LoadRequest, WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, WebCore::ResourceRequest const&, WebKit::SandboxExtension::Handle const&, IPC::MessageDecoder&)>(IPC::MessageDecoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, WebCore::ResourceRequest const&, WebKit::SandboxExtension::Handle const&, IPC::MessageDecoder&)) + 459
38  libwebkit2gtk-4.0.37.dylib      0x000000010fd0d272 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection*, IPC::MessageDecoder&) + 2914
39  libwebkit2gtk-4.0.37.dylib      0x000000010fb2d65c WebKit::WebPage::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) + 236
40  libwebkit2gtk-4.0.37.dylib      0x000000010fb2d6a7 non-virtual thunk to WebKit::WebPage::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) + 55
41  libwebkit2gtk-4.0.37.dylib      0x000000010f679b6d IPC::MessageReceiverMap::dispatchMessage(IPC::Connection*, IPC::MessageDecoder&) + 461
42  libwebkit2gtk-4.0.37.dylib      0x000000010f96d1f7 WebKit::WebProcess::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) + 55
43  libwebkit2gtk-4.0.37.dylib      0x000000010f65a563 IPC::Connection::dispatchMessage(IPC::MessageDecoder&) + 51
44  libwebkit2gtk-4.0.37.dylib      0x000000010f650880 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) + 368
45  libwebkit2gtk-4.0.37.dylib      0x000000010f65a10c IPC::Connection::dispatchOneMessage() + 1436
46  libwebkit2gtk-4.0.37.dylib      0x000000010f66c952 WTF::FunctionWrapper<void (IPC::Connection::*)()>::operator()(IPC::Connection*) + 114
47  libwebkit2gtk-4.0.37.dylib      0x000000010f66c8d5 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (IPC::Connection::*)()>, void (IPC::Connection*)>::operator()() + 53
48  libwebkit2gtk-4.0.37.dylib      0x000000010f673822 WTF::Function<void ()>::operator()() const + 114
49  libwebkit2gtk-4.0.37.dylib      0x000000010f67370c std::__1::__function::__func<WTF::Function<void ()>, std::__1::allocator<WTF::Function<void ()> >, void ()>::operator()() + 60
50  libwebkit2gtk-4.0.37.dylib      0x000000010f63769d std::__1::function<void ()>::operator()() const + 141
51  libwebkit2gtk-4.0.37.dylib      0x00000001119de37a WTF::RunLoop::performWork() + 698
52  libwebkit2gtk-4.0.37.dylib      0x00000001119e486d WTF::RunLoop::wakeUp()::$_0::operator()() const + 29
53  libwebkit2gtk-4.0.37.dylib      0x00000001119e47ac std::__1::__function::__func<WTF::RunLoop::wakeUp()::$_0, std::__1::allocator<WTF::RunLoop::wakeUp()::$_0>, void ()>::operator()() + 60
54  libjavascriptcoregtk-4.0.18.dylib 0x0000000115fdc16d std::__1::function<void ()>::operator()() const + 141
55  libjavascriptcoregtk-4.0.18.dylib 0x000000011602d3ca WTF::GMainLoopSource::voidCallback() + 186
56  libjavascriptcoregtk-4.0.18.dylib 0x000000011602a87e WTF::GMainLoopSource::voidSourceCallback(WTF::GMainLoopSource*) + 30
57  libglib-2.0.0.dylib             0x0000000117f0ad56 g_idle_dispatch + 70 (gmain.c:5367)
58  libglib-2.0.0.dylib             0x0000000117f0fa74 g_main_dispatch + 452 (gmain.c:3111)
59  libglib-2.0.0.dylib             0x0000000117f0f893 g_main_context_dispatch + 51 (gmain.c:3713)
60  libglib-2.0.0.dylib             0x0000000117f0fe70 g_main_context_iterate + 480 (gmain.c:3783)
61  libglib-2.0.0.dylib             0x0000000117f10382 g_main_loop_run + 578 (gmain.c:3975)
62  libwebkit2gtk-4.0.37.dylib      0x00000001119e144b WTF::RunLoop::run() + 59
63  libwebkit2gtk-4.0.37.dylib      0x000000010fc8854d int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) + 253
64  libwebkit2gtk-4.0.37.dylib      0x000000010fc883db WebProcessMainUnix + 27
65  WebKitWebProcess                0x000000010f607ed3 main + 67
66  WebKitWebProcess                0x000000010f607e84 start + 52

I'm not sure what can be trying to access memory address 0x8 in IPC::Connection::isValid(), since that method consists entirely of "return m_client". Any help in debugging would be appreciated.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150118/c16a8020/attachment-0002.html>


More information about the webkit-unassigned mailing list