Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mixxx won’t work. com.apple.audio. I0thread.client #11019

Closed
Dadodrums96 opened this issue Oct 28, 2022 · 20 comments
Closed

Mixxx won’t work. com.apple.audio. I0thread.client #11019

Dadodrums96 opened this issue Oct 28, 2022 · 20 comments

Comments

@Dadodrums96
Copy link

Hi everyone, I have an issue with my MacBook M1 Pro. I plugged in a new Mic, with the adapter, and at first it was working great with Mixxx. Then I just shut down my Mac and when I started a few hours later, Mixxx wasn’t working no more. I can’t even open it. Thank You in advance for Your time.
System Integrity Protection: enabled
Crashed Thread:
48 com.apple. audio. I0Thread. client
Exception Type:
Exception Codes:
EXC_CRASH (SIGABRT)
ex0000e00000000000, 0x0000000000000000

@Holzhaus
Copy link
Member

Which Mixxx version are you using? Which MacOS version?

Also, we need a backtrace to debug the crash. This wiki article explains how to create one: https://github.com/mixxxdj/mixxx/wiki/Creating%20Backtraces#creating-back-traces-for-debugging

@Dadodrums96
Copy link
Author

Which Mixxx version are you using? Which MacOS version?

Also, we need a backtrace to debug the crash. This wiki article explains how to create one: https://github.com/mixxxdj/mixxx/wiki/Creating%20Backtraces#creating-back-traces-for-debugging

I am using Mixxx2.3.3, MacOS Ventura13.0

@Dadodrums96
Copy link
Author

Which Mixxx version are you using? Which MacOS version?

Also, we need a backtrace to debug the crash. This wiki article explains how to create one: https://github.com/mixxxdj/mixxx/wiki/Creating%20Backtraces#creating-back-traces-for-debugging

I have no idea on how to do that, but I have the report of interrupted threads. And the main one is the one reported: com.Apple.audio.I0thread.client

@Dadodrums96
Copy link
Author

I guess I temporary fixed it. Basically it was crashing after selecting 48kHz and not 44100 and then selecting my external mic. I uninstalled the actual version, cause I am not able to run it, it collapse just a second after clicking on the icon to open it. Then I installed the previous one: 2.3.0 and it's working with the 44100Hz setting.
Just wondering how to make the 2.3.3 run.

@ronso0
Copy link
Member

ronso0 commented Oct 29, 2022

You didn't fix it, you figured how to a work around the actual cause.

I have no idea on how to do that

Just follow the instructions for macOS https://github.com/mixxxdj/mixxx/wiki/Creating%20Backtraces#linux--mac-os-x-with-xcode-4x
A backtrace is extremely helpful to really fix the issue and improve Mixxx. Please take another look.

@Dadodrums96
Copy link
Author

I see. Should I leave it as a comment here?

@ronso0
Copy link
Member

ronso0 commented Oct 29, 2022

Yes, that would be great. You can either attach it as txt file or paste it inside <details>text... </details> in the comment box.

@Dadodrums96
Copy link
Author

So after workin a bit on my Mac I am able to give You the thread trace. Is it ok dump? Or do You want me to export it in another format?

@ronso0
Copy link
Member

ronso0 commented Nov 3, 2022

You can either attach it as txt file or paste it inside

text...
in the comment box.

🤷 maybe the

way is better, no need to downlad and open a file.
https://gist.github.com/scmx/eca72d44afee0113ceb0349dd54a84a2

@Dadodrums96
Copy link
Author

Update:

In the end I wasn't able to provide a Backtrace of threads, as there was something missing from my Mac settings.

The problem was the crush between MacOS settings and Mixxx 2.3.3 settings.

I did start Mac on recovery mode, initialise as a brand new Mac.

Then I downloaded Mixxx2.3.3, and set everything as I always did, and now it's working.

It seems that something went wrong with MacOS Ventura 13.0 update and some packs were missing.

@ronso0 ronso0 closed this as completed Nov 4, 2022
@kFYatek
Copy link

