066df7cc1ae32d65ec031de524792d2f55589f9f
When copying a mono LV2 plugin to a stereo track, the state of the copied mono plugin is copied to the replicated instance. However at this point in time PBD::Stateful::ForceIDRegeneration is still enabled, and the state ID has not been set. This used to not be an issue. Older versions of liblilv handle non-existent paths just fine. However in lilv v0.24.20-10-gdd5e851 `lilv_path_absolute` was replaced with `zix_canonical_path` which returns NULL if a state file does not [yet] exist. This lead to a segfault due to strlen(NULL) in `serd_node_new_file_uri`: #0 strlen -- SEGV on unknown address 0x000000000000 #1 serd_node_new_file_uri () at /lib/x86_64-linux-gnu/libserd-0.so.0 #2 lilv_state_new_from_file () at /lib/x86_64-linux-gnu/liblilv-0.so.0 #3 ARDOUR::LV2Plugin::set_state(XMLNode const&, int) at ../libs/ardour/lv2_plugin.cc:2320
Please see the Ardour web site at https://ardour.org/ for all documentation..
For information on building ardour:
https://ardour.org/development.html
Description
Languages
C++
56.5%
C
39.6%
JavaScript
1.3%
Lua
0.9%
Python
0.6%
Other
0.9%