Linux crash in reaper but not in Bitwig - possible reasons?

The plug-in loads in Reaper and also in Bitwig without any problems on my Ubuntu 20.04 system. I don’t use the WebBrowser component. It also runs stable on macOS and windows.

A user uses the Zorin OS which should be similar to Ubunto 20.04. The plug-in works in Bitwig, all is good unless of some drag-and-drop issues.
But it crashes Reaper immediately without any crash log message when he tries to load the VST.

Edit: It works when he runs It in his process with “Run in a separate process”. It also works when he starts reaper with GDB.

Does anyone know what the problem can be?

I’m starting to wonder if one of the additional libraries is a problem. Looks like all our other products work.

It looks like it isn’t a crash. It looks more like it was killed by the system. This is the output the user gets with the debug release:

JUCE v7.0.9
JUCE Assertion failure in juce_TemporaryFile.cpp:114
Killed

Can this be created to this?

I’m using CMake and LLVM for the build with an actual JUCE version. I thought it should work out of the box, or do I need to add the compiler flag -fvisibility=hidden in my CMake script?

The best way to be sure is to inspect the compiler invocations to see whether this option is included. You can use cmake --build <build-dir> --verbose to check. However, JUCE’s CMake should already enable hidden symbols for plugin targets, so I’d be surprised if that wasn’t happening for some reason.

I have tried the following:

add_compile_options(-fvisibility-inlines-hidden)

This didn’t work. But is probably also the wrong way to do this. Can anyone help how to add this option in CMake?

maybe

set (CMAKE_CXX_VISIBILITY_PRESET hidden)
set (CMAKE_VISIBILITY_INLINES_HIDDEN ON)
1 Like

Did you try inspecting the build commands? This flag should also be set automatically by JUCE’s CMake support.

I tried to verify and I can see only around a hundred exported symbols when using the following command to check the VST2:

nm -g libPlugin.so

Does this mean that hiding the symbols didn’t work or is this normal? I’m getting thousands of results when using:

nm libPlugin.so

Edit: I still think it has something to do with this because it also works in Reaper when running in a separate process.
Our other plugins with less code don’t have any problems.

Yes, it looks like it is included. I can see following compiler options in the build:

… -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -flto …