Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.0.0
-
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
- relates to
-
QTBUG-54094 tst_QSoundEffect asserts with pulse/operation.c:67, function pa_operation_unref()
- Closed