kFYatek commented Nov 5, 2022

Hi,

The OP seems to have only worked around the issue. I ran into what seems to be the same thing. Here's some more details:

  • The issue only happens on Mixxx 2.3.3. I tried the 2.4.0 development builds, both official x86_64 under Rosetta, and the unofficial ARM builds from https://github.com/fwcd/m1xxx, and everything works flawlessly on those 2.4.0 snapshots. So perhaps fixing this is just a matter of backporting some patch onto the 2.3 tree (or maybe just releasing 2.4 soon...? ;)), but unfortunately I have no idea which one.
  • The crash started happening after an upgrade from Monterey to Ventura for me as well. (EDIT: I just confirmed it with two otherwise identical VMs, one running Monterey 12.4, the other running Ventura 13.0, both fresh installs - the crash only happens on Ventura)
  • The crash happens when I set an input device configured as a microphone to a different sample rate in Audio MIDI Setup.app than the master sample rate selected in Mixxx (Preferences -> Sound Hardware -> Sample Rate) - typically 44.1 vs. 48 kHz.

See the backtrace attached below, the crashing thread is thread #52 near the bottom. I had to break on libc++abi.dylib`abort_message in LLDB, because the signal was not being caught for some reason. It's from the official 2.3.3 release, although I ran codesign --remove-signature on it instead of disabling SIP system-wide.

(lldb) thread backtrace all
  thread #1, queue = 'com.apple.main-thread'
    frame #0: 0x00007ff81420a98a libsystem_kernel.dylib`__psynch_mutexwait + 10
    frame #1: 0x00007ff814244ba3 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 76
    frame #2: 0x00007ff8142429c8 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 212
    frame #3: 0x00007ff814247879 libsystem_pthread.dylib`_pthread_cond_wait + 1395
    frame #4: 0x00007ff81671f26c CoreAudio`HALB_Guard::WaitFor(unsigned long long) + 178
    frame #5: 0x00007ff8164ee51f CoreAudio`HALB_IOThread::_WaitForState(unsigned int) + 151
    frame #6: 0x00007ff8164ee913 CoreAudio`HALB_IOThread::StartAndWaitForState(unsigned int) + 425
    frame #7: 0x00007ff81636b797 CoreAudio`HALC_ProxyIOContext::_StartIO() + 329
    frame #8: 0x00007ff816330e03 CoreAudio`HAL_HardwarePlugIn_DeviceStart(AudioHardwarePlugInInterface**, unsigned int, int (*)(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*)) + 753
    frame #9: 0x00007ff816199a03 CoreAudio`AudioDeviceStart + 155
    frame #10: 0x000000016800baed CoreAudio`___lldb_unnamed_symbol986 + 543
    frame #11: 0x000000016800aae0 CoreAudio`___lldb_unnamed_symbol971 + 50
    frame #12: 0x00000001680401d1 CoreAudio`AUHALEntry + 229
    frame #13: 0x00007ff815ef74de AudioToolboxCore`AudioOutputUnitStart + 207
    frame #14: 0x000000010a31c0de libportaudio.2.dylib`StartStream + 110
    frame #15: 0x000000010047de98 mixxx`SoundDevicePortAudio::open(bool, int) + 3384
    frame #16: 0x0000000100483b5b mixxx`SoundManager::setupDevices() + 3595
    frame #17: 0x000000010037d956 mixxx`MixxxMainWindow::initialize(QApplication*, CmdlineArgs const&) + 9238
    frame #18: 0x0000000100378f34 mixxx`MixxxMainWindow::MixxxMainWindow(QApplication*, CmdlineArgs const&) + 948
    frame #19: 0x000000010000fbab mixxx`main + 1243
    frame #20: 0x0000000200e16310 dyld`start + 2432
  thread #2, queue = 'glmtl.ioSurfaceNotifierQueue'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff8140e2eb4 libdispatch.dylib`dispatch_mig_server + 220
    frame #5: 0x00007ff8140c7a44 libdispatch.dylib`_dispatch_client_callout + 8
    frame #6: 0x00007ff8140ca500 libdispatch.dylib`_dispatch_continuation_pop + 463
    frame #7: 0x00007ff8140dbdff libdispatch.dylib`_dispatch_source_invoke + 2184
    frame #8: 0x00007ff8140cd964 libdispatch.dylib`_dispatch_lane_serial_drain + 342
    frame #9: 0x00007ff8140ce5b4 libdispatch.dylib`_dispatch_lane_invoke + 366
    frame #10: 0x00007ff8140d8ad7 libdispatch.dylib`_dispatch_workloop_worker_thread + 762
    frame #11: 0x00007ff814243ce3 libsystem_pthread.dylib`_pthread_wqthread + 326
    frame #12: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #3, queue = 'glmtl.ioSurfaceNotifierQueue'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff8140e2eb4 libdispatch.dylib`dispatch_mig_server + 220
    frame #5: 0x00007ff8140c7a44 libdispatch.dylib`_dispatch_client_callout + 8
    frame #6: 0x00007ff8140ca500 libdispatch.dylib`_dispatch_continuation_pop + 463
    frame #7: 0x00007ff8140dbdff libdispatch.dylib`_dispatch_source_invoke + 2184
    frame #8: 0x00007ff8140cd964 libdispatch.dylib`_dispatch_lane_serial_drain + 342
    frame #9: 0x00007ff8140ce5b4 libdispatch.dylib`_dispatch_lane_invoke + 366
    frame #10: 0x00007ff8140d8ad7 libdispatch.dylib`_dispatch_workloop_worker_thread + 762
    frame #11: 0x00007ff814243ce3 libsystem_pthread.dylib`_pthread_wqthread + 326
    frame #12: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #4, queue = 'glmtl.ioSurfaceNotifierQueue'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff8140e2eb4 libdispatch.dylib`dispatch_mig_server + 220
    frame #5: 0x00007ff8140c7a44 libdispatch.dylib`_dispatch_client_callout + 8
    frame #6: 0x00007ff8140ca500 libdispatch.dylib`_dispatch_continuation_pop + 463
    frame #7: 0x00007ff8140dbdff libdispatch.dylib`_dispatch_source_invoke + 2184
    frame #8: 0x00007ff8140cd964 libdispatch.dylib`_dispatch_lane_serial_drain + 342
    frame #9: 0x00007ff8140ce5b4 libdispatch.dylib`_dispatch_lane_invoke + 366
    frame #10: 0x00007ff8140d8ad7 libdispatch.dylib`_dispatch_workloop_worker_thread + 762
    frame #11: 0x00007ff814243ce3 libsystem_pthread.dylib`_pthread_wqthread + 326
    frame #12: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #5, name = 'com.apple.NSEventThread'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff81432202b CoreFoundation`__CFRunLoopServiceMachPort + 145
    frame #5: 0x00007ff814320a84 CoreFoundation`__CFRunLoopRun + 1387
    frame #6: 0x00007ff81431fe9f CoreFoundation`CFRunLoopRunSpecific + 560
    frame #7: 0x00007ff8174dd696 AppKit`_NSEventThread + 132
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #6, queue = 'glmtl.ioSurfaceNotifierQueue'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff8140e2eb4 libdispatch.dylib`dispatch_mig_server + 220
    frame #5: 0x00007ff8140c7a44 libdispatch.dylib`_dispatch_client_callout + 8
    frame #6: 0x00007ff8140ca500 libdispatch.dylib`_dispatch_continuation_pop + 463
    frame #7: 0x00007ff8140dbdff libdispatch.dylib`_dispatch_source_invoke + 2184
    frame #8: 0x00007ff8140cd964 libdispatch.dylib`_dispatch_lane_serial_drain + 342
    frame #9: 0x00007ff8140ce5b4 libdispatch.dylib`_dispatch_lane_invoke + 366
    frame #10: 0x00007ff8140d8ad7 libdispatch.dylib`_dispatch_workloop_worker_thread + 762
    frame #11: 0x00007ff814243ce3 libsystem_pthread.dylib`_pthread_wqthread + 326
    frame #12: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #7, name = 'EngineWorkerScheduler'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x00000001001cfb68 mixxx`EngineWorkerScheduler::run() + 200
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #8, name = 'EngineSideChain'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x00000001001e31d9 mixxx`EngineSideChain::run() + 345
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #9, name = 'caulk.messenger.shared:17'
    frame #0: 0x00007ff81420861e libsystem_kernel.dylib`semaphore_wait_trap + 10
    frame #1: 0x00007ff81de948f8 caulk`caulk::mach::semaphore::wait_or_error() + 16
    frame #2: 0x00007ff81de7a664 caulk`caulk::concurrent::details::worker_thread::run() + 36
    frame #3: 0x00007ff81de7a328 caulk`void* caulk::thread_proxy > >(void*) + 41
    frame #4: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #5: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #10, name = 'VinylControlProcessor'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x0000000100607d3b mixxx`VinylControlProcessor::run() + 1003
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #11, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #12, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #13, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #14, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #15, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #16, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #17, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #18, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #19, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #20, name = 'LibraryScanner 1'
    frame #0: 0x00007ff81419181c libsystem_c.dylib`___lldb_unnamed_symbol2499
    frame #1: 0x00000001375e6e55 libsqlite3.0.dylib`pcacheFetchFinishWithInit + 69
    frame #2: 0x00000001375e6dcd libsqlite3.0.dylib`sqlite3PcacheFetchFinish + 61
    frame #3: 0x00000001375e68d4 libsqlite3.0.dylib`getPageNormal + 196
    frame #4: 0x00000001375c261c libsqlite3.0.dylib`sqlite3PagerGet + 60
    frame #5: 0x000000013760bf5d libsqlite3.0.dylib`getAndInitPage + 93
    frame #6: 0x000000013760beef libsqlite3.0.dylib`moveToChild + 207
    frame #7: 0x000000013760e6cd libsqlite3.0.dylib`moveToLeftmost + 189
    frame #8: 0x0000000137605e71 libsqlite3.0.dylib`sqlite3BtreeNext + 193
    frame #9: 0x000000013760e5c1 libsqlite3.0.dylib`btreeNext + 497
    frame #10: 0x0000000137605e46 libsqlite3.0.dylib`sqlite3BtreeNext + 150
    frame #11: 0x00000001375ff310 libsqlite3.0.dylib`sqlite3VdbeExec + 27264
    frame #12: 0x00000001375c5cd3 libsqlite3.0.dylib`sqlite3Step + 547
    frame #13: 0x00000001375c5932 libsqlite3.0.dylib`sqlite3_step + 114
    frame #14: 0x000000013740678e libqsqlite.dylib`QSQLiteResultPrivate::fetchNext(QVector&, int, bool) + 478
    frame #15: 0x00000001374082e7 libqsqlite.dylib`QSQLiteResult::exec() + 2023
    frame #16: 0x000000010abd7354 QtSql`QSqlQuery::exec() + 308
    frame #17: 0x000000010029ba8d mixxx`TrackDAO::invalidateTrackLocationsInLibrary() const + 141
    frame #18: 0x000000010031dbb3 mixxx`LibraryScanner::slotStartScan() + 1571
    frame #19: 0x000000010f1199a1 QtCore`QObject::event(QEvent*) + 769
    frame #20: 0x000000010bfa917d QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
    frame #21: 0x000000010bfaa5ab QtWidgets`QApplication::notify(QObject*, QEvent*) + 587
    frame #22: 0x000000010f0ef544 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
    frame #23: 0x000000010f0f06e7 QtCore`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 791
    frame #24: 0x000000010f147d88 QtCore`QEventDispatcherUNIX::processEvents(QFlags) + 72
    frame #25: 0x000000010f0eaa3e QtCore`QEventLoop::exec(QFlags) + 430
    frame #26: 0x000000010ef1491c QtCore`QThread::exec() + 140
    frame #27: 0x0000000100320c4b mixxx`LibraryScanner::run() + 603
    frame #28: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #29: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #30: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #21, name = 'BrowseThread'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010023e8e2 mixxx`BrowseThread::run() + 146
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #22, name = 'AnalyzerThread'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x00007ff8141a3c32 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock&) + 18
    frame #3: 0x000000010050d84b mixxx`WorkerThread::awaitWorkItemsFetched() + 75
    frame #4: 0x0000000100016cc0 mixxx`AnalyzerThread::doRun() + 2240
    frame #5: 0x000000010050d593 mixxx`WorkerThread::run() + 579
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #23, name = 'AnalyzerThread'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x00007ff8141a3c32 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock&) + 18
    frame #3: 0x000000010050d84b mixxx`WorkerThread::awaitWorkItemsFetched() + 75
    frame #4: 0x0000000100016cc0 mixxx`AnalyzerThread::doRun() + 2240
    frame #5: 0x000000010050d593 mixxx`WorkerThread::run() + 579
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #24, name = 'AnalyzerThread'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x00007ff8141a3c32 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock&) + 18
    frame #3: 0x000000010050d84b mixxx`WorkerThread::awaitWorkItemsFetched() + 75
    frame #4: 0x0000000100016cc0 mixxx`AnalyzerThread::doRun() + 2240
    frame #5: 0x000000010050d593 mixxx`WorkerThread::run() + 579
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #25, name = 'AnalyzerThread'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x00007ff8141a3c32 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock&) + 18
    frame #3: 0x000000010050d84b mixxx`WorkerThread::awaitWorkItemsFetched() + 75
    frame #4: 0x0000000100016cc0 mixxx`AnalyzerThread::doRun() + 2240
    frame #5: 0x000000010050d593 mixxx`WorkerThread::run() + 579
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #26, name = 'AnalyzerThread'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x00007ff8141a3c32 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock&) + 18
    frame #3: 0x000000010050d84b mixxx`WorkerThread::awaitWorkItemsFetched() + 75
    frame #4: 0x0000000100016cc0 mixxx`AnalyzerThread::doRun() + 2240
    frame #5: 0x000000010050d593 mixxx`WorkerThread::run() + 579
    frame #6: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #27, name = 'Controller'
    frame #0: 0x00007ff81420f3ba libsystem_kernel.dylib`poll + 10
    frame #1: 0x000000010f146830 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 576
    frame #2: 0x000000010f1480a9 QtCore`QEventDispatcherUNIX::processEvents(QFlags) + 873
    frame #3: 0x000000010f0eaa3e QtCore`QEventLoop::exec(QFlags) + 430
    frame #4: 0x000000010ef1491c QtCore`QThread::exec() + 140
    frame #5: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #6: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #7: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #28, name = 'VSync'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010052bc51 mixxx`VSyncThread::run() + 241
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #29
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff82c605600 CoreMIDI`XServerMachPort::ReceiveMessage(int&, void*, int&) + 94
    frame #5: 0x00007ff82c636bc7 CoreMIDI`MIDIProcess::MIDIInPortThread::Run() + 105
    frame #6: 0x00007ff82c61ed40 CoreMIDI`XThread::RunHelper(void*) + 10
    frame #7: 0x00007ff82c61ffb3 CoreMIDI`CAPThread::Entry(CAPThread*) + 77
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #30, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #31, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #32, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #33, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #34, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #35, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #36, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #37, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #38, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #39, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #40, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #41, name = 'CachingReaderWorker'
    frame #0: 0x00007ff81420b1fe libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007ff8142477e1 libsystem_pthread.dylib`_pthread_cond_wait + 1243
    frame #2: 0x000000010ef1e13b QtCore`QWaitConditionPrivate::wait(QDeadlineTimer) + 59
    frame #3: 0x000000010ef1e09c QtCore`QWaitCondition::wait(QMutex*, QDeadlineTimer) + 108
    frame #4: 0x000000010ef1e025 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 101
    frame #5: 0x000000010ef1a433 QtCore`QSemaphore::acquire(int) + 83
    frame #6: 0x000000010014cb4c mixxx`CachingReaderWorker::run() + 348
    frame #7: 0x000000010ef1587c QtCore`QThreadPrivate::start(void*) + 332
    frame #8: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #9: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #42
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
  thread #43
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
  thread #44, queue = 'glmtl.ioSurfaceNotifierQueue'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff8140e2eb4 libdispatch.dylib`dispatch_mig_server + 220
    frame #5: 0x00007ff8140c7a44 libdispatch.dylib`_dispatch_client_callout + 8
    frame #6: 0x00007ff8140ca500 libdispatch.dylib`_dispatch_continuation_pop + 463
    frame #7: 0x00007ff8140dbdff libdispatch.dylib`_dispatch_source_invoke + 2184
    frame #8: 0x00007ff8140cd964 libdispatch.dylib`_dispatch_lane_serial_drain + 342
    frame #9: 0x00007ff8140ce5b4 libdispatch.dylib`_dispatch_lane_invoke + 366
    frame #10: 0x00007ff8140d8ad7 libdispatch.dylib`_dispatch_workloop_worker_thread + 762
    frame #11: 0x00007ff814243ce3 libsystem_pthread.dylib`_pthread_wqthread + 326
    frame #12: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #45
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
  thread #46
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
  thread #47, name = 'org.libusb.device-hotplug'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff81432202b CoreFoundation`__CFRunLoopServiceMachPort + 145
    frame #5: 0x00007ff814320a84 CoreFoundation`__CFRunLoopRun + 1387
    frame #6: 0x00007ff81431fe9f CoreFoundation`CFRunLoopRunSpecific + 560
    frame #7: 0x00007ff8143a4105 CoreFoundation`CFRunLoopRun + 40
    frame #8: 0x000000010ba1708f libusb-1.0.0.dylib`darwin_event_thread_main + 399
    frame #9: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #10: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #48
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
  thread #49
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
  thread #50
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
  thread #51
    frame #0: 0x00007ff814242c58 libsystem_pthread.dylib`start_wqthread
* thread #52, name = 'com.apple.audio.IOThread.client', stop reason = breakpoint 6.1
  * frame #0: 0x00007ff814200f91 libc++abi.dylib`abort_message
    frame #1: 0x00007ff8141f2163 libc++abi.dylib`demangling_terminate_handler() + 48
    frame #2: 0x00007ff8142004a5 libc++abi.dylib`std::__terminate(void (*)()) + 8
    frame #3: 0x00007ff814200440 libc++abi.dylib`std::terminate() + 32
    frame #4: 0x00007ff815dd5f4f AudioToolboxCore`acv2::_AudioConverterFillBuffer(OpaqueAudioConverter*, int (*)(OpaqueAudioConverter*, unsigned int*, void**, void*), void*, unsigned int*, void*) + 930
    frame #5: 0x000000010a31d672 libportaudio.2.dylib`AudioIOProc + 706
    frame #6: 0x000000016800c5f3 CoreAudio`___lldb_unnamed_symbol995 + 1999
    frame #7: 0x00007ff816369227 CoreAudio`HALC_ProxyIOContext::IOWorkLoop() + 7213
    frame #8: 0x00007ff816367029 CoreAudio`invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 63
    frame #9: 0x00007ff8164ee630 CoreAudio`HALB_IOThread::Entry(void*) + 72
    frame #10: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #11: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15
  thread #53
    frame #0: 0x00007ff814209d96 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007ff814243d47 libsystem_pthread.dylib`_pthread_wqthread + 426
    frame #2: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #54
    frame #0: 0x00007ff814209d96 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007ff814243d47 libsystem_pthread.dylib`_pthread_wqthread + 426
    frame #2: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #55
    frame #0: 0x00007ff814209d96 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007ff814243d47 libsystem_pthread.dylib`_pthread_wqthread + 426
    frame #2: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #56
    frame #0: 0x00007ff814209d96 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007ff814243d47 libsystem_pthread.dylib`_pthread_wqthread + 426
    frame #2: 0x00007ff814242c67 libsystem_pthread.dylib`start_wqthread + 15
  thread #57, name = 'com.apple.audio.IOThread.client'
    frame #0: 0x00007ff8142086a2 libsystem_kernel.dylib`mach_msg2_trap + 10
    frame #1: 0x00007ff81421667d libsystem_kernel.dylib`mach_msg2_internal + 82
    frame #2: 0x00007ff81420f71a libsystem_kernel.dylib`mach_msg_overwrite + 723
    frame #3: 0x00007ff814208989 libsystem_kernel.dylib`mach_msg + 19
    frame #4: 0x00007ff81636791d CoreAudio`HALC_ProxyIOContext::IOWorkLoop() + 803
    frame #5: 0x00007ff816367029 CoreAudio`invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 63
    frame #6: 0x00007ff8164ee630 CoreAudio`HALB_IOThread::Entry(void*) + 72
    frame #7: 0x00007ff814247259 libsystem_pthread.dylib`_pthread_start + 125
    frame #8: 0x00007ff814242c7b libsystem_pthread.dylib`thread_start + 15

@daschuer
Copy link
Member

daschuer commented Nov 5, 2022

AudioConverterFillBuffer is deprecated. Maybe it has been removed in Ventura 13.0
https://developer.apple.com/documentation/audiotoolbox/1559926-audioconverterfillbuffer
Portaudio has switched to the new version here:
PortAudio/portaudio@1d3a239
It is in v19.7.0 we use the older v190600_20161030

It is recommended to link macOS system libraries with "-weak_framework". This allows to check functions for availability.
I change to that in case libraries do availability checks.

In addition I will try to install the homebrew portaudio library and delete our own.

@daschuer
Copy link
Member

daschuer commented Nov 7, 2022

I have prepared two PRs. fist of all the one which aims to fix the issue by upgrading PortAudio to 19.7 #11046

Than there is another one to test if the lucky runtime crash in such cases can be replaced by an abort with a reasonable error message: #11042

@kFYatek please download the build artifacts as described here: https://github.com/mixxxdj/mixxx/wiki/Testing#github-pull-requests
Then verify whether the first PR fixes the crash and the second one has a different error than EXC_CRASH (SIGABRT)

Thank you very much.

@kFYatek
Copy link

kFYatek commented Nov 7, 2022

@daschuer I confirm that #11046 fixes the issue for me.

Can't test #11042 because the macOS build job failed.

