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

CMakeLists.txt: fix hang when >1 Camomile LV2 plugin is loaded #3

Merged

Conversation

hyperpenelope
Copy link
Owner

@hyperpenelope hyperpenelope commented May 17, 2022

This fixes issue pierreguillot#286 on the mothership repository.

This issue was ultimately caused by an object buried in the JUCE code having an inappropriate scope - GCC made the object a "unique global symbol", which means there is only one instance across the current process. When multiple plugins were loaded, they all shared this instance, but did not share other relevant objects (from the JUCE code), causing havoc. The fix is to ban GCC from marking symbols as "unique global".

Also set the C++ standard to be C++20 for the Camomile_LV2 meta-plugin, in line with the other meta-plugins.

…ierreguillot#286)

This issue was ultimately caused by an object buried in the JUCE code having
an inappropriate scope - GCC made the object a "unique global symbol", which
means there is only one instance across the current process.
When multiple plugins were loaded, they all shared this instance, but did
not share other relevant objects (from the JUCE code), causing havoc.
The fix is to ban GCC from marking symbols as "unique global".

Also set the C++ standard to be C++20 for the Camomile_LV2 meta-plugin, in
line with the other meta-plugins.
@hyperpenelope hyperpenelope force-pushed the dev/daw-hangs-when-loading-multiple-lv2-plugins branch from dd9aa30 to 27a4a14 Compare August 9, 2022 13:18
@hyperpenelope hyperpenelope merged commit 02e9fcd into dev/v1.0.8 Aug 9, 2022
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 this pull request may close these issues.

1 participant