View Issue Details

IDProjectCategoryView StatusLast Update
0005962ardourbugspublic2015-12-30 14:32
Reporterrobertaramar Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
Summary0005962: Saving state of linuxsampler LV2 cannot load project after close
DescriptionI'm putting a MIDI track on my project and assign a LinuxSampler processor to it. I then start Fantasia and assign the proper samples.
Ardour can record and play the track properly.
However, after saving the project, closeing it and trying to reopen it, I get this:

ardour-3.5.2865: src/hostplugins/lv2/PluginLv2.cpp:238: LV2_State_Status {anonymous}::PluginLv2::Restore(LV2_State_Retrieve_Function, LV2_State_Handle, uint32_t, const LV2_Feature* const*): Assertion `type == uri_to_id("http://lv2plug.in/ns/ext/atom" "#" "Path")' failed.
Aborted

The state of the processor is attached.
TagsNo tags attached.

Relationships

has duplicate 0006125 closed Loading session with Linuxsampler Plugin causes crash when restoring state 

Activities

2014-08-26 16:03

 

17924.zip (1,243 bytes)

x42

2014-08-27 03:10

administrator   ~0015875

src/hostplugins/lv2/PluginLv2.cpp is in Linuxsampler not Ardour.
It's linuxsampler that asserts.

looking at http://svn.linuxsampler.org/cgi-bin/viewvc.cgi/linuxsampler/trunk/src/hostplugins/lv2/PluginLv2.cpp

it saves a uri_to_id(NS_LS "state-string")
but then expects to receive a uri_to_id(LV2_ATOM__Path)

There's something amiss there in LS' backwards compatible state loader. The first retrieve() should probably ask for a LV2_ATOM__Path.

Please forward this bug to the LinuxSampler team.

robertaramar

2015-12-29 16:22

reporter   ~0017754

I came across this very same problem today, when I installed a new machine and was compiling everything (ardour and linuxsampler) from scratch. I used the same sources (though probably different libs due to Ubuntu 15.04 vs 15.10) and the linuxsampler.so that I produces on the 15.10 system again stops a this assert statement.
I have two other machines (both 15.04) which with the same sources do NOT show this problem. So I would assume this has something to do with the libraries used.
If someone might have a hint, anything is welcome. The temporary cure for me is, to comment the assert statement out which makes the linuxsampler plugin work again.

x42

2015-12-29 17:54

administrator   ~0017755

This is an outright bug in Linuxsampler. The URIs must match for save/load.

If they don't the behaviour is undefined (it may or may not work; or it may or may not crash).

x42

2015-12-30 14:07

administrator   ~0017757

Last edited: 2015-12-30 14:10

Is this still an issue with linuxsampler v2.0.0? it should be fixed there.

At least new instances will save/load the state correctly.

Restoring old states or presets from previously saved with some hosts (that don't support atom-uri-maps) may still fail.

robertaramar

2015-12-30 14:32

reporter   ~0017758

I checked out linuxsampler from their SVN yesterday. I compared the PluginLv2.cpp that I had on my previous builds (the 15.04 system) and there was no diff at all.

I am really wondering why this fails on the new system with the same source.

Issue History

Date Modified Username Field Change
2014-08-26 16:03 robertaramar New Issue
2014-08-26 16:03 robertaramar File Added: 17924.zip
2014-08-27 03:10 x42 Note Added: 0015875
2015-01-12 01:25 x42 Relationship added has duplicate 0006125
2015-12-29 16:22 robertaramar Note Added: 0017754
2015-12-29 17:54 x42 Note Added: 0017755
2015-12-30 14:07 x42 Note Added: 0017757
2015-12-30 14:08 x42 Note Edited: 0017757
2015-12-30 14:10 x42 Note Edited: 0017757
2015-12-30 14:32 robertaramar Note Added: 0017758