@daschuer
Copy link
Member

daschuer commented Nov 7, 2022

Thank you, can you also test the artifacts produced by GitHub?
https://github.com/mixxxdj/mixxx/suites/9173046258/artifacts/427372515
https://github.com/mixxxdj/mixxx/suites/9150409010/artifacts/425703366
This is what we will later provide on our download page.

@kFYatek
Copy link

kFYatek commented Nov 7, 2022

@daschuer

https://github.com/mixxxdj/mixxx/suites/9173046258/artifacts/427372515

This (commit 463ac23) seems to work (i.e., fix the issue; doesn't crash) as well.

https://github.com/mixxxdj/mixxx/suites/9150409010/artifacts/425703366

This one (commit c8dc003) crashes in exactly the same way as the 2.3.3 release for me.

@daschuer
Copy link
Member

daschuer commented Nov 7, 2022

Ah OK, so the later can be closed.

@daschuer
Copy link
Member

The fix was merged here:
#11046

@daschuer daschuer added this to the 2.3.4 milestone Nov 18, 2022
@daschuer
Copy link
Member

@ronr255
Copy link

ronr255 commented Jan 9, 2023

So it looks like 2.3.3-166 works on my M1 mac mini after the ventura upgrade. I haven't had any issues that I have noticed so far.

I also tried the 2.4 alpha M1 build and it mostly works. I get an error about the Numark MT3 mapping that I can hit ignore on and most of the functionality of the board still is there. It doesn't flash like it used to, and that's about the only difference I noticed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants