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

[macOS] Crash in QDarwinAudioSourceBuffer::renderFromDevice

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P1: Critical
    • Resolution: Unresolved
    • Affects Version/s: 6.2.4
    • Fix Version/s: None
    • Component/s: Multimedia
    • Labels:
      None
    • Environment:
      MacBook Pro 15" (Retina, Touch, 2018/2019) macOS 12.2.1
      iMac 27" (5K, Mid-2017) macOS 10.15.7
      iMac20,1 macOS 11.6.5
    • Platform/s:
      macOS

      Description

      I see such crashes in users crash reports, but I can't reproduce it locally and provide any example for simple reproduction.

      Thread 51 Crashed:
      0   libAudioToolboxUtility.dylib         0x00007ff8190c22ec CrashIfClientProvidedBogusAudioBufferList + 96
      1   AudioToolboxCore                     0x00007ff80dc8b5a0 acv1::AudioConverterChain::CallInputProc(unsigned int) + 691
      2   AudioToolboxCore                     0x00007ff80dc8c41f acv1::AudioConverterChain::FillBufferFromInputProc(unsigned int*, CADeprecated::CABufferList*) + 252
      3   AudioToolboxCore                     0x00007ff80ddd3d7b acv1::BufferedAudioConverter::GetInputBytes(unsigned int, unsigned int&, CADeprecated::CABufferList const*&) + 212
      4   AudioToolboxCore                     0x00007ff80dc7231e acv1::CBRConverter::RenderOutput(CADeprecated::CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 105
      5   AudioToolboxCore                     0x00007ff80ddd3b47 acv1::BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 362
      6   AudioToolboxCore                     0x00007ff80ddd3d4d acv1::BufferedAudioConverter::GetInputBytes(unsigned int, unsigned int&, CADeprecated::CABufferList const*&) + 166
      7   AudioToolboxCore                     0x00007ff80dd46877 acv1::Resampler2Wrapper::RenderOutput(CADeprecated::CABufferList*, unsigned int, unsigned int&) + 192
      8   AudioToolboxCore                     0x00007ff80de1b49b acv1::SampleRateConverter::RenderOutput(CADeprecated::CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 38
      9   AudioToolboxCore                     0x00007ff80ddd3b47 acv1::BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 362
      10  AudioToolboxCore                     0x00007ff80ddd3d4d acv1::BufferedAudioConverter::GetInputBytes(unsigned int, unsigned int&, CADeprecated::CABufferList const*&) + 166
      11  AudioToolboxCore                     0x00007ff80dc7231e acv1::CBRConverter::RenderOutput(CADeprecated::CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 105
      12  AudioToolboxCore                     0x00007ff80ddd3b47 acv1::BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 362
      13  AudioToolboxCore                     0x00007ff80dc8b28b acv1::AudioConverterChain::RenderOutput(CADeprecated::CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 108
      14  AudioToolboxCore                     0x00007ff80ddd3b47 acv1::BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 362
      15  AudioToolboxCore                     0x00007ff80de08753 acv1::_AudioConverterFillComplexBuffer(OpaqueAudioConverter*, int (*)(OpaqueAudioConverter*, unsigned int*, AudioBufferList*, AudioStreamPacketDescription**, void*), void*, unsigned int*, AudioBufferList*, AudioStreamPacketDescription*, AudioStreamPacketDependencyInfo*) + 954
      16  AudioToolboxCore                     0x00007ff80dd17db7 AudioConverterFillComplexBuffer + 85
      17  QtMultimedia                         0x000000010fbb010f QDarwinAudioSourceBuffer::renderFromDevice(ComponentInstanceRecord*, unsigned int*, AudioTimeStamp const*, unsigned int, unsigned int) (qdarwinaudiosource.mm:278)
      18  QtMultimedia                         0x000000010fbb1832 QDarwinAudioSource::inputCallback(void*, unsigned int*, AudioTimeStamp const*, unsigned int, unsigned int, AudioBufferList*) (qdarwinaudiosource.mm:956)
      19  CoreAudio                            0x0000000159b47cb4 0x159b3d000 + 44212
      20  CoreAudio                            0x00007ff80e26aec3 HALC_ProxyIOContext::IOWorkLoop() + 7460
      21  CoreAudio                            0x00007ff80e268bc1 ___ZN19HALC_ProxyIOContextC2Ejj_block_invoke + 62
      22  CoreAudio                            0x00007ff80e43176c HALB_IOThread::Entry(void*) + 71
      23  libsystem_pthread.dylib              0x00007ff80c7944f4 _pthread_start + 124
      24  libsystem_pthread.dylib              0x00007ff80c79000f thread_start + 14
      

      Similar crashes (with CrashIfClientProvidedBogusAudioBufferList in the stack) I also saw before with Qt 5 , so probably this is some old issue.

      Also it seems doesn't depend on macOS version or Mac model, see Environment.

        Attachments

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

          Activity

            People

            Assignee:
            laknoll Lars Knoll
            Reporter:
            studiosus Vladimir Belyavsky
            Votes:
            2 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes