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

Wayland demo application quits with "QObject::disconnect: Unexpected null parameter"

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.14
    • QPA: Wayland
    • None
    • Debian 10 (Buster) AMD64.
    • Linux/Wayland

    Description

      Running the minimal-cpp example in the qwindow-compositor emits a "QObject::disconnect: Unexpected null parameter" warning on application exit. Source is a fresh clone of branch dev.

      Here's a backtrace:

      #0  QObject::disconnectImpl (sender=<optimized out>, signal=signal@entry=0x7fffffffd9d0, receiver=receiver@entry=0x55555557cb00, slot=slot@entry=0x7fffffffd9e0, senderMetaObject=<optimized out>) at kernel/qobject.cpp:5032
      #1  0x00007ffff4da9982 in QObject::disconnect<void (QObject::*)(QObject*), void (QtWaylandClient::QWaylandInputDevice::Pointer::*)()> (slot=(void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(QtWaylandClient::QWaylandInputDevice::Pointer * const)) 0x7ffff4daf9c0 <QtWaylandClient::QWaylandInputDevice::Pointer::handleFocusDestroyed()>, receiver=0x55555557cb00, signal=(void (QObject::*)(QObject * const, QObject *)) 0x7ffff678a84a <QObject::destroyed(QObject*)>, sender=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobject.h:356
      #2  QtWaylandClient::QWaylandInputDevice::Pointer::invalidateFocus (this=0x55555557cb00) at qwaylandinputdevice.cpp:770
      #3  0x00007ffff4daf9c9 in QtWaylandClient::QWaylandInputDevice::Pointer::handleFocusDestroyed (this=<optimized out>) at qwaylandinputdevice_p.h:304
      #4  0x00007ffff4daf79e in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandInputDevice::Pointer::*)()>::call(void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(), QtWaylandClient::QWaylandInputDevice::Pointer*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:184
      #5  QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandInputDevice::Pointer::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(), QtWaylandClient::QWaylandInputDevice::Pointer*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:185
      #6  QtPrivate::QSlotObject<void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:414
      #7  0x00007ffff67924e9 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffdb20, r=0x55555557cb00, this=0x555555fdbf80) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
      #8  doActivate<false> (sender=sender@entry=0x5555555900c0, signal_index=<optimized out>, argv=<optimized out>, argv@entry=0x7fffffffdb20) at kernel/qobject.cpp:3768
      #9  0x00007ffff678a7e7 in QMetaObject::activate (sender=sender@entry=0x5555555900c0, m=m@entry=0x7ffff6b07b20 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffdb20) at kernel/qobject.cpp:3827
      #10 0x00007ffff678a87c in QObject::destroyed (this=this@entry=0x5555555900c0, _t1=<optimized out>, _t1@entry=0x5555555900c0) at .moc/moc_qobject.cpp:219
      #11 0x00007ffff67903b7 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:950
      #12 0x00007ffff4dc6cc1 in QtWaylandClient::QWaylandSurface::~QWaylandSurface (this=0x5555555900c0, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/atomic_base.h:303
      #13 0x00007ffff4dc6cf3 in QtWaylandClient::QWaylandSurface::~QWaylandSurface (this=0x5555555900c0, __in_chrg=<optimized out>) at qwaylandsurface.cpp:56
      #14 0x00007ffff4dbc635 in QScopedPointerDeleter<QtWaylandClient::QWaylandSurface>::cleanup (pointer=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:52
      #15 QScopedPointer<QtWaylandClient::QWaylandSurface, QScopedPointerDeleter<QtWaylandClient::QWaylandSurface> >::reset (other=0x0, this=0x5555556174a0) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:159
      #16 QtWaylandClient::QWaylandWindow::reset (this=this@entry=0x555555617470, sendDestroyEvent=sendDestroyEvent@entry=true) at qwaylandwindow.cpp:243
      #17 0x00007ffff4dbfbd9 in QtWaylandClient::QWaylandWindow::setVisible (this=this@entry=0x555555617470, visible=<optimized out>) at qwaylandwindow.cpp:413
      #18 0x00007ffff49ef80a in QtWaylandClient::QWaylandEglWindow::setVisible (this=0x555555617470, visible=<optimized out>) at ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp:167
      #19 0x00007ffff73e8908 in QWindowPrivate::setVisible (this=0x555555592600, visible=<optimized out>) at kernel/qwindow.cpp:402
      #20 0x00007ffff73e1486 in QWindow::setVisible (this=this@entry=0x7fffffffe320, visible=visible@entry=false) at kernel/qwindow.cpp:612
      #21 0x00007ffff73e827a in QWindowPrivate::destroy (this=this@entry=0x555555592600) at kernel/qwindow.cpp:1901
      #22 0x00007ffff73e83b3 in QWindow::destroy (this=this@entry=0x7fffffffe320) at kernel/qwindow.cpp:1869
      #23 0x00007ffff73e8c9a in QWindow::event (this=0x7fffffffe320, ev=<optimized out>) at kernel/qwindow.cpp:2316
      #24 0x00007ffff7415f82 in QPaintDeviceWindow::event (this=<optimized out>, event=<optimized out>) at kernel/qpaintdevicewindow.cpp:206
      #25 0x00007ffff6758582 in QCoreApplicationPrivate::notify_helper (receiver=receiver@entry=0x7fffffffe320, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1207
      #26 0x00007ffff675862b in doNotify (receiver=receiver@entry=0x7fffffffe320, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1129
      #27 0x00007ffff6758756 in QCoreApplication::notify (this=this@entry=0x7fffffffe370, receiver=receiver@entry=0x7fffffffe320, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1122
      #28 0x00007ffff73d9a14 in QGuiApplication::notify (this=0x7fffffffe370, object=0x7fffffffe320, event=0x7fffffffdf60) at kernel/qguiapplication.cpp:1798
      #29 0x00007ffff67586a8 in QCoreApplication::notifyInternal2 (receiver=0x7fffffffe320, event=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1046
      #30 0x00007ffff67588e6 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1453
      #31 0x00007ffff73da9fa in QGuiApplicationPrivate::processCloseEvent (e=0x555555f479d0) at /usr/include/c++/8/bits/atomic_base.h:390
      #32 0x00007ffff73de162 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x555555f479d0) at kernel/qguiapplication.cpp:1889
      #33 0x00007ffff73b234c in QWindowSystemEventHandler::sendEvent (this=this@entry=0x555555594430, e=e@entry=0x555555f479d0) at kernel/qwindowsysteminterface.cpp:192
      #34 0x00007ffff7edc67a in QtWayland::WindowSystemEventHandler::sendEvent (this=0x555555594430, e=0x555555f479d0) at compositor_api/qwaylandcompositor.cpp:114
      #35 0x00007ffff73b3d51 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1148
      #36 0x00007ffff4e598d3 in userEventSourceDispatch (source=<optimized out>) at qeventdispatcher_glib.cpp:74
      #37 0x00007ffff5b99f2e in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #38 0x00007ffff5b9a1c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #39 0x00007ffff5b9a25c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #40 0x00007ffff67b8d08 in QEventDispatcherGlib::processEvents (this=0x55555558eaf0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #41 0x00007ffff4e59a18 in QPAEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at qeventdispatcher_glib.cpp:120
      #42 0x00007ffff6756615 in QEventLoop::processEvents (this=this@entry=0x7fffffffe290, flags=..., flags@entry=...) at /usr/include/c++/8/bits/atomic_base.h:707
      #43 0x00007ffff6756a34 in QEventLoop::exec (this=this@entry=0x7fffffffe290, flags=flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
      #44 0x00007ffff6760762 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:118
      #45 0x00007ffff73d3f22 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1786
      #46 0x000055555555971f in main (argc=<optimized out>, argv=<optimized out>) at main.cpp:64
      

      Attachments

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

        Activity

          People

            johanhelsing Johan Helsing
            baherwig Björn Herwig
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes