Uploaded image for project: 'Qt Mobility'
  1. Qt Mobility
  2. QTMOBILITY-1367

QPulseAudioInput may crash after calling close()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 1.1.2
    • 1.1.x
    • Multimedia
    • None
    • f92853089779246a0ce32ece9950b9ad6067c4dd

    Description

      The failure happens in method InputPrivate::trigger (depth 3) because the object poiner is null. It is nulled in call close() earlier from ~QPulseAudioInput (depth 23).

      #0 QObject::d_func (sender=0x0, m=0xb69a3228, local_signal_index=0, argv=0x0)
      at ../../include/QtCore/../../src/corelib/kernel/qobject.h:125
      #1 QMetaObject::activate (sender=0x0, m=0xb69a3228, local_signal_index=0, 
      argv=0x0) at kernel/qobject.cpp:3195
      #2 0xb68da447 in QIODevice::readyRead (this=0x0)
      at .moc/release-shared/moc_qiodevice.cpp:91
      #3 0xb588cd79 in InputPrivate::trigger (this=0x0) at qaudioinput_pulse.cpp:593
      #4 0xb588cb0a in QPulseAudioInput::deviceReady (this=0x81babb0)
      at qaudioinput_pulse.cpp:544
      #5 0xb588caa1 in QPulseAudioInput::userFeed (this=0x81babb0)
      at qaudioinput_pulse.cpp:533
      #6 0xb588ce7b in QPulseAudioInput::qt_metacall (this=0x81babb0, 
      _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x81d7358)
      at ../../../build/Debug/qtmedia_pulse/moc/moc_qaudioinput_pulse.cpp:74
      #7 0xb687844a in QMetaObject::metacall (object=0x81babb0, 
      cl=QMetaObject::WriteProperty, idx=7, argv=0x81d7358)
      at kernel/qmetaobject.cpp:237
      #8 0xb6883796 in QMetaCallEvent::placeMetaCall (this=0x81d4f20, 
      object=0x81babb0) at kernel/qobject.cpp:534
      #9 0xb68848c2 in QObject::event (this=0x81babb0, e=0x0)
      at kernel/qobject.cpp:1211
      #10 0xb6872023 in QCoreApplicationPrivate::notify_helper (this=0x81acfc0, 
      receiver=0x81babb0, event=0x81d4f20) at kernel/qcoreapplication.cpp:867
      #11 0xb68726b3 in QCoreApplication::notify (this=0xbfb4d4a8, 
      receiver=0x81babb0, event=0x81d4f20) at kernel/qcoreapplication.cpp:813
      #12 0xb687277b in QCoreApplication::notifyInternal (this=0xbfb4d4a8, 
      receiver=0x81babb0, event=0x81d4f20) at kernel/qcoreapplication.cpp:732
      #13 0xb687597c in QCoreApplication::sendEvent (receiver=0x0, event_type=0, 
      data=0x81accb0)
      at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
      #14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, 
      data=0x81accb0) at kernel/qcoreapplication.cpp:1373
      #15 0xb6875add in QCoreApplication::sendPostedEvents (receiver=0x0, 
      event_type=0) at kernel/qcoreapplication.cpp:1266
      #16 0xb68a1294 in QCoreApplication::sendPostedEvents (s=0x81b0bb0)
      at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
      #17 postEventSourceDispatch (s=0x81b0bb0)
      at kernel/qeventdispatcher_glib.cpp:277
      #18 0xb60dc305 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
      #19 0xb60dffe8 in ?? () from /lib/libglib-2.0.so.0
      #20 0xb60e01c8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
      #21 0xb68a0d85 in QEventDispatcherGlib::processEvents (this=0x81acde0, 
      flags=...) at kernel/qeventdispatcher_glib.cpp:415
      #22 0xb6875d71 in QCoreApplication::processEvents (flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
      )
      at kernel/qcoreapplication.cpp:924
      #23 0xb588b595 in ~QPulseAudioInput (this=0x81babb0, 
      __in_chrg=<value optimized out>) at qaudioinput_pulse.cpp:148
      #24 0xb7725868 in ~QAudioInput (this=0x81ba790, 
      __in_chrg=<value optimized out>) at audio/qaudioinput.cpp:210
      #25 0x08049cb1 in QScopedPointerDeleter<QAudioInput>::cleanup (
      pointer=0x81ba790) at /usr/include/qt4/QtCore/qscopedpointer.h:62
      #26 0x08049c4f in ~QScopedPointer (this=0xbfb4cf04, 
      __in_chrg=<value optimized out>)
      at /usr/include/qt4/QtCore/qscopedpointer.h:100
      #27 0x08049bb0 in Object::run (this=0xbfb4d4a0) at main_crash.cpp:43
      #28 0x0804973e in Object::qt_metacall (this=0xbfb4d4a0, 
      _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x81b1620) at main_crash.moc:75
      #29 0xb687844a in QMetaObject::metacall (object=0xbfb4d4a0, 
      cl=QMetaObject::WriteProperty, idx=5, argv=0x81b1620)
      at kernel/qmetaobject.cpp:237
      #30 0xb6883796 in QMetaCallEvent::placeMetaCall (this=0x81b9e80, 
      object=0xbfb4d4a0) at kernel/qobject.cpp:534
      #31 0xb68848c2 in QObject::event (this=0xbfb4d4a0, e=0x0)
      at kernel/qobject.cpp:1211
      #32 0xb6872023 in QCoreApplicationPrivate::notify_helper (this=0x81acfc0, 
      receiver=0xbfb4d4a0, event=0x81b9e80) at kernel/qcoreapplication.cpp:867
      #33 0xb68726b3 in QCoreApplication::notify (this=0xbfb4d4a8, 
      receiver=0xbfb4d4a0, event=0x81b9e80) at kernel/qcoreapplication.cpp:813
      #34 0xb687277b in QCoreApplication::notifyInternal (this=0xbfb4d4a8, 
      receiver=0xbfb4d4a0, event=0x81b9e80) at kernel/qcoreapplication.cpp:732
      #35 0xb687597c in QCoreApplication::sendEvent (receiver=0x0, event_type=0, 
      data=0x81accb0)
      at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
      #36 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, 
      data=0x81accb0) at kernel/qcoreapplication.cpp:1373
      #37 0xb6875add in QCoreApplication::sendPostedEvents (receiver=0x0, 
      event_type=0) at kernel/qcoreapplication.cpp:1266
      #38 0xb68a1294 in QCoreApplication::sendPostedEvents (s=0x81b0bb0)
      at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
      #39 postEventSourceDispatch (s=0x81b0bb0)
      at kernel/qeventdispatcher_glib.cpp:277
      #40 0xb60dc305 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
      #41 0xb60dffe8 in ?? () from /lib/libglib-2.0.so.0
      #42 0xb60e01c8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
      #43 0xb68a0d85 in QEventDispatcherGlib::processEvents (this=0x81acde0, 
      flags=...) at kernel/qeventdispatcher_glib.cpp:415
      #44 0xb6871229 in QEventLoop::processEvents (this=0xbfb4d414, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
      )
      at kernel/qeventloop.cpp:149
      #45 0xb68716aa in QEventLoop::exec (this=0xbfb4d414, flags=...)
      at kernel/qeventloop.cpp:201
      #46 0xb6875b9f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
      #47 0x08049607 in main (argc=1, argv=0xbfb4d5c4) at main_crash.cpp:54
      

      Attachments

        Activity

          People

            jorabbe Jonas Rabbe (closed Nokia identity) (Inactive)
            jorabbe Jonas Rabbe (closed Nokia identity) (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: