Unhandled exception at 0x0000000141591633 (Waveform 13.exe) in 1000000002192e18f4d87b8b8_UnknownLocation.dmp: 0xC0000005: Access violation reading location 0x0000000000000000.
This is the #1 crash I’m seeing from users.
'
rax=0000000000000001 rbx=0000000000000000 rcx=0000000000000000
rdx=00000000005e0000 rsi=000000000603b360 rdi=ffffffffffffffff
rip=0000000141591633 rsp=000000000014fcf0 rbp=0000000000000000
r8=0000000000402340 r9=0000000000000001 r10=0000000000000003
r11=000000000014fc50 r12=0000000000000000 r13=000000014d71ffa0
r14=00000000037d1978 r15=0000000000000000
iopl=0 nv up ei pl zr na po nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
Waveform_13!juce::OwnedArray::getUnchecked+0x3 [inlined in Waveform_13!juce::ModalComponentManager::handleAsyncUpdate+0x43]:
00000001`41591633 498b1c0f mov rbx,qword ptr [r15+rcx] ds:00000000`00000000=????????????????
*** Stack trace for last set context - .thread/.cxr resets it
Call Site
Waveform_13!juce::OwnedArray::getUnchecked
Waveform_13!juce::ModalComponentManager::handleAsyncUpdate
Waveform_13!juce::InternalMessageQueue::dispatchMessage
Waveform_13!juce::InternalMessageQueue::dispatchMessages
Waveform_13!juce::InternalMessageQueue::dispatchNextMessage
Waveform_13!juce::detail::dispatchNextMessageOnSystemQueue
Waveform_13!juce::MessageManager::runDispatchLoop
Waveform_13!juce::JUCEApplicationBase::main
*** WARNING: Unable to verify timestamp for kernel32.dll
It’s crashing on the call to getUnchecked(). I can’t really think of a reason other than heap corruption, but it’s always here. I’d expect a corrupt heap to be more random where it crashed.
void ModalComponentManager::handleAsyncUpdate()
{
for (int i = stack.size(); --i >= 0;)
{
auto* item = stack.getUnchecked (i);
if (! item->isActive)
{
std::unique_ptr<ModalItem> deleter (stack.removeAndReturn (i));
Component::SafePointer<Component> compToDelete (item->autoDelete ? item->component : nullptr);
for (int j = item->callbacks.size(); --j >= 0;)
item->callbacks.getUnchecked (j)->modalStateFinished (item->returnValue);
compToDelete.deleteAndZero();
detail::ComponentHelpers::ModalComponentManagerChangeNotifier::getInstance().modalComponentManagerChanged();
}
}
}
