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

QGraphicsView crashes on Mac

    XMLWordPrintable

Details

    • macOS
    • 037d1e18e39f24b8ebb2772c20444d4b44cfb12b

    Description

      When runnig tst_qgraphicsview with https://codereview.qt-project.org/#change,29929 on Mac, the test replayMouseMove (and others) crash with stacks like the below one.

      It does not happen when the test is executed on its own, so, it looks
      like there left-over events for no-longer existing windows from previous tests.

      2012-07-19 16:39:36.224 tst_qgraphicsview[88720:a0f] *** __NSAutoreleaseNoPool(): Object 0x10501ba70 of class NSConcreteMutableData autoreleased with no pool in place - just leaking
      2012-07-19 16:39:36.224 tst_qgraphicsview[88720:a0f] *** __NSAutoreleaseNoPool(): Object 0x10501bc00 of class NSConcreteMutableData autoreleased with no pool in place - just leaking
      2012-07-19 16:39:36.225 tst_qgraphicsview[88720:a0f] *** __NSAutoreleaseNoPool(): Object 0x10501c0a0 of class NSConcreteMutableData autoreleased with no pool in place - just leaking
      2012-07-19 16:39:36.225 tst_qgraphicsview[88720:a0f] *** __NSAutoreleaseNoPool(): Object 0x10501c1a0 of class NSConcreteMutableData autoreleased with no pool in place - just leaking
      2012-07-19 16:39:36.252 tst_qgraphicsview[88720:a0f] *** __NSAutoreleaseNoPool(): Object 0x105018e00 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
      PASS : tst_QGraphicsView::acceptMousePressEvent()

      Program received signal EXC_BAD_ACCESS, Could not access memory.
      Reason: KERN_INVALID_ADDRESS at address: 0x000000e800000138
      0x00000001018e7b30 in QBasicAtomicOps<4>::ref<int> (_q_value=@0xe800000138) at qatomic_x86.h:199
      199 : "memory");
      (gdb) where
      #0 0x00000001018e7b30 in QBasicAtomicOps<4>::ref<int> (_q_value=@0xe800000138) at qatomic_x86.h:199
      #1 0x00000001018e7b6e in QBasicAtomicInteger<int>::ref (this=0xe800000138) at qbasicatomic.h:143
      #2 0x00000001019c1ebb in QtSharedPointer::ExternalRefCountData::getAndRef (obj=0x1050116b0) at qsharedpointer.cpp:1201
      #3 0x0000000100f62cab in QWeakPointer<QObject>::QWeakPointer<QObject> (this=0x10500fd60, ptr=0x1050116b0, unnamed_arg=true) at qsharedpointer_impl.h:613
      #4 0x0000000100f84d06 in QPointerBase::QPointerBase (this=0x10500fd60, p=0x1050116b0) at qpointer.h:61
      #5 0x0000000100f84d2f in QPointer<QWindow>::QPointer (this=0x10500fd60, p=0x1050116b0) at qpointer.h:83
      #6 0x0000000100f699da in QWindowSystemInterfacePrivate::UserEvent::UserEvent (this=0x10500fd50, w=0x1050116b0, time=4330176222, t=QWindowSystemInterfacePrivate::Mouse) at qwindowsysteminterface_p.h:142
      #7 0x0000000100f69a3d in QWindowSystemInterfacePrivate::InputEvent::InputEvent (this=0x10500fd50, w=0x1050116b0, time=4330176222, t=QWindowSystemInterfacePrivate::Mouse, mods=

      {i = 0}) at qwindowsysteminterface_p.h:151
      #8 0x0000000100f6a1fc in QWindowSystemInterfacePrivate::MouseEvent::MouseEvent (this=0x10500fd50, w=0x1050116b0, time=4330176222, local=@0x7fff5fbfd188, global=@0x7fff5fbfd178, b={i = 0}

      , mods=

      {i = 0}) at qwindowsysteminterface_p.h:159
      #9 0x0000000100f67891 in QWindowSystemInterface::handleMouseEvent (w=0x1050116b0, timestamp=4330176222, local=@0x7fff5fbfd188, global=@0x7fff5fbfd178, b={i = 0}

      , mods=

      {i = 0}) at qwindowsysteminterface.cpp:148
      #10 0x000000010611bcc4 in -[QNSView handleMouseEvent:] (self=0x105017ec0, _cmd=0x7fff8172bdff, theEvent=0x10501b140) at qnsview.mm:310
      #11 0x000000010611b656 in -[QNSView mouseMoved:] (self=0x105017ec0, _cmd=0x7fff817390ae, theEvent=0x10501b140) at qnsview.mm:345
      #12 0x00007fff811190c7 in -[NSWindow sendEvent:] ()
      #13 0x00007fff8104d8f1 in -[NSApplication sendEvent:] ()
      #14 0x000000010612647b in QCocoaEventDispatcher::processEvents (this=0x102519c20, flags={i = 0}

      ) at qcocoaeventdispatcher.mm:647
      #15 0x0000000101c0b55d in QCoreApplication::processEvents (flags=

      {i = 0}, maxtime=20) at qcoreapplication.cpp:922
      #16 0x00000001000056da in qWait (ms=20) at qtestsystem.h:66
      #17 0x0000000100006ede in mouseEvent (action=QTest::MouseMove, widget=0x105016d00, button=Qt::NoButton, stateKey={i = 0}

      , pos=

      {xp = 312, yp = 232}, delay=0) at qtestmouse.h:193
      #18 0x000000010006dbc0 in QTest::mouseMove (widget=0x105016d00, pos={xp = 312, yp = 232}

      , delay=-1) at qtestmouse.h:224
      #19 0x00000001000074e6 in sendMouseMove (widget=0x105016d00, point=@0x7fff5fbfe190, button=Qt::LeftButton, buttons=

      {i = 1}

      ) at tst_qgraphicsview.cpp:102
      #20 0x0000000100023e3f in tst_QGraphicsView::replayMouseMove (this=0x7fff5fbff4f8) at tst_qgraphicsview.cpp:2729
      #21 0x0000000100004eab in tst_QGraphicsView::qt_static_metacall (_o=0x7fff5fbff4f8, _c=QMetaObject::InvokeMetaMethod, _id=60, _a=0x7fff5fbfe3c8) at tst_qgraphicsview.moc:560
      #22 0x0000000101c1f5d5 in QMetaMethod::invoke (this=0x7fff5fbfe728, object=0x7fff5fbff4f8, connectionType=Qt::DirectConnection, returnValue={<QGenericArgument> = {_data = 0x0, _name = 0x0}, <No data fields>}, val0={_data = 0x0, _name = 0x0}, val1={_data = 0x0, _name = 0x0}, val2={_data = 0x0, _name = 0x0}, val3={_data = 0x0, _name = 0x0}, val4={_data = 0x0, _name = 0x0}, val5={_data = 0x0, _name = 0x0}, val6={_data = 0x0, _name = 0x0}, val7={_data = 0x0, _name = 0x0}, val8={_data = 0x0, _name = 0x0}, val9={_data = 0x0, _name = 0x0}) at qmetaobject.cpp:2124
      #23 0x0000000101c2248e in QMetaObject::invokeMethod (obj=0x7fff5fbff4f8, member=0x10500bc80 "replayMouseMove", type=Qt::DirectConnection, ret={<QGenericArgument> = {_data = 0x0, _name = 0x0}, <No data fields>}, val0={_data = 0x0, _name = 0x0}, val1={_data = 0x0, _name = 0x0}, val2={_data = 0x0, _name = 0x0}, val3={_data = 0x0, _name = 0x0}, val4={_data = 0x0, _name = 0x0}, val5={_data = 0x0, _name = 0x0}, val6={_data = 0x0, _name = 0x0}, val7={_data = 0x0, _name = 0x0}, val8={_data = 0x0, _name = 0x0}, val9={_data = 0x0, _name = 0x0}) at qmetaobject.cpp:1459
      #24 0x0000000100efbd1c in QMetaObject::invokeMethod (obj=0x7fff5fbff4f8, member=0x10500bc80 "replayMouseMove", type=Qt::DirectConnection, val0={_data = 0x0, _name = 0x0}, val1={_data = 0x0, _name = 0x0}, val2={_data = 0x0, _name = 0x0}, val3={_data = 0x0, _name = 0x0}, val4={_data = 0x0, _name = 0x0}, val5={_data = 0x0, _name = 0x0}, val6={_data = 0x0, _name = 0x0}, val7={_data = 0x0, _name = 0x0}, val8={_data = 0x0, _name = 0x0}, val9={_data = 0x0, _name = 0x0}) at qobjectdefs.h:399
      #25 0x0000000100ef1f3e in qInvokeTestMethodDataEntry (slot=0x10500bc80 "replayMouseMove") at qtestcase.cpp:1631
      #26 0x0000000100ef2f59 in qInvokeTestMethod (slotName=0x10500bde8 "replayMouseMove()", data=0x0) at qtestcase.cpp:1748
      #27 0x0000000100ef3875 in qInvokeTestMethods (testObject=0x7fff5fbff4f8) at qtestcase.cpp:1902
      #28 0x0000000100ef65ff in QTest::qExec (testObject=0x7fff5fbff4f8, argc=1, argv=0x7fff5fbff570) at qtestcase.cpp:2117
      #29 0x000000010000538e in main (argc=1, argv=0x7fff5fbff570) at tst_qgraphicsview.cpp:4500
      Current language: auto; currently objective-c++
      Warning: the current language does not match this frame.

      Attachments

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

        Activity

          People

            teemukat Teemu Katajisto (Inactive)
            kleint Friedemann Kleint
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes