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

Crashes in QJsonObject and QJsonArray in multiple KDE applications

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.15.0 Beta2
    • 5.15.0 Beta1
    • Core: Other
    • None
    • Linux/X11
    • 30a0787907981da3811390735bf234068fc89944 (qt/qtbase/5.15)

    Description

      After updating Qt to 5.15 beta 1, multiple KDE applications crash when calling QJsonObject or QJsonArray. The crashes are gone if the applications are rebuilt with 5.15, but they are not using any private API.

      Sample backtraces: 

      dolphin

      [KCrash Handler]
      #6  0x00007fbcb30697f3 in std::__atomic_base<int>::operator-- (this=0x7fbcb2fde767 <QChildEvent::~QChildEvent()+23>) at /usr/include/c++/9.2.1/bits/atomic_base.h:326
      #7  QAtomicOps<int>::deref<int> (_q_value=...) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:289
      #8  QBasicAtomicInteger<int>::deref (this=0x7fbcb2fde767 <QChildEvent::~QChildEvent()+23>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:119
      #9  QExplicitlySharedDataPointer<QCborContainerPrivate>::operator= (o=0x0, this=0x7ffeea6b50e8) at ../../include/QtCore/../../src/corelib/tools/qshareddata.h:218
      #10 QJsonObject::initialize (this=this@entry=0x7ffeea6b50e0) at serialization/qjsonobject.cpp:153
      #11 0x00007fbc9814cc24 in QJsonObject::QJsonObject (args=..., this=0x7ffeea6b50e0) at /usr/include/qt/QtCore/qjsonobject.h:63
      #12 ShareFileItemAction::actions (this=0x55cec773a320, fileItemInfos=..., parentWidget=<optimized out>) at /usr/src/debug/purpose-5.67.0/src/fileitemactionplugin/sharefileitemaction.cpp:75
      #13 0x00007fbcb4d8c956 in KFileItemActions::addPluginActionsTo(QMenu*) () from /usr/lib/libKF5KIOWidgets.so.5
      #14 0x00007fbcb53ce080 in ?? () from /usr/lib/libkdeinit5_dolphin.so
      #15 0x00007fbcb53ce858 in ?? () from /usr/lib/libkdeinit5_dolphin.so
      #16 0x00007fbcb53c4078 in ?? () from /usr/lib/libkdeinit5_dolphin.so
      #17 0x00007fbcb301666c in QtPrivate::QSlotObjectBase::call (a=0x7ffeea6b55a0, r=0x55cec6ae8c10, this=0x55cec72cce10) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
      #18 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3886
      #19 0x00007fbcb300d682 in QMetaObject::activate (sender=<optimized out>, m=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3946
      #20 0x00007fbcb50ce285 in DolphinView::requestContextMenu(QPoint const&, KFileItem const&, QUrl const&, QList<QAction*> const&) () from /usr/lib/libdolphinprivate.so.5
      #21 0x00007fbcb513d908 in DolphinView::slotItemContextMenuRequested(int, QPointF const&) () from /usr/lib/libdolphinprivate.so.5
      #22 0x00007fbcb301666c in QtPrivate::QSlotObjectBase::call (a=0x7ffeea6b5720, r=0x55cec70d26b0, this=0x55cec720e030) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
      #23 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3886
      #24 0x00007fbcb300d682 in QMetaObject::activate (sender=<optimized out>, m=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3946
      #25 0x00007fbcb50cc9a7 in KItemListController::itemContextMenuRequested(int, QPointF const&) () from /usr/lib/libdolphinprivate.so.5
      #26 0x00007fbcb50fe202 in KItemListController::mousePressEvent(QGraphicsSceneMouseEvent*, QTransform const&) () from /usr/lib/libdolphinprivate.so.5
      #27 0x00007fbcb5100a86 in KItemListController::processEvent(QEvent*, QTransform const&) () from /usr/lib/libdolphinprivate.so.5
      #28 0x00007fbcb5110558 in KItemListView::event(QEvent*) () from /usr/lib/libdolphinprivate.so.5
      #29 0x00007fbcb3be6154 in QApplicationPrivate::notify_helper (this=this@entry=0x55cec6a85bb0, receiver=receiver@entry=0x55cec6ceab00, e=e@entry=0x7ffeea6b6060) at kernel/qapplication.cpp:3673
      #30 0x00007fbcb3bef1c6 in QApplication::notify (this=0x7ffeea6b6f30, receiver=0x55cec6ceab00, e=0x7ffeea6b6060) at kernel/qapplication.cpp:3013
      #31 0x00007fbcb2fd4563 in QCoreApplication::notifyInternal2 (receiver=0x55cec6ceab00, event=0x7ffeea6b6060) at kernel/qcoreapplication.cpp:1061
      #32 0x00007fbcb2fd4796 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=event@entry=0x7ffeea6b6060) at kernel/qcoreapplication.cpp:1468
      #33 0x00007fbcb3be647b in qt_sendSpontaneousEvent (receiver=<optimized out>, event=event@entry=0x7ffeea6b6060) at kernel/qapplication.cpp:4094
      #34 0x00007fbcb3f7ea89 in QGraphicsScenePrivate::sendEvent (this=this@entry=0x55cec6fc75c0, item=item@entry=0x55cec6ceab10, event=event@entry=0x7ffeea6b6060) at graphicsview/qgraphicsscene.cpp:1253
      #35 0x00007fbcb3f7ee56 in QGraphicsScenePrivate::sendMouseEvent (this=this@entry=0x55cec6fc75c0, mouseEvent=mouseEvent@entry=0x7ffeea6b6060) at graphicsview/qgraphicsscene.cpp:1334
      #36 0x00007fbcb3f8a5d0 in QGraphicsScenePrivate::mousePressEventHandler (this=this@entry=0x55cec6fc75c0, mouseEvent=mouseEvent@entry=0x7ffeea6b6060) at graphicsview/qgraphicsscene.cpp:1461
      #37 0x00007fbcb3f8a9cd in QGraphicsScene::mousePressEvent (this=<optimized out>, mouseEvent=0x7ffeea6b6060) at graphicsview/qgraphicsscene.cpp:4068
      #38 0x00007fbcb3f93eb2 in QGraphicsScene::event (this=0x55cec720a7b0, event=0x7ffeea6b6060) at graphicsview/qgraphicsscene.cpp:3432
      #39 0x00007fbcb3be6154 in QApplicationPrivate::notify_helper (this=this@entry=0x55cec6a85bb0, receiver=receiver@entry=0x55cec720a7b0, e=e@entry=0x7ffeea6b6060) at kernel/qapplication.cpp:3673
      #40 0x00007fbcb3bef1c6 in QApplication::notify (this=0x7ffeea6b6f30, receiver=0x55cec720a7b0, e=0x7ffeea6b6060) at kernel/qapplication.cpp:3013
      #41 0x00007fbcb2fd4563 in QCoreApplication::notifyInternal2 (receiver=0x55cec720a7b0, event=0x7ffeea6b6060) at kernel/qcoreapplication.cpp:1061
      #42 0x00007fbcb2fd4796 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=event@entry=0x7ffeea6b6060) at kernel/qcoreapplication.cpp:1468
      #43 0x00007fbcb3be647b in qt_sendSpontaneousEvent (receiver=<optimized out>, event=event@entry=0x7ffeea6b6060) at kernel/qapplication.cpp:4094
      #44 0x00007fbcb3fb51b9 in QGraphicsView::mousePressEvent (this=0x55cec720a880, event=0x7ffeea6b6650) at /usr/include/c++/9.2.1/bits/atomic_base.h:413
      #45 0x00007fbcb3c31bd1 in QWidget::event (this=this@entry=0x55cec720a880, event=event@entry=0x7ffeea6b6650) at kernel/qwidget.cpp:8650
      #46 0x00007fbcb3cf8a8c in QFrame::event (this=this@entry=0x55cec720a880, e=e@entry=0x7ffeea6b6650) at widgets/qframe.cpp:550
      #47 0x00007fbcb3cfb428 in QAbstractScrollArea::viewportEvent (this=this@entry=0x55cec720a880, e=e@entry=0x7ffeea6b6650) at widgets/qabstractscrollarea.cpp:1095
      #48 0x00007fbcb3fb679c in QGraphicsView::viewportEvent (this=0x55cec720a880, event=0x7ffeea6b6650) at graphicsview/qgraphicsview.cpp:2988
      #49 0x00007fbcb3cfbd1b in QAbstractScrollAreaPrivate::viewportEvent (event=<optimized out>, this=<optimized out>) at widgets/qabstractscrollarea_p.h:111
      #50 QAbstractScrollAreaFilter::eventFilter (this=<optimized out>, o=<optimized out>, e=<optimized out>) at widgets/qabstractscrollarea_p.h:122
      #51 0x00007fbcb2fd4333 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55cec72074e0, event=event@entry=0x7ffeea6b6650) at kernel/qcoreapplication.cpp:1187
      #52 0x00007fbcb3be6144 in QApplicationPrivate::notify_helper (this=this@entry=0x55cec6a85bb0, receiver=receiver@entry=0x55cec72074e0, e=0x7ffeea6b6650) at kernel/qapplication.cpp:3667
      #53 0x00007fbcb3bef515 in QApplication::notify (this=<optimized out>, receiver=0x55cec72074e0, e=0x7ffeea6b6650) at kernel/qapplication.cpp:3117
      #54 0x00007fbcb2fd4563 in QCoreApplication::notifyInternal2 (receiver=0x55cec72074e0, event=0x7ffeea6b6650) at kernel/qcoreapplication.cpp:1061
      #55 0x00007fbcb2fd4796 in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55cec72074e0, event=event@entry=0x7ffeea6b6650) at kernel/qcoreapplication.cpp:1468
      #56 0x00007fbcb3bee25c in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55cec72074e0, event=event@entry=0x7ffeea6b6650, alienWidget=alienWidget@entry=0x55cec72074e0, nativeWidget=0x55cec6ae8c10, buttonDown=buttonDown@entry=0x7fbcb41b8a10 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2603
      #57 0x00007fbcb3c4ee39 in QWidgetWindow::handleMouseEvent (this=this@entry=0x55cec6d25d10, event=event@entry=0x7ffeea6b6a90) at /usr/include/c++/9.2.1/bits/atomic_base.h:413
      #58 0x00007fbcb3c5295f in QWidgetWindow::event (this=0x55cec6d25d10, event=0x7ffeea6b6a90) at kernel/qwidgetwindow.cpp:295
      #59 0x00007fbcb3be6154 in QApplicationPrivate::notify_helper (this=this@entry=0x55cec6a85bb0, receiver=receiver@entry=0x55cec6d25d10, e=e@entry=0x7ffeea6b6a90) at kernel/qapplication.cpp:3673
      #60 0x00007fbcb3bef1c6 in QApplication::notify (this=0x7ffeea6b6f30, receiver=0x55cec6d25d10, e=0x7ffeea6b6a90) at kernel/qapplication.cpp:3013
      #61 0x00007fbcb2fd4563 in QCoreApplication::notifyInternal2 (receiver=0x55cec6d25d10, event=0x7ffeea6b6a90) at kernel/qcoreapplication.cpp:1061
      #62 0x00007fbcb2fd4796 in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55cec6d25d10, event=event@entry=0x7ffeea6b6a90) at kernel/qcoreapplication.cpp:1468
      #63 0x00007fbcb34c3fb8 in QGuiApplicationPrivate::processMouseEvent (e=e@entry=0x55cec759b7f0) at kernel/qguiapplication.cpp:2211
      #64 0x00007fbcb34c5422 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55cec759b7f0) at kernel/qguiapplication.cpp:1943
      #65 0x00007fbcb3497944 in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1165
      #66 0x00007fbcad4e61f7 in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
      #67 0x00007fbcaf0779be in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
      #68 0x00007fbcaf079831 in ?? () from /usr/lib/libglib-2.0.so.0
      #69 0x00007fbcaf079871 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
      #70 0x00007fbcb304063e in QEventDispatcherGlib::processEvents (this=0x55cec6afd070, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #71 0x00007fbcad4e655a in QXcbGlibEventDispatcher::processEvents (this=<optimized out>, flags=...) at qxcbeventdispatcher.cpp:143
      #72 0x00007fbcb2fd20c5 in QEventLoop::processEvents (this=this@entry=0x7ffeea6b6e30, flags=..., flags@entry=...) at /usr/include/c++/9.2.1/bits/atomic_base.h:734
      #73 0x00007fbcb2fd250e in QEventLoop::exec (this=this@entry=0x7ffeea6b6e30, flags=flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:125
      #74 0x00007fbcb2fdced2 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
      #75 0x00007fbcb34b69f6 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1864
      #76 0x00007fbcb3be60c9 in QApplication::exec () at kernel/qapplication.cpp:2813
      #77 0x00007fbcb53b25fa in kdemain () from /usr/lib/libkdeinit5_dolphin.so
      #78 0x00007fbcb51d1023 in __libc_start_main () from /usr/lib/libc.so.6
      #79 0x000055cec4f9105e in _start ()
      

      okular

      #0 0x00007ffff669b6a1 in std::__atomic_base<int>::operator-- (this=0x34a8e61f94a64000) at /usr/include/c++/9.2.1/bits/atomic_base.h:326#1 QAtomicOps<int>::deref<int> (_q_value=...) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:289#2 QBasicAtomicInteger<int>::deref (this=0x34a8e61f94a64000) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:119#3 QExplicitlySharedDataPointer<QCborContainerPrivate>::operator= (o=0x0, this=0x7fffffffdf68) at ../../include/QtCore/../../src/corelib/tools/qshareddata.h:218#4 QJsonArray::initialize (this=this@entry=0x7fffffffdf60) at serialization/qjsonarray.cpp:170#5 0x00007fffea27bc5e in QJsonArray::QJsonArray (args=..., this=0x7fffffffdf60) at /usr/include/qt/QtCore/qjsonarray.h:61#6 Okular::Part::openFile (this=<optimized out>) at /usr/src/debug/okular-19.12.3/part.cpp:1646#7 0x00007ffff7f2badf in ?? () from /usr/lib/libKF5Parts.so.5#8 0x00007ffff7f2cadf in KParts::ReadOnlyPart::openUrl(QUrl const&) () from /usr/lib/libKF5Parts.so.5#9 0x00007fffea26b662 in Okular::Part::openUrl (this=0x5555556d00e0, _url=..., swapInsteadOfOpening=<optimized out>) at /usr/src/debug/okular-19.12.3/part.cpp:1778#10 0x00005555555674de in Shell::openUrl (this=0x55555562bb80, url=..., serializedOptions=...) at /usr/src/debug/okular-19.12.3/shell/shell.cpp:280#11 0x0000555555567768 in Shell::openDocument (this=0x55555562bb80, url=..., serializedOptions=...) at /usr/src/debug/okular-19.12.3/shell/shell.cpp:221#12 0x000055555555ff13 in Okular::main (paths=..., serializedOptions=...) at /usr/src/debug/okular-19.12.3/shell/okular_main.cpp:176#13 0x000055555555f727 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/okular-19.12.3/shell/main.cpp:82Write Preview
      

      Attachments

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

        Activity

          People

            thiago Thiago Macieira
            arojas Antonio Rojas
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes