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

Crash when closing GUI #63

Closed
dwuertz opened this issue Mar 13, 2021 · 2 comments · Fixed by sfztools/sfizz#709
Closed

Crash when closing GUI #63

dwuertz opened this issue Mar 13, 2021 · 2 comments · Fixed by sfztools/sfizz#709

Comments

@dwuertz
Copy link

dwuertz commented Mar 13, 2021

Test Evnironment: Linux / REAPER 6.24 / VST3
sfizz: d2b9eb7

#0 0x00007ffff79c9ef5 in raise () at /usr/lib/libc.so.6
sfztools/sfizz#1 0x00007ffff79b3862 in abort () at /usr/lib/libc.so.6
sfztools/sfizz#2 0x00007ffff7a0bf38 in __libc_message () at /usr/lib/libc.so.6
sfztools/sfizz#3 0x00007ffff7a13bea in () at /usr/lib/libc.so.6
sfztools/sfizz#4 0x00007ffff7a1547c in _int_free () at /usr/lib/libc.so.6
sfztools/sfizz#5 0x00007ffff7a18ca8 in free () at /usr/lib/libc.so.6
sfztools/sfizz#6 0x00007fffca0f004e in SPiano::~SPiano() () at /home/dude/.vst3/sfizz.vst3/Contents/x86_64-linux/sfizz.so
sfztools/sfizz#7 0x00007fffca15e985 in VSTGUI::CViewContainer::removeAll(bool) () at /home/dude/.vst3/sfizz.vst3/Contents/x86_64-lin
ux/sfizz.so
sfztools/sfizz#8 0x00007fffca15ec2b in VSTGUI::CViewContainer::beforeDelete() () at /home/dude/.vst3/sfizz.vst3/Contents/x86_64-linu
x/sfizz.so
sfztools/sfizz#9 0x00007fffca0b4f3f in VSTGUI::ReferenceCounted::forget() () at /home/dude/.vst3/sfizz.vst3/Contents/x86_64-lin
ux/sfizz.so
sfztools/sfizz#10 0x00007fffca0e4235 in Editor::Impl::~Impl() () at /home/dude/.vst3/sfizz.vst3/Contents/x86_64-linux/sfizz.so
sfztools/sfizz#11 0x00007fffca0b79c5 in SfizzVstEditor::~SfizzVstEditor() () at /home/dude/.vst3/sfizz.vst3/Contents/x86_64-linux/sfi
zz.so
sfztools/sfizz#12 0x00007fffca0b7b69 in SfizzVstEditor::~SfizzVstEditor() () at /home/dude/.vst3/sfizz.vst3/Contents/x86_64-linux/sfi
zz.so
sfztools/sfizz#13 0x00007fffca0adc25 in non-virtual thunk to Steinberg::Vst::VSTGUIEditor::release() () at /home/dude/.vst3/sfizz.vst

@dwuertz
Copy link
Author

dwuertz commented Mar 13, 2021

new Core dump with Debug build:
#0 0x00007ffff79c9ef5 in raise () at /usr/lib/libc.so.6
sfztools/sfizz#1 0x00007ffff79b3862 in abort () at /usr/lib/libc.so.6
sfztools/sfizz#2 0x00007ffff7a0bf38 in __libc_message () at /usr/lib/libc.so.6
sfztools/sfizz#3 0x00007ffff7a13bea in () at /usr/lib/libc.so.6
sfztools/sfizz#4 0x00007ffff7a14fbc in _int_free () at /usr/lib/libc.so.6
sfztools/sfizz#5 0x00007ffff7a18ca8 in free () at /usr/lib/libc.so.6
sfztools/sfizz#6 0x00007ffff6a9df3e in xkb_keymap_unref () at /usr/lib/libxkbcommon.so.0
sfztools/sfizz#7 0x00007fffc9f75b7f in VSTGUI::X11::RunLoop::Impl::exit() (this=0x1335760) at /home/dude/sources/sfizz/plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11platform.cpp:218
sfztools/sfizz#8 0x00007fffc9f74d17 in VSTGUI::X11::RunLoop::exit() () at /home/dude/sources/sfizz/plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11platform.cpp:419
sfztools/sfizz#9 0x00007fffc9f6f424 in VSTGUI::X11::Frame::~Frame() (this=0x22f61a0, __in_chrg=, __vtt_parm=) at /home/dude/sources/sfizz/plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11frame.cpp:591
sfztools/sfizz#10 0x00007fffc9f6f47e in VSTGUI::X11::Frame::~Frame() (this=0x22f61a0, __in_chrg=, __vtt_parm=) at /home/dude/sources/sfizz/plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11frame.cpp:592
sfztools/sfizz#11 0x00007fffc9e21ad8 in VSTGUI::ReferenceCounted<std::atomic >::forget() (this=0x22f61a0) at /home/dude/sources/sfizz/plugins/editor/external/vstgui4/vstgui/lib/vstguibase.h:280
sfztools/sfizz#12 0x00007fffc9ef9499 in VSTGUI::SharedPointerVSTGUI::IPlatformFrame::operator=(VSTGUI::IPlatformFrame*) (this=0x1d31f70, _ptr=0x0) at /home/dude/sources/sfizz/plugins/editor/external/vstgui4/vstgui/lib/vstguibase.h:447
sfztools/sfizz#13 0x00007fffc9eeff73 in VSTGUI::CFrame::close() (this=0x10fb1a0) at /home/dude/sources/sfizz/plugins/editor/external/vstgui4/vstgui/lib/cframe.cpp:195
sfztools/sfizz#14 0x00007fffc9e1d763 in SfizzVstEditor::close() (this=0x1b71660) at /home/dude/sources/sfizz/plugins/vst/SfizzVstEditor.cpp:122
sfztools/sfizz#15 0x00007fffc9e80a80 in Steinberg::Vst::VSTGUIEditor::removed() (this=0x1b71660) at /home/dude/sources/sfizz/plugins/vst/external/VST_SDK/VST3_SDK/public.sdk/source/vst/vstguieditor.cpp:191

@jpcima
Copy link
Contributor

jpcima commented Mar 17, 2021

We have an anomaly at vstgui x11timer.cpp.
In the function Timer::stop, there is an early return without unregistering the timer, if the condition runLoop=null.
Due to not unregistering the timer, it continues to get triggered shortly after and causes the crash.
It needs to check what exactly happens with the runloop.

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

Successfully merging a pull request may close this issue.

3 participants