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

Crash when using QSound/QSoundEffect to play the same source wav multiple times

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.0.0
    • 5.0.0
    • Multimedia
    • Ubuntu 10.04, playing via pulse audio
    • Ib5a1e6bc3f1cc314054f9cdc89c10100ad546721

    Description

      PulseAudio generates an assertion when two or more QSoundEffect objects attempt to play the same source wav.
      "Assertion 'o' failed at pulse/operation.c:67, function pa_operation_unref(). Aborting."

      Reproduction steps:
      1. Create QSoundEffect object, set source wav and play.
      2. Wait for wav to finish playing, but leave the QSoundEffect object alive and linked to the wav file.
      3. Create a second QSoundEffect object and set source to the same wav file and attempt to play.
      4. Note the pulse audio assertion that follows.

      Backtrace of failed assertion:

      #0  0xb7fe3832 in ?? () from /lib/ld-linux.so.2                                                                                                                                      
      #1  0xb6286651 in raise () from /lib/tls/i686/cmov/libc.so.6                                                                                                                         
      #2  0xb6289a82 in abort () from /lib/tls/i686/cmov/libc.so.6                                                                                                                         
      #3  0xb70c068d in pa_operation_unref () from /usr/lib/libpulse.so.0                                                                                                                  
      #4  0xb7182dd7 in QSoundEffectPrivate::playSample (this=0xaec01d00) at /home/mpattiso/Projects/qtmm/src/multimedia/effects/qsoundeffect_pulse_p.cpp:797
      #5  0xb71820fb in QSoundEffectPrivate::play (this=0xaec01d00) at /home/mpattiso/Projects/qtmm/src/multimedia/effects/qsoundeffect_pulse_p.cpp:587
      #6  0xb718586e in QSoundEffect::play (this=0xaec01a08) at /home/mpattiso/Projects/qtmm/src/multimedia/effects/qsoundeffect.cpp:281
      #7  0x0804c372 in tst_QSoundEffect::testLooping (this=0xbffff0f8) at /home/mpattiso/Projects/qtmm/tests/auto/integration/qsoundeffect/tst_qsoundeffect.cpp:127
      #8  0x0804cf03 in tst_QSoundEffect::qt_static_metacall (_o=0xbffff0f8, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfffe7c0) at ./tst_qsoundeffect.moc:62
      #9  0xb67c19f0 in QMetaMethod::invoke (this=0xbfffe92c, object=0xbffff0f8, connectionType=Qt::DirectConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., 
          val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1634
      #10 0xb67c0e12 in QMetaObject::invokeMethod (obj=0xbffff0f8, member=0xaec01680 "testLooping", type=Qt::DirectConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., 
          val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1176
      #11 0xb71dd56c in QMetaObject::invokeMethod (obj=0xbffff0f8, member=0xaec01680 "testLooping", type=Qt::DirectConnection, val0=..., val1=..., val2=..., val3=..., val4=..., 
          val5=..., val6=..., val7=..., val8=..., val9=...) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs.h:389
      #12 0xb71d9537 in qInvokeTestMethodDataEntry (slot=0xaec01680 "testLooping") at qtestcase.cpp:1500
      #13 0xb71d9cdd in qInvokeTestMethod (slotName=0x805010e "testLooping()", data=0x0) at qtestcase.cpp:1605
      #14 0xb71da48e in qInvokeTestMethods (testObject=0xbffff0f8) at qtestcase.cpp:1759
      #15 0xb71dabb3 in QTest::qExec (testObject=0xbffff0f8, argc=1, argv=0xbffff1d4) at qtestcase.cpp:1972
      #16 0x0804ce16 in main (argc=1, argv=0xbffff1d4) at /home/mpattiso/Projects/qtmm/tests/auto/integration/qsoundeffect/tst_qsoundeffect.cpp:230
      

      Attachments

        Issue Links

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

          Activity

            People

              mithra_p Mithra Pattison (closed Nokia identity) (Inactive)
              mithra_p Mithra Pattison (closed Nokia identity) (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes