sudara / melatonin_inspector

A JUCE module that gives you the ability to inspect and visually edit (non-destructively) components in your UI.
MIT License
156 stars 18 forks source link

Crash on shutdown: acces violation reading location 0xfffffffffff #109

Closed ruurdadema closed 7 months ago

ruurdadema commented 7 months ago

When closing the application which uses an inspector instance, I get a crash:

<unknown> 0x00007ff9ba97c55c
juce::HeapBlock::free() juce_HeapBlock.h:302
juce::ArrayBase::setAllocatedSize(int) juce_ArrayBase.h:219
juce::OwnedArray::clear(bool) juce_OwnedArray.h:110
juce::PropertyPanel::clear() juce_PropertyPanel.cpp:238
melatonin::Accessibility::updateProperties() accesibility.h:18
melatonin::Accessibility::componentModelChanged(melatonin::ComponentModel &) accesibility.h:43
`melatonin::ComponentModel::notifyListeners'::`2'::<lambda_1>::operator()(melatonin::ComponentModel::Listener &) component_model.h:388
juce::ListenerList<melatonin::ComponentModel::Listener,juce::Array<melatonin::ComponentModel::Listener *,juce::DummyCriticalSection,0> >::call<`melatonin::ComponentModel::notifyListeners'::`2'::<lambda_1> >(<lambda_1> &&) juce_ListenerList.h:140
melatonin::ComponentModel::notifyListeners() component_model.h:387
melatonin::ComponentModel::updateModel() component_model.h:127
melatonin::ComponentModel::selectComponent(juce::Component *) component_model.h:54
melatonin::ComponentModel::~ComponentModel() component_model.h:38
melatonin::InspectorComponent::~InspectorComponent() inspector_component.h:156
melatonin::Inspector::~Inspector() melatonin_inspector.h:100
MainComponent::~MainComponent() MainComponent.cpp:102
MainApplication::~MainApplication() MainApplication.cpp:17
juce::JUCEApplicationBase::main() juce_ApplicationBase.cpp:269
WinMain(HINSTANCE__ *, HINSTANCE__ *, char *, int) MainApplication.cpp:287

I haven't dived in very deep, but at first glance it looks like a destructed class instance is being used. Listeners probably shouldn't be notified on destruction.

Happens on Windows 11 Visual Studio 17 2022.