Open mikelupe opened 4 months ago
Mike posted a backtrace, but the link meanwhile expired.
The issue was in the LV2's state restore function that and caused a segfault somewhere when setting state to fluidsynth.
Thanks for forward the issue to me, I'll check and fix that. _ could already reproduce the crash, that's good.
I've found the bt in the lowlands of my editor's CTRL-Z history.
I guess the relevant entries are:
(gdb) thread apply all bt Thread 286 (Thread 0x7fff93e006c0 (LWP 18657) "ArdourGUI"):
#5 0x00007fffdaa4b8fa in ?? () from /home/user/.lv2/Fluida.lv2/Fluida.so
and at the end of the bt:
Thread 1 (Thread 0x7ffff0e5dc40 (LWP 18343) "ArdourGUI"):
#8 0x00007fffdaa52341 in ?? () from /home/user/.lv2/Fluida.lv2/Fluida.so #9 0x00007fffdaa4af49 in ?? () from /home/user/.lv2/Fluida.lv2/Fluida.so
(gdb)
I'll keep the entire bt if there's a need for it.
From what I see after some quick tests, Fluida works with Ardour 8.4.0~ds1 from debian repository, but crash with Ardour-8.4.0 from official build. I'll going to debug this, but gime some day's.
As additional datapoint: @mikelupe compiles Ardour himself (no official binary, nor a debian version)
@mikelupe could you try the latest release please. There is a prebuild binary here: https://github.com/brummer10/Fluida.lv2/releases/download/v0.9.2/Fluida.lv2-v0.9.2-linux-x86_64.tar.xz
That one works here on debian based Ardour and as well on official binary. I like to know if it works on your build as well.
@x42 I run a debugging session with Ardour-8.4.0, I get
lilv_lib_open(): error: Failed to open library /home/brummer/.lv2/Fluida.lv2/Fluida.so (/lib/x86_64-linux-gnu/libinstpatch-1.0.so.2: undefined symbol: g_string_free_and_steal)
So it's a incompatible library version. Comes Ardour with fluidsynth build in? Maybe that's why the prebuild binary of Fluida works, as that one using fluidsynth static.
undefined symbol: g_string_free_and_steal)
so the version of glib that comes with Ardour binaries is too old for system-wide fluidsynth.
Comes Ardour with fluidsynth build in?
Depends. Official binaries statically link against libfluidsynth (libardour and ACE Fluidsynth have no external dependencies). Distros (notably Debian) patches this to use system-wide version and dynamically link it.
Maybe that's why the prebuild binary of Fluida works, as that one using fluidsynth static.
OK, so this not a bug, just a @mikelupe is not using a statically linked version of the plugin.
As @x42 mentioned, a me is building both from source, Ardour and Fluida.
I'm building Fluida ~like this:
` # PREREQS # sudo apt install libcairo2-dev libx11-dev lv2-dev libfluidsynth-dev
git clone --recursive --recurse-submodules ${DL_SRC} ; cd ${PLG_NAME}.lv2
git submodule init ; git submodule update && time make -j16 && make install
`
Don't question the steps too much, it's based on a build-template I have.
I'm not adept enough to understand whether having fluidsynth as a submodule would make sense or not. Anyway, thanks for hinting me how to build Fluida using statical fluidsynth.
I can report the result today or tomorrow, but I guess it's already clear where the "issue" was.
Hello, first of all thank you for your plugins.
I'm on Debian 12 / KDE / X11. I build Ardour with and without the gtk2 replacement "ytk" (which integrates a stripped-down gtk2), so this parameter could be ruled out for the following issue, I guess.
A build I had compiled shortly after your last commit in January now crashes Ardour (Ardour backtrace showed it, x42 confirmed this). Possibly this already could have happend before I stumbled over it last week.
I'd have to create a new BT in Ardour, the old one is lost. Or is there a "simple" way to debug Fluida.lv2?
regards