RESOLVED INVALID215800
Segfault when loading HTTPS page with no certificates installed
https://bugs.webkit.org/show_bug.cgi?id=215800
Summary Segfault when loading HTTPS page with no certificates installed
Nazar Mokrynskyi
Reported 2020-08-25 00:48:25 PDT
Initially reported at https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1388, but appears to be upstream issue. I had an Ubuntu container where ca-certificates was not installed. When opening HTTPS page in iframe within HTTP page nothing happens/renders, but when loading HTTPS page directly it segfaults beautifully: #0 0x00007f404c46c7e3 in s_loadFailed (failing_uri=0x7f40340140f0 "\360\364\001\070@\177", error=0x1, data=<optimized out>) at ../ext/wpe/WPEThreadedView.cpp:214 #1 0x00007f4056182ff5 in ?? () from target:/lib/x86_64-linux-gnu/libffi.so.7 #2 0x00007f405618240a in ?? () from target:/lib/x86_64-linux-gnu/libffi.so.7 #3 0x00007f4056aa830d in g_cclosure_marshal_generic () from target:/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #4 0x00007f4056aa7802 in g_closure_invoke () from target:/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #5 0x00007f4056abb814 in ?? () from target:/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #6 0x00007f4056ac645d in g_signal_emit_valist () from target:/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #7 0x00007f4056ac70d3 in g_signal_emit () from target:/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #8 0x00007f3f6847e326 in webkitWebViewLoadFailedWithTLSErrors(_WebKitWebView*, char const*, _GError*, GTlsCertificateFlags, _GTlsCertificate*) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #9 0x00007f3f6845beaa in NavigationClient::didFailProvisionalNavigationWithError(WebKit::WebPageProxy&, WebKit::FrameInfoData&&, API::Navigation*, WebCore::ResourceError const&, API::Object*) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #10 0x00007f3f6839e3ab in WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared(WTF::Ref<WebKit::WebProcessProxy, WTF::DumbPtrTraits<WebKit::WebProcessProxy> >&&, WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long, WTF::String const&, WebCore::ResourceError const&, WebCore::WillContinueLoading, WebKit::UserData const&) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #11 0x00007f3f683c081c in WebKit::WebPageProxy::didFailProvisionalLoadForFrame(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long, WTF::String const&, WebCore::ResourceError const&, WebCore::WillContinueLoading, WebKit::UserData const&) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #12 0x00007f3f680e2b59 in void IPC::handleMessage<Messages::WebPageProxy::DidFailProvisionalLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long, WTF::String const&, WebCore::ResourceError const&, WebCore::WillContinueLoading, WebKit::UserData const&)>(IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WTF::ObjectIdentifier<WebCore::FrameIdentifierType>, WebKit::FrameInfoData&&, WebCore::ResourceRequest&&, unsigned long, WTF::String const&, WebCore::ResourceError const&, WebCore::WillContinueLoading, WebKit::UserData const&)) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #13 0x00007f3f680bdc0f in WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #14 0x00007f3f682dff30 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #15 0x00007f3f68395dc3 in non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #16 0x00007f3f682d8bf8 in IPC::Connection::dispatchMessage(IPC::Decoder&) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #17 0x00007f3f682da72d in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #18 0x00007f3f682dafc3 in IPC::Connection::dispatchIncomingMessages() () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #19 0x00007f3f6b1761d8 in WTF::RunLoop::performWork() () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #20 0x00007f3f6b1e2d0d in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () from target:/lib/x86_64-linux-gnu/libWPEWebKit-1.0.so.3 #21 0x00007f40569bbe8e in g_main_context_dispatch () from target:/lib/x86_64-linux-gnu/libglib-2.0.so.0 #22 0x00007f40569bc240 in ?? () from target:/lib/x86_64-linux-gnu/libglib-2.0.so.0 #23 0x00007f40569bc533 in g_main_loop_run () from target:/lib/x86_64-linux-gnu/libglib-2.0.so.0 #24 0x00007f404c46c606 in WPEContextThread::s_viewThread (data=0x7f3fa0005270) at ../ext/wpe/WPEThreadedView.cpp:156 #25 0x00007f40569e5931 in ?? () from target:/lib/x86_64-linux-gnu/libglib-2.0.so.0 #26 0x00007f40564f5609 in start_thread () from target:/lib/x86_64-linux-gnu/libpthread.so.0 #27 0x00007f40563ff103 in clone () from target:/lib/x86_64-linux-gnu/libc.so.6 Built from source: libwpe 1.7.1 libwpebackend-fdo 1.7.1 libwpewebkit 2.29.90
Attachments
Carlos Garcia Campos
Comment 1 2020-09-09 04:20:10 PDT
The crash seems to be in gst, because it's using the same callback for WebKitWebView::load-failed and WebKitWebView::load-failed-with-tls-errors, but they have different signatures. Please, feel free to reopen if this is still crashing after fixing gst.
Note You need to log in before you can comment on or make changes to this bug.