Plugin parameter "state-dir" crashes Ardour upon session loading

I have been working on some sessions and all of a sudden reloading them have caused crashes to Ardour upon loading. Now, after investigating (a lot) I’ve finally found out the cause of crash, which is plugin “Preset Convolver” reloading the IR preset. Here’s the row:

<lv2 last-preset-uri="http://gareus.org/oss/lv2/zeroconvolv/pset#LEX470L_Plates_-_A_Plate" last-preset-label="470L - Plates - A Plate" parameter-changed-since-last-preset="0" state-dir="state4"/>

Modifying the value of state-dir into something else (EG “state1” or “state6”) it will load it with no problem. I made two copies of the same session named aaa.ardour and zzz.ardour with just that parameter changed. Here is the result of the diif between the two files:

$ diff aaa.ardour zzz.ardour
4715c4715
<         <lv2 last-preset-uri="http://gareus.org/oss/lv2/zeroconvolv/pset#LEX470L_Plates_-_A_Plate" last-preset-label="470L - Plates - A Plate" parameter-changed-since-last-preset="0" state-dir="state4"/>
---
>         <lv2 last-preset-uri="http://gareus.org/oss/lv2/zeroconvolv/pset#LEX470L_Plates_-_A_Plate" last-preset-label="470L - Plates - A Plate" parameter-changed-since-last-preset="0" state-dir="state1"/>

Loading aaa.ardour I have a crash with segmentation fault with no other error message displayed on the console, loading the second it works like a charm.

Tested on Ardour 8.12 and 9 under Linux Mint 22.3

Can someone tell me what can cause this?

Go to that state4 line in your .ardour file, scroll up until you get to the <Processor id= line and make a note of that ID value.
In your session directory you’ll have a plugin/<ID> dir containing one or more state dirs.
Check if there’s something weird with the state4 one and its manifest.ttl and state.ttl files.

Thank you Peder, I don’t know much about the session architecture in Ardour.

I’ve checked what you suggested and found out that there’s no state4 dir in the plugin/ID folder. I have state1/2/5/6/7/8 but no 4.

On this session I have several snapshots, as it comes from a live band recording session. I usually record a band in a single session, make a rough mix and then split every single song into a snapshot so that I can fine tune the mix. I guess these many states for the plugin reflect the different settings I have for the snapshots. Now, I wonder how comes that a setting into the session file doesn’t match an existing folder.

On a side note, I think Ardour should check for the presence of that state-dir and raise an exception instead of crashing like that. Should I open a bug report on mantis about it?

If you have backups from before the crashes started to occur (you do have backups, right…?) you should check if there is a state4 folder in those.
I’m guessing that that folder did exist but got deleted at one point (possibly along with state3) for some reason. But I have no idea how Ardour manages these folders and their corresponding state-dir entries.

You haven’t had a computer crash or sudden loss of power recently?
If Ardour created those folders and the computer then crashed prior to them being properly synced to disk then the file system recovery could have wiped them.

Yeah, I don’t think a missing state folder should result in a crash so you should probably open a bug report.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.