Qtractor segfaults when loading linuxsampler plugin [SOLVED]

Forums

I've been getting segfaults with Qtractor when trying to load the linuxsampler plugin ever since Qtractor 5.3. I rebuilt Qtractor today
with SVN 2742 and still get the problem. The scenario is:
o start qtractor, create midi track.
o attempt to select linuxsampler plugin for track, get segfault when hit OK

Here is a strace of the crash in case that is useful:

mmap2(NULL, 528384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xab7be000
mprotect(0xab7be000, 4096, PROT_NONE) = 0
clone(child_stack=0xab83e2b4, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xab83ebd8, {entry_number:6, base_addr:0xab83eb70, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xab83ebd8) = 21794
sched_setscheduler(21794, SCHED_OTHER, { 0 }) = 0
futex(0xa06944c, FUTEX_WAIT_PRIVATE, 3, NULL) = 0
futex(0xa06942c, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0xa06942c, FUTEX_WAKE_PRIVATE, 1) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Segmentation fault

I was intending to test the "state" restoration of linuxsampler which has not been working for me, so I had:

o built the entire drobilla-lad SVN 3982 (this includes lilv)
o built libgig, linuxsampler, qsampler, lscp SVN 2322

which is supposed to get the state restoration (i.e. get linuxsampler to reload the sample file you had loaded in a previous session). Obviously, cannot test this in qtractor right now. I'm running AVlinux 5.0.2.

Permalink

well, i've just built linuxsampler from svn trunk rev.2322 today and it breaks on me too.

it all seems related to the lv2/lilv state api feature recently introduced in the linuxsampler-lv2 plugin implementation.

if you build qtractor with ./configure --enable-debug you'll get a better stacktrace which always points you to linuxsampler's PluginLv2::Restore at the segfault crash spot.

previously, the lv2 state feature extension (when is was independent from a lilv api) it was working great--blame this to the all-mighty-l33t aka. drobilla xD

i'll have to investigate this too, probably i'll have to take measures on this kind of hidenbugs o.O

[UPDATE:] fixed on svn trunk rev.2743+ (aka. qtractor 0.5.3.38+) -- in fact it is a bug in linuxsampler lv2 state interface, due to lack of validation for some null input parameter.

cheers

Permalink

Thanks for the quick work. I just built SVN 2744 and linuxsampler plugin works and state is properly restored. I tried SF2, gig, and SFZ files and restore worked for all of them. I did find that if you change the instrument in linuxsampler and do not change anything else in qtractor then "save" never is enabled and you cannot save the new instrument state, unless you make some other change to activate the "save" button which is a minor issue.

I also noticed with Qtractor that you cannot minimize the main window separately from the mixer window. I had some idea of using Qtractor as a live mixer (which I like because you can put plugins on tracks and easily enable/disable them which is not possible in most linux "mixer" applications). For this purpose I only need to see the mixer window, so I'd like to minimize the main window to get it out of the way. So it would be nice to be able to do that.

Thanks again for the speedy action on the linuxsampler problem.

Add new comment

The content of this field is kept private and will not be shown publicly.

Markdown

  • Parses markdown and converts it to HTML.
  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type='1 A I'> <li> <dl> <dt> <dd> <h2 id='jump-*'> <h3 id> <h4 id> <h5 id> <h6 id> <img src alt height width> <strike>
  • Lines and paragraphs break automatically.

Filtered HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <b> <i> <pre> <img src alt height width> <strike>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
File attachments
Unlimited number of files can be uploaded to this field.
2 MB limit.
Allowed types: jpg jpeg gif png txt doc docx xls xlsx pdf ppt pps odt ods odp zip gz bz2 xz patch diff wav ogg flac ogv mp4 qtz.