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

QScreen crash on Linux/X11

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 6.3
    • Fix Version/s: 6.3.0 Alpha
    • Component/s: QPA: X11/XCB
    • Labels:
      None
    • Platform/s:
      Linux/X11
    • Commits:
      d8f37d94e537aaab4fa960b80aacabe79bcc14c4 (qt/qtbase/dev)

      Description

      The following crash occurs on Linux/X11 when the monitors are disconnected after commit  9a4c98e55659b32db984612e6247ac193812a502

      CC: Shawn Rutledge, Liang Qi

       AddressSanitizer:DEADLYSIGNAL
      =================================================================
      ==5471==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x7f45875c5be2 bp 0x000000000000 sp 0x7fff3775fbd8 T0)
      ==5471==The signal is caused by a READ memory access.
      ==5471==Hint: address points to the zero page.
          #0 0x7f45875c5be2 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get() const /home/jonas/Projects/qtbase/qtbase/src/corelib/tools/qscopedpointer.h:147
          #1 0x7f45875c5be2 in decltype (({parm#1}.get)()) qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const>(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&) /home/jonas/Projects/qtbase/qtbase/src/corelib/global/qglobal.h:1303
          #2 0x7f45875c5be2 in QScreen::d_func() const /home/jonas/Projects/qtbase/qtbase/src/gui/kernel/qscreen.h:70
          #3 0x7f45875c5be2 in QScreen::geometry() const /home/jonas/Projects/qtbase/qtbase/src/gui/kernel/qscreen.cpp:419
          #4 0x7f458756f9c9 in QGuiApplication::screenAt(QPoint const&) /home/jonas/Projects/qtbase/qtbase/src/gui/kernel/qguiapplication.cpp:1067
          #5 0x7f4587f1efe8 in QStyleSheetStyle::loadPixmap(QString const&, QObject const*) /home/jonas/Projects/qtbase/qtbase/src/widgets/styles/qstylesheetstyle.cpp:6401
          #6 0x7f4587f28c93 in QRenderRule::QRenderRule(QList<QCss::Declaration> const&, QObject const*) /home/jonas/Projects/qtbase/qtbase/src/widgets/styles/qstylesheetstyle.cpp:987
          #7 0x7f4587f2b543 in QStyleSheetStyle::renderRule(QObject const*, int, unsigned long long) const /home/jonas/Projects/qtbase/qtbase/src/widgets/styles/qstylesheetstyle.cpp:1882
          #8 0x7f4587f2d97a in QStyleSheetStyle::setGeometry(QWidget*) /home/jonas/Projects/qtbase/qtbase/src/widgets/styles/qstylesheetstyle.cpp:2599
          #9 0x7f4587f31073 in QStyleSheetStyle::polish(QWidget*) /home/jonas/Projects/qtbase/qtbase/src/widgets/styles/qstylesheetstyle.cpp:2911
          #10 0x7f4587f2fbe3 in updateObjects /home/jonas/Projects/qtbase/qtbase/src/widgets/styles/qstylesheetstyle.cpp:2819
          #11 0x7f4587f2fd66 in QStyleSheetStyle::repolish(QWidget*) /home/jonas/Projects/qtbase/qtbase/src/widgets/styles/qstylesheetstyle.cpp:3012
          #12 0x7f4587ea9665 in QWidget::setStyleSheet(QString const&) /home/jonas/Projects/qtbase/qtbase/src/widgets/kernel/qwidget.cpp:2588
          #13 0x111e420 in ContextView::SetSong() /home/jonas/Projects/strawberry/strawberry/src/context/contextview.cpp:491
          #14 0x111a510 in ContextView::SongChanged(Song const&) /home/jonas/Projects/strawberry/strawberry/src/context/contextview.cpp:419
          #15 0xe39a55 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Song>, void, void (ContextView::*)(Song const&)>::call(void (ContextView::*)(Song const&), ContextView*, void**) (/home/jonas/Projects/strawberry/build/strawberry+0xe39a55)
          #16 0xe24d1d in void QtPrivate::FunctionPointer<void (ContextView::*)(Song const&)>::call<QtPrivate::List<Song>, void>(void (ContextView::*)(Song const&), ContextView*, void**) (/home/jonas/Projects/strawberry/build/strawberry+0xe24d1d)
          #17 0xe1a863 in QtPrivate::QSlotObject<void (ContextView::*)(Song const&), QtPrivate::List<Song>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/home/jonas/Projects/strawberry/build/strawberry+0xe1a863)
          #18 0x7f45863848cf in void doActivate<false>(QObject*, int, void**) (/usr/local/lib/libQt6Core.so.6+0x1b08cf)
          #19 0x7f458637acf4 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qobject.cpp:3984
          #20 0x1f3355a in PlaylistManagerInterface::CurrentSongChanged(Song) /home/jonas/Projects/strawberry/build/src/playlist/moc_playlistmanager.cpp:571
          #21 0x140e89e in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Song>, void, void (PlaylistManagerInterface::*)(Song)>::call(void (PlaylistManagerInterface::*)(Song), PlaylistManagerInterface*, void**) (/home/jonas/Projects/strawberry/build/strawberry+0x140e89e)
          #22 0x140b4cd in void QtPrivate::FunctionPointer<void (PlaylistManagerInterface::*)(Song)>::call<QtPrivate::List<Song>, void>(void (PlaylistManagerInterface::*)(Song), PlaylistManagerInterface*, void**) /usr/local/include/QtCore/qobjectdefs_impl.h:185
          #23 0x14077ef in QtPrivate::QSlotObject<void (PlaylistManagerInterface::*)(Song), QtPrivate::List<Song>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/home/jonas/Projects/strawberry/build/strawberry+0x14077ef)
          #24 0x7f45863848cf in void doActivate<false>(QObject*, int, void**) (/usr/local/lib/libQt6Core.so.6+0x1b08cf)
          #25 0x7f458637acf4 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qobject.cpp:3984
          #26 0x1f257fe in Playlist::CurrentSongChanged(Song) /home/jonas/Projects/strawberry/build/src/playlist/moc_playlist.cpp:593
          #27 0x130ad66 in Playlist::InformOfCurrentSongChange(Playlist::AutoScroll, bool) /home/jonas/Projects/strawberry/strawberry/src/playlist/playlist.cpp:2108
          #28 0x13038b9 in Playlist::SetStreamMetadata(QUrl const&, Song const&, bool) /home/jonas/Projects/strawberry/strawberry/src/playlist/playlist.cpp:1732
          #29 0xeb4fa0 in Player::EngineMetadataReceived(Engine::SimpleMetaBundle const&) /home/jonas/Projects/strawberry/strawberry/src/core/player.cpp:737
          #30 0xec90c6 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<Engine::SimpleMetaBundle>, void, void (Player::*)(Engine::SimpleMetaBundle const&)>::call(void (Player::*)(Engine::SimpleMetaBundle const&), Player*, void**) /usr/local/include/QtCore/qobjectdefs_impl.h:152
          #31 0xec4863 in void QtPrivate::FunctionPointer<void (Player::*)(Engine::SimpleMetaBundle const&)>::call<QtPrivate::List<Engine::SimpleMetaBundle>, void>(void (Player::*)(Engine::SimpleMetaBundle const&), Player*, void**) /usr/local/include/QtCore/qobjectdefs_impl.h:185
          #32 0xec1041 in QtPrivate::QSlotObject<void (Player::*)(Engine::SimpleMetaBundle const&), QtPrivate::List<Engine::SimpleMetaBundle>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/local/include/QtCore/qobjectdefs_impl.h:398
          #33 0x7f45863848cf in void doActivate<false>(QObject*, int, void**) (/usr/local/lib/libQt6Core.so.6+0x1b08cf)
          #34 0x7f458637acf4 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qobject.cpp:3984
          #35 0x1f0b6dc in Engine::Base::MetaData(Engine::SimpleMetaBundle) /home/jonas/Projects/strawberry/build/src/engine/moc_enginebase.cpp:335
          #36 0x1bab240 in GstEngine::NewMetaData(int, Engine::SimpleMetaBundle const&) /home/jonas/Projects/strawberry/strawberry/src/engine/gstengine.cpp:594
          #37 0x1bc2a55 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<int, Engine::SimpleMetaBundle const&>, void, void (GstEngine::*)(int, Engine::SimpleMetaBundle const&)>::call(void (GstEngine::*)(int, Engine::SimpleMetaBundle const&), GstEngine*, void**) (/home/jonas/Projects/strawberry/build/strawberry+0x1bc2a55)
          #38 0x1bbe884 in void QtPrivate::FunctionPointer<void (GstEngine::*)(int, Engine::SimpleMetaBundle const&)>::call<QtPrivate::List<int, Engine::SimpleMetaBundle const&>, void>(void (GstEngine::*)(int, Engine::SimpleMetaBundle const&), GstEngine*, void**) (/home/jonas/Projects/strawberry/build/strawberry+0x1bbe884)
          #39 0x1bbba8d in QtPrivate::QSlotObject<void (GstEngine::*)(int, Engine::SimpleMetaBundle const&), QtPrivate::List<int, Engine::SimpleMetaBundle const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/home/jonas/Projects/strawberry/build/strawberry+0x1bbba8d)
          #40 0x7f4586372180 in QtPrivate::QSlotObjectBase::call(QObject*, void**) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qobjectdefs_impl.h:378
          #41 0x7f4586372180 in QMetaCallEvent::placeMetaCall(QObject*) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qobject.cpp:631
          #42 0x7f4586378515 in QObject::event(QEvent*) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qobject.cpp:1365
          #43 0x7f4587e4c86c in QApplicationPrivate::notify_helper(QObject*, QEvent*) /home/jonas/Projects/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:3401
          #44 0x7f4587e56864 in QApplication::notify(QObject*, QEvent*) /home/jonas/Projects/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:2760
          #45 0x7f458631a419 in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1063
          #46 0x7f458631a483 in QCoreApplication::sendEvent(QObject*, QEvent*) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1471
          #47 0x7f458631e3cc in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1830
          #48 0x7f458631e5d7 in QCoreApplication::sendPostedEvents(QObject*, int) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1689
          #49 0x7f45865fcc47 in postEventSourceDispatch /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:279
          #50 0x7f458574d80e in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x5680e)
          #51 0x7f458574db97  (/lib64/libglib-2.0.so.0+0x56b97)
          #52 0x7f458574dc4e in g_main_context_iteration (/lib64/libglib-2.0.so.0+0x56c4e)
          #53 0x7f45865fc3f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:429
          #54 0x7f457b323867 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/jonas/Projects/qtbase/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:132
          #55 0x7f45863288bc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qeventloop.cpp:135
          #56 0x7f45863291e3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qeventloop.cpp:219
          #57 0x7f4586321961 in QCoreApplication::exec() /home/jonas/Projects/qtbase/qtbase/src/corelib/kernel/qcoreapplication.cpp:1378
          #58 0x7f458756be2d in QGuiApplication::exec() /home/jonas/Projects/qtbase/qtbase/src/gui/kernel/qguiapplication.cpp:1874
          #59 0x7f4587e4c7de in QApplication::exec() /home/jonas/Projects/qtbase/qtbase/src/widgets/kernel/qapplication.cpp:2610
          #60 0xd664f0 in main /home/jonas/Projects/strawberry/strawberry/src/main.cpp:316
          #61 0x7f458514fb34 in __libc_start_main (/lib64/libc.so.6+0x27b34)
          #62 0xd63d4d in _start (/home/jonas/Projects/strawberry/build/strawberry+0xd63d4d)
      
      AddressSanitizer can not provide additional info.
      SUMMARY: AddressSanitizer: SEGV /home/jonas/Projects/qtbase/qtbase/src/corelib/tools/qscopedpointer.h:147 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get() const
      ==5471==ABORTING
      
      

       

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              liaqi Liang Qi
              Reporter:
              jonaski Jonas Kvinge
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes