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

Vitalium VST3 freezes when resized with more than one instance open #119

Open
xard-dev opened this issue Feb 26, 2023 · 0 comments
Open

Comments

@xard-dev
Copy link

xard-dev commented Feb 26, 2023

Information

OS: 64-bit Ubuntu 22.04
Plugin Hosts: Ardour 7, Carla
Plugin variant: VST3

How to reproduce

  1. add one instance of VST3 Vitalium
  2. open the instance GUI
  3. resize the GUI
  4. add second instance of VST3 Vitalium
  5. open the second instance GUI while keeping the first open
  6. resize the second instance GUI

Result

The interface freezes (does not segfault / crash).

Additional details

When tested using local debug build of the VST3 Vitalium from commit f2dbade under carla --dbg following backtrace can be interrupted from the scenario:

0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, 
    futex_word=0x55555de6ba08) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, 
    expected=0, futex_word=0x55555de6ba08) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55555de6ba08, 
    expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, 
    private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff7c93ac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, 
    mutex=0x55555de3a0a0, cond=0x55555de6b9e0) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x55555de6b9e0, mutex=0x55555de3a0a0)
    at ./nptl/pthread_cond_wait.c:627
#5  0x00007ffff2ce7165 in ?? () from /lib/x86_64-linux-gnu/libX11.so.6
#6  0x00007ffff2ce7882 in ?? () from /lib/x86_64-linux-gnu/libX11.so.6
#7  0x00007ffff2ce96bb in XLockDisplay () from /lib/x86_64-linux-gnu/libX11.so.6
#8  0x00007fffb6af0638 in juce::XWindowSystemUtilities::ScopedXLock::ScopedXLock (
    this=0x7fffffffba17)
    at ../libs/juce6/source/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:84
#9  0x00007fffb6af5069 in juce::XWindowSystem::isMinimised (this=0x55555742e5d0, 
    windowH=62914588)
    at ../libs/juce6/source/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:1839
#10 0x00007fffb6b5446f in juce::LinuxComponentPeer::isMinimised (this=0x55556eaf8580)
    at ../libs/juce6/source/modules/juce_gui_basics/native/juce_linux_Windowing.cpp:177
#11 0x00007fffb6a49599 in juce::Component::isShowing (this=0x55556d84e420)
    at ../libs/juce6/source/modules/juce_gui_basics/components/juce_Component.cpp:602
#12 0x00007fffb6a4ab60 in juce::Component::setBounds (this=0x55556d84e420, x=0, y=0, w=1270, 
    h=744) at ../libs/juce6/source/modules/juce_gui_basics/components/juce_Component.cpp:1108
#13 0x00007fffb6a4afca in juce::Component::setSize (this=0x55556d84e420, w=1270, h=744)
    at ../libs/juce6/source/modules/juce_gui_basics/components/juce_Component.cpp:1200
#14 0x00007fffb67338bc in juce::JuceVST3EditController::JuceVST3Editor::onSize (
    this=0x555562dd09a0, newSize=0x7fffffffbb90)
    at ../libs/juce6/source/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp:1297
...

Full backtrace: 2023-02-26_vitalium_resize_freeze_bt.log

Looks like the "freeze" comes from a XLockDisplay being reserved but never released.

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

No branches or pull requests

1 participant