Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-29981

QtWebkit's PluginViewQt uses X11

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P4: Low
    • None
    • 5.0.1
    • WebKit
    • None
    • Qt 5.1 built from source, running on Archlinux and with Wayland and Weston from git master.

    Description

      On Linux QtWebkit builds WebCore/plugins/qt/PluginViewQt.

      {h,cpp}

      , which uses X11 directly. This makes e.g. qupzilla crash when using it in a wayland compositor, when opening for instance a youtube video.

      Backtrace (without debug symbols unfortunately):

      Program received signal SIGSEGV, Segmentation fault.
      0x00007ffff0fefb0e in XDefaultDepth () from /usr/lib/libX11.so.6
      (gdb) bt
      #0  0x00007ffff0fefb0e in XDefaultDepth () from /usr/lib/libX11.so.6
      #1  0x00007ffff5a5bc1f in WebCore::PluginView::platformStart() () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #2  0x00007ffff58325cb in WebCore::PluginView::start() [clone .part.236] () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #3  0x00007ffff583280e in WebCore::PluginView::init() () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #4  0x00007ffff580e33a in WebCore::ScrollView::addChild(WTF::PassRefPtr<WebCore::Widget>) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #5  0x00007ffff5997976 in WebCore::moveWidgetToParentSoon(WebCore::Widget*, WebCore::FrameView*) [clone .part.199] ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #6  0x00007ffff5999436 in WebCore::RenderWidget::setWidget(WTF::PassRefPtr<WebCore::Widget>) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #7  0x00007ffff5942747 in WebCore::RenderPart::setWidget(WTF::PassRefPtr<WebCore::Widget>) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #8  0x00007ffff56d8504 in WebCore::SubframeLoader::loadPlugin(WebCore::HTMLPlugInImageElement*, WebCore::KURL const&, WTF::String const&, WTF::Vector<WTF::String, 0ul> const&, WTF::Vector<WTF::String, 0ul> const&, bool) () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #9  0x00007ffff56d9486 in WebCore::SubframeLoader::requestObject(WebCore::HTMLPlugInImageElement*, WTF::String const&, WTF::AtomicString const&, WTF::String const&, WTF::Vector<WTF::String, 0ul> const&, WTF::Vector<WTF::String, 0ul> const&) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #10 0x00007ffff54e5140 in WebCore::HTMLEmbedElement::updateWidget(WebCore::PluginCreationOption) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #11 0x00007ffff535a29a in WebCore::ContainerNode::dispatchPostAttachCallbacks() ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #12 0x00007ffff535a3e5 in WebCore::ContainerNode::resumePostAttachCallbacks() () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #13 0x00007ffff537f0c3 in WebCore::Document::recalcStyle(WebCore::Node::StyleChange) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #14 0x00007ffff537f40e in WebCore::Document::updateStyleIfNeeded() () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #15 0x00007ffff5380824 in WebCore::Document::updateLayout() () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #16 0x00007ffff53823c9 in WebCore::Document::updateLayoutIgnorePendingStylesheets() ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #17 0x00007ffff54e40dd in WebCore::HTMLEmbedElement::renderWidgetForJSBindings() const ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #18 0x00007ffff550d7d3 in WebCore::HTMLPlugInElement::pluginWidget() const () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #19 0x00007ffff51e9b56 in WebCore::pluginScriptObjectFromPluginViewBase(WebCore::HTMLPlugInElement*, JSC::JSGlobalObject*) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #20 0x00007ffff51e9d3f in WebCore::pluginScriptObject(JSC::ExecState*, WebCore::JSHTMLElement*) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #21 0x00007ffff51ea0bc in WebCore::runtimeObjectCustomGetOwnPropertySlot(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&, WebCore::JSHTMLElement*) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #22 0x00007ffff51d15a9 in WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #23 0x00007ffff5e75869 in WebCore::JSHTMLEmbedElement::getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #24 0x00007ffff3597f71 in llint_slow_path_get_by_id () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libJavaScriptCore.so.1
      #25 0x00007ffff35a247c in llint_op_get_by_id () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libJavaScriptCore.so.1
      #26 0x00007fff7a60d100 in ?? ()
      #27 0x00007fff96ceffe0 in ?? ()
      #28 0x00007fff73ee2410 in ?? ()
      #29 0x00007fff73eef900 in ?? ()
      #30 0x00007fff7ad70000 in ?? ()
      #31 0x00007ffff363b284 in JSC::FunctionExecutable::compileForCallInternal(JSC::ExecState*, JSC::JSScope*, JSC::JITCode::JITType, unsigned int) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libJavaScriptCore.so.1
      #32 0x00007ffff3540a1b in JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
          () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libJavaScriptCore.so.1
      #33 0x00007ffff362196a in JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libJavaScriptCore.so.1
      #34 0x00007ffff51f07ae in WebCore::ScheduledAction::executeFunctionInContext(JSC::JSGlobalObject*, JSC::JSValue, WebCore::ScriptExecutionContext*) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #35 0x00007ffff51f10cd in WebCore::ScheduledAction::execute(WebCore::Document*) ()
         from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #36 0x00007ffff5711510 in WebCore::DOMTimer::fired() () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #37 0x00007ffff581ec0a in WebCore::ThreadTimers::sharedTimerFiredInternal() () from /home/giulio/projects/qt5/qtwebkit/WebKitBuild/Release/lib/libWebCore.so.1
      #38 0x00007fffeb91753c in QObject::event(QEvent*) () from /opt/qt5/lib/libQt5Core.so.5
      #39 0x00007fffed09314c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/qt5/lib/libQt5Widgets.so.5
      #40 0x00007fffed0965d5 in QApplication::notify(QObject*, QEvent*) () from /opt/qt5/lib/libQt5Widgets.so.5
      #41 0x00007fffeb8f002e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /opt/qt5/lib/libQt5Core.so.5
      #42 0x00007fffeb93896c in QTimerInfoList::activateTimers() () from /opt/qt5/lib/libQt5Core.so.5
      #43 0x00007fffeb9392a4 in ?? () from /opt/qt5/lib/libQt5Core.so.5
      #44 0x00007fffeed61845 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
      #45 0x00007fffeed61b78 in ?? () from /usr/lib/libglib-2.0.so.0
      #46 0x00007fffeed61c34 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
      #47 0x00007fffeb9396cc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/qt5/lib/libQt5Core.so.5
      #48 0x00007fffeb8ef06b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/qt5/lib/libQt5Core.so.5
      #49 0x00007fffeb8f2fa0 in QCoreApplication::exec() () from /opt/qt5/lib/libQt5Core.so.5
      #50 0x00000000004029f2 in ?? ()
      #51 0x00007fffea6daa15 in __libc_start_main () from /usr/lib/libc.so.6
      #52 0x0000000000402ca9 in ?? ()
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            abecsi Andras Becsi
            giucam Giulio Camuffo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes