WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
Bug 140598
[GTK] WebKit2 crash in IPC::Connection on OSX
https://bugs.webkit.org/show_bug.cgi?id=140598
Summary
[GTK] WebKit2 crash in IPC::Connection on OSX
Philip Chimento
Reported
2015-01-18 14:41:12 PST
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.
Attachments
Add attachment
proposed patch, testcase, etc.
Philip Chimento
Comment 1
2015-05-03 15:15:38 PDT
Whatever the cause of this was, it seems to have been fixed in 2.8.0.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug