psemiletov / drumlabooh

LV2/VSTi drum machine that can use Hydrogen, SFZ, and own drumkit formats
https://psemiletov.github.io/drumlabooh/
GNU General Public License v3.0
41 stars 2 forks source link

v.5.0.0 segfault in Ardour/Mixbus Debian 12 #11

Open RattusSolarus opened 2 months ago

RattusSolarus commented 2 months ago

I built drumlabooh 5.0.0 from source on Debian 12 Bookworm. Build and install went smoothly and both LV2 and VST3 versions work fine, until I scroll through to the bottom of the drumkit list where it always segfaults both in Ardour and Mixbus. Running Ardour/Mixbus from CLI only shows a message that it segfaulted, no other clues. I rebuilt v.4.0.0 which I have used previously and replaced v.5.0.0, no issue in v.4.0.0. I'm not a coder, just a moderately experienced user, so not sure I can debug this alone, but happy to do any tests with guidance.

psemiletov commented 2 months ago

Thank you for the bug report. Can you try the current source? https://github.com/psemiletov/drumlabooh/archive/refs/heads/main.zip It is the next release's code, with the heavy rewritten kit scanner, so maybe it is fixed there. I was not able to reproduce the segfault, but here with the new code we have a chance for the better experience.

RattusSolarus commented 2 months ago

Same issue with current source. It only happens when I scroll to the bottom of the kits list. I noticed at first in cmake there are several modules not found but installing libwebkit2gtk-4.0-dev fixed that message. Do you test only on Ubuntu and Arch? Maybe it's just something in Debian. I tried unsuccessfully in Debian Testing as well but libcurl is currently a t64 transitional package so make didn't find that either.

psemiletov commented 2 months ago

I've tested at Arch, Ubuntu and Windows 7. Maybe the problem is in the parsing of the drumkit name. What drumkit at yoiur list is the last? The crash happens just on scrolling or when the kit is selected?

psemiletov commented 2 months ago

I've tested also on Debian 12, at VirtualBox - and can't reproduce the segfault :( Possible it is an error somewhere at JUCE's listbox implementation, I'll try to search about it at JUCE github and forum.

RattusSolarus commented 2 months ago

I just tried building on AVL-MXE which is based on Debian 12 and installed here as multi-boot on the same computer. Works perfectly there, no issue. Based on your question of which drumkit was last, it was circAfrique v4 from Hydrogen. So I moved all Hydrogen kits temporaraily so only drumlabooh kits were shown and it still crashed. It happens every time when scrolling to the bottom of the list, doesn't matter if a kit is selected or not. Considering it works in AVL-MXE and works here if I don't scroll to the bottom of the list, I will resign myself to the conclusion it is not easily solvable, or reproduceable outside of my particular Debian 12 install.

Also I'm not sure how important it is, but libwebkit2gtk-4.0-dev needs to be included in dependencies to satisfy all of the module search in cmake. libwebkit2gtk-4.1-0 is also available in Debian but probably won't satisfy it. Both of these are satisfied after installing libwebkit2gtk-4.0-dev and its deps :

-- Checking for modules 'webkit2gtk-4.0;gtk+-x11-3.0'
--   Package 'webkit2gtk-4.0', required by 'virtual:world', not found
--   Package 'gtk+-x11-3.0', required by 'virtual:world', not found
psemiletov commented 2 months ago

Hello! Thank you for the feedback! 'webkit2gtk-4.0;gtk+-x11-3.0' are not needed, it's ok that cmake warns about their absence. JUCE uses them at WebBrowser, but Drumlabooh doesn't use WebBrowser. The mystical crash on the scrolling is tough. At the last commit I've add the additional checking for emptiness of list items, possiblly it helps. Anyway, to fix it properly I need to reproduce it and debug :(