bogaudio / BogaudioModules

Modules for VCV Rack.
Other
268 stars 33 forks source link

Crash in Analyzer module on arm64 Apple Silicon #235

Closed cschol closed 9 months ago

cschol commented 10 months ago

Crash occurs when switching display quality from default Good to by pressing button in ANALZYER.

Behavior seems to only happen with Kaiser windowing selected.

Backtrace:

Thread 8 Crashed:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib                 0x19c5c4704 __pthread_kill + 8
1   libsystem_pthread.dylib                0x19c5fbc28 pthread_kill + 288
2   libsystem_c.dylib                      0x19c509ae8 abort + 180
3   libsystem_c.dylib                      0x19c508e44 __assert_rtn + 272
4   plugin.dylib                           0x108cedb14 bogaudio::dsp::KaiserWindow::KaiserWindow(int, float) + 480
5   plugin.dylib                           0x108cef0e4 bogaudio::dsp::SpectrumAnalyzer::SpectrumAnalyzer(bogaudio::dsp::SpectrumAnalyzer::Size, bogaudio::dsp::SpectrumAnalyzer::Overlap, bogaudio::dsp::SpectrumAnalyzer::WindowType, float, bool) + 740
6   plugin.dylib                           0x108b80500 bogaudio::ChannelAnalyzer::ChannelAnalyzer(bogaudio::dsp::SpectrumAnalyzer::Size, bogaudio::dsp::SpectrumAnalyzer::Overlap, bogaudio::dsp::SpectrumAnalyzer::WindowType, float, int, int, float*, float*, std::__1::atomic<float*>&) + 92
7   plugin.dylib                           0x108b7a418 bogaudio::AnalyzerCore::stepChannelSample(int, float) + 180
8   plugin.dylib                           0x108b825f8 bogaudio::Analyzer::processAll(rack::engine::Module::ProcessArgs const&) + 36
9   plugin.dylib                           0x108c32298 bogaudio::BGModule::process(rack::engine::Module::ProcessArgs const&) + 332
10  libRack.dylib                          0x1059bd970 rack::engine::Module::doProcess(rack::engine::Module::ProcessArgs const&) + 168
11  libRack.dylib                          0x1059b70e4 rack::engine::Engine::stepBlock(int) + 1312
12  libRack.dylib                          0x1058f349c rack::audio::Device::processBuffer(float const*, int, float*, int, int) + 436
13  libRack.dylib                          0x105925b00 rack::RtAudioDevice::rtAudioCallback(void*, void*, unsigned int, double, unsigned int, void*) + 168
14  libRack.dylib                          0x105dcaebc RtApiCore::callbackEvent(unsigned int, AudioBufferList const*, AudioBufferList const*) + 340
15  libRack.dylib                          0x105dc9fcc callbackHandler(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*) + 24
16  CoreAudio                              0x19e8d694c HALC_ProxyIOContext::IOWorkLoop() + 6628
17  CoreAudio                              0x19e8d488c invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 116
18  CoreAudio                              0x19ea37574 HALB_IOThread::Entry(void*) + 88
19  libsystem_pthread.dylib                0x19c5fbfa8 _pthread_start + 148
20  libsystem_pthread.dylib                0x19c5f6da0 thread_start + 8
mdemanett commented 10 months ago

Pretty sure that's fixed by https://github.com/bogaudio/BogaudioModules/commit/d514214279c5e9c35fcfe9928d25e1322e79d8e0 -- but I haven't released that, will do.