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

EXC_BAD_INSTRUCTION at QDarwinAudioSink::audioDeviceStop()

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P1: Critical
    • Resolution: Unresolved
    • Affects Version/s: 6.4.0
    • Fix Version/s: None
    • Component/s: Multimedia
    • Labels:
      None
    • Environment:
      Xcode 13.2.1
    • Platform/s:
      iOS/tvOS/watchOS

      Description

      I have an app that actively calls ` QAudioSink::start` and ` QAudioSink::stop` form the main thread. 

      On iOS it crashes at `QDarwinAudioSink::audioDeviceStop()` with `EXC_BAD_INSTRUCTION` error:

      Also, as you can see, there are the following messages in console output:

      [aurioc] AURemoteIO.h:323:entry: Unable to join I/O thread to workgroup ((null)): 2

      The crash happens in both Debug and Release configurations on iOS after some time period that varies from several seconds to a half of a day.

      Simulator: iPod touch (7th generation)

      iOS: 15.2

      I was unable to reproduce this in Desktop configuration on MacOS and I did not try to reproduce this on a real device.

      Stack trace:

      1 caulk::thread::join() (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/caulk.framework/caulk 0x7fff49a062932 std::__shared_ptr_emplace<AURemoteIO::IOThread, std::allocator<AURemoteIO::IOThread>>::__on_zero_shared() (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438a74693 AURemoteIO::Stop() (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438a58d34 ausdk::AUMethodStop(void *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438f35295 QDarwinAudioSink::audioDeviceStop() qdarwinaudiosink.mm 619 0x10ffa7afd6 QDarwinAudioSink::audioDeviceIdle() qdarwinaudiosink.mm 629 0x10ffa7b687 QDarwinAudioSink::renderCallback(void *, unsigned int *, AudioTimeStamp const *, unsigned int, unsigned int, AudioBufferList *) qdarwinaudiosink.mm 446 0x10ffa7ab78 ausdk::AUInputElement::PullInput(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438f12d29 AUInputFormatConverter2::InputProc(OpaqueAudioConverter *, unsigned int *, AudioBufferList *, AudioStreamPacketDescription * *, void *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff4382cf2710 acv1::AudioConverterChain::CallInputProc(unsigned int) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff3032384011 acv1::AudioConverterChain::FillBufferFromInputProc(unsigned int *, CADeprecated::CABufferList *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff3032467f12 acv1::BufferedAudioConverter::GetInputBytes(unsigned int, unsigned int&, CADeprecated::CABufferList const *&) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff3045c7bd13 acv1::CBRConverter::RenderOutput(CADeprecated::CABufferList *, unsigned int, unsigned int&, AudioStreamPacketDescription *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff303091bc14 acv1::BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff3045c58915 acv1::AudioConverterChain::RenderOutput(CADeprecated::CABufferList *, unsigned int, unsigned int&, AudioStreamPacketDescription *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff303235bb16 acv1::BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff3045c58917 acv1::_AudioConverterFillComplexBuffer(OpaqueAudioConverter *, int ( *)(OpaqueAudioConverter *, unsigned int *, AudioBufferList *, AudioStreamPacketDescription * *, void *), void *, unsigned int *, AudioBufferList *, AudioStreamPacketDescription *, AudioStreamPacketDependencyInfo *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff30491df618 AudioConverterFillComplexBuffer (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AudioToolboxCore.framework/AudioToolboxCore 0x7fff303a368019 AUConverterBase::RenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff4382b61720 AURemoteIO::RenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438a431721 ausdk::AUBase::DoRender(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int, AudioBufferList&) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438f06a922 AURemoteIO::PerformIO(unsigned int, unsigned int, unsigned int, AudioTimeStamp const&, AudioTimeStamp const&, AudioBufferList const *, AudioBufferList *, unsigned int&) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438af7df23 _XPerformIO (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438e981724 mshMIGPerform (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libAudioToolboxUtility.dylib 0x7fff2e30936a25 MSHMIGDispatchMessage (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libAudioToolboxUtility.dylib 0x7fff2e30975926 void * caulk::thread_proxy<std::tuple<caulk::thread::attributes, AURemoteIO::IOThread::IOThread(AURemoteIO&, caulk::thread::attributes const&, caulk::mach::os_workgroup const&)::'lambda'(), std::tuple<>>>(void *) (x86_64) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/libEmbeddedSystemAUs.dylib 0x7fff438a720027 _pthread_start (x86_64) /usr/lib/system/libsystem_pthread.dylib 0x7fff6da2b8fc28 thread_start (x86_64) /usr/lib/system/libsystem_pthread.dylib 0x7fff6da27443
      

        Attachments

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

          Activity

            People

            Assignee:
            dorisverria Doris Verria
            Reporter:
            dmitriano Dmitry Efimov
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes