Ardour3 stops when loading a session with plugin

Hi everybody,

First sorry for my english.

I’m a new user of Ardour, and I admit that this softwar astonished me a lot, very efficient and complete.

But I have a problem, and for the last couple of hours I tried to find a solution on Internet but nothing is relevant.

I installed Ardour 3 on my computer (my distribution is Linux Mint 17), (not from Ubuntu’s packages I downloaded it from this website). And then I created a session but with no plugin, I needed some EQ, compressor, etc, so I installed calf-plugins (from the Linux Mint’s paquage manager). And I used some EQ.

And now here it is my problem, I closed the session and opened it later, but Ardour stop and close suddendly after it has been loaded all the tracks.

Here’s Jack report :

Cannot write socket fd = 15 err = Broken pipe
CheckRes error
Could not write notification
ClientNotify fails name = ardour notification = 10 val1 = 117 val2 = 0
Cannot write socket fd = 15 err = Broken pipe
CheckRes error
Could not write notification
ClientNotify fails name = ardour notification = 10 val1 = 118 val2 = 0
Cannot write socket fd = 15 err = Broken pipe
CheckRes error
Could not write notification
ClientNotify fails name = ardour notification = 10 val1 = 119 val2 = 0
Cannot write socket fd = 15 err = Broken pipe
CheckRes error
Could not write notification
ClientNotify fails name = ardour notification = 10 val1 = 120 val2 = 0
20:08:26.609 Récupération de désynchronisation (XRUN) (1 sauté).

And the Ardour report is :

Scanning folders for bundled LV2s: /opt/Ardour-3.5.380-dbg/lib/LV2
(ardour-3.5.380:3103): GLib-GObject-WARNING **: Attempt to add property gtkmm__CustomObject_N9Gtkmm2ext23CellRendererPixbufMultiE::active after class was initialised
*** Error in `/opt/Ardour-3.5.380-dbg/bin/ardour-3.5.380’: double free or corruption (fasttop): 0x00007f60e4000e00 ***
Abandon

And I tryed to uninstalled Calf Plugins, and then I could open my session, so this is the plug ins who are the problem.

Thanks for your help.

Matthieu

really odd since i use the calf plugins that come with kx studio with no problems, and also i use the plugins availible from git (development versions) without issues.

You should ask in IRC.

We recently realized that any session which includes multiple plugins that use FFT has a good chance of crashing because the library used by most of them is not thread-safe. This may or may not explain this particular crash, but there are several CALF plugins that use FFT.

Thanks for the answer, it’s as soon as I have applied more than one plugin (an 8 bands eq), otherwise it crashes. So Paul there is no solution ?

I’ll try to install the Calf plugins with other sources, because I don’t know if the ones in the ubuntu repository are the newest ones.

Thanks anyway for the help, why just an algorithm makes crash ardour ? There is no answer ? ^^

the FFT code is not multithreaded. If multiple plugins use it at the same time, it can cause memory corruption.

OK I see.

My new problem with those plugins occur only with Ardour, when I try to configure an EQ on the “Plugin rack” for Jack (The Calf Jack Host) everything is ok. And on my session on Ardour I can’t configure an eq on the parametric part. The curve don’t change, or only the gain on a specific frequency (nearby 8kHz), even if I set the frequency lower or higher…

By the way thank you veda_sitcks because you had a part of the solution ! :slight_smile: I’ll ask for my new problem on the IRC channel.

INTERESTING

i have a session at the moment, with about 10 tracks all with calf eq10q, i also have calf exiter on the master track and calf multiband comp.

with no crashing issues. maybe im just lucky…

However i am using the calf-pugins-git provided by the the kx studio repos, though i had the stable version installed also without issues.

what distro are you using?

Linux Mint 17 (Cinnamon, son not the debuian version)

Is that the FFTW library which is not thread safe, or is there some other common FFT library?

@veda_sticks: I don’t think eq10q is a calf plug-in - one of its filter types can lock up in somes case though - be careful.

I uninstall the calf plugin, and in installed them back (with git) and after running autogen.sh, I checked the “report” and I installed all the packages required, and one was “libfftw3”… And then I re installed (with make command) but still the same problem than a couple of hours, I could apply more than one eq (on different tracks of course) but can’t configure them.

An then I realised that in “libfftw3” there is FFT so I uninstalled again and again the calf plungins, and installed its again and again, but with the ubuntu repository (there is less plugins but I don’t care I juste need eq, compressor and reverb) and it seems to work.

So I guess my first problem came from the fact that I had nothing to “manage” the FFT algorithm.

I’ll tell you if everything is ok in a couple of days.

Thanks again guys for your help. And I’m sorry if my explanations are a bit clumsy, but I’m not an expert with linux and programmation, and my english is not perfect so I guess it was sometimes hard for you to understand what I meant.

@Tieuc

It is unlikely this will work long term based off my understanding of the problem. The issue is likely to show up intermittently and is unlikely to be addressed by the library I believe. In the meantime though you can get lucky.

     Seablade

ccaudle: FFTW, indeed.

sorry i meant calf eq 12 band, eq10q is indeed not a calf plugin.

I use the 12 band calf plugin with no problems. I have had ardour on the odd occassion crash on what seemingly is random instances not tying down to any one thing, usually when opening a plugin gui, but its rare.

I have the ftw libraries installed aswell, as i need them for baudline and BRP-PACU that does signal analysis. No problems here. Im running Kx studio on my desktop computer, and lubuntu with the kx studio repos added on my laptop.

Both running 12.04

no issues. Im wondering if FalkTX (one of the Dev’s for kx studio) has made some modifications to the packages that makes them work better. I reported a bug with his packaged git version of calf plugins the other week that meant preivious projects would not be able to find the plugins and he fixed it a few days later.

The issue is likely to show up intermittently and is unlikely to be addressed by the library I believe. In the meantime though you can get lucky.

hmm - what a horrible mess :frowning:

@linuxdsp: it isn’t every aspect of libfftw. I believe it is just the “planning” stage of the code that has issues. It is hard to blame them for the chaos of a plugin-style design : any sane person would expect that if their library was going to be used in a multithreaded application, the application itself would be able to do the relevant mutual exclusion etc. But no, in a modern DAW, we have random blobs of 3rd party code being executed in essentially random ways. Certainly a mess but not really the fault of libfftw. I should also stress that it is far from clear that this is actually responsible for the problems faced by the original poster.

My problem is solved. I still have some random crashes when using the plugins, but it’s fine for me, as long as it isn’t every 30 seconds and the automatic backups work well ! :slight_smile:
I accept the random crashes because for me it’s normal to have some when a “global system” (lib, plugins, software, etc…) are made by different parties, and people, the symbiosis between those third parties can’t always be perfect. And especially when a lot of things are coded by people during their spare time not their job. That’s my point of view of simple user, I see it like a normal and acceptable mess, even if I’m a picky guy ^^. But when I use Microsoft Office on Windows and it closes suddenly for nothing or when I have some weird issues it’s harder to accept it !

Maybe what I say is senseless and off topic, but as I said I’m just a lambda user, so I didn’t get excactly all the stuff you’re talking about.

@paul: yes, I wasn’t blaming anything specifically - but I don’t think it’s necessarily something which can be all the fault of a plugin style design either (fundamentally it’s just things not being done right - would you not expect - though it’s obviously wise never to assume - that as multi-threaded design is likely to get more common, not less, that a general purpose library should be constructed to be as thread-safe as possible and not just delegate that to the application developer? - for precisely the reason that - especially for an audio library - it might be used in some anarchic application design such as a plugin based DAW?).

As anyone who has attempted multi-threaded programming knows - you will mess it up, if you think you haven’t, then you have, but you just haven’t realized it yet… :slight_smile: