View Issue Details

IDProjectCategoryView StatusLast Update
0010240ardourbugspublic2026-03-09 23:41
Reportervediovis Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
PlatformGNUOSLinuxOS Version(any)
Product Version9.2 
Summary0010240: SIGSEGV crash loading session with LV2 plugins having state properties (liblilv 0.24.22 bug)
Description## Environment
- OS: Linux Mint 22 (based on Ubuntu Noble 24.04)
- Ardour: 8.4.0 & 9.2
- liblilv: 0.24.22 (Ubuntu Noble package)
- libserd: 0.32.2 (Ubuntu Noble package)

## Bug description
Ardour crashes with SIGSEGV when loading a session containing LV2 plugins
that use LV2 state properties (e.g. JC303, Dragonfly Hall Reverb).
The crash occurs even when state-dir="" in the session XML.

## Stack trace
#0 __strlen_avx2 (libc.so.6)
0000001 serd_node_new_file_uri (libserd-0.so.0)
#2 lilv_state_new_from_file (liblilv-0.so.0)
#3 ARDOUR::LV2Plugin::set_state (libardour.so.3)
0000004 ARDOUR::PluginInsert::set_state (libardour.so.3)


## Root cause
liblilv 0.24.22 passes a NULL pointer to serd_node_new_file_uri() when
a plugin uses LV2 state properties (Controllable with property= attribute
in session XML). This causes a SIGSEGV in strlen.

## Solution
Recompiling and installing the following libraries from source fixes the crash:
- zix 0.6.2
- serd 0.32.8
- sord 0.16.22
- lilv 0.26.4

## Affected plugins confirmed
- JC303 (http://github.com/midilab/JC303/)
- Dragonfly Hall Reverb LV2
Steps To Reproduce1. Create a session with JC303 LV2 or Dragonfly Hall Reverb LV2
2. Configure the plugin (any settings) and put a midi line
3. Save the session
4. Close and reopen the session
5. Ardour crashes immediately during session load
Additional Information
## Stack trace (from coredumpctl)

Stack trace of thread 1 (main thread):
#0 0x000070cf7778b7dd __strlen_avx2 (libc.so.6)
0000001 0x000070cf761bf599 serd_node_new_file_uri (libserd-0.so.0)
#2 0x000070cf782d55f0 lilv_state_new_from_file (liblilv-0.so.0)
#3 ARDOUR::LV2Plugin::set_state (libardour.so.3)
0000004 ARDOUR::PluginInsert::set_state (libardour.so.3)
0000005 ARDOUR::Route::set_processor_state (libardour.so.3)
#6 ARDOUR::Track::set_processor_state (libardour.so.3)
#7 ARDOUR::Route::set_processor_state (libardour.so.3)
0000008 ARDOUR::Route::set_state (libardour.so.3)
0000009 ARDOUR::Track::set_state (libardour.so.3)
0000010 ARDOUR::MidiTrack::set_state (libardour.so.3)
0000011 ARDOUR::Session::XMLRouteFactory (libardour.so.3)
0000012 ARDOUR::Session::load_routes (libardour.so.3)
0000013 ARDOUR::Session::set_state (libardour.so.3)
0000014 ARDOUR::Session::post_engine_init (libardour.so.3)

## Note
The crash occurs even with state-dir="" set in all LV2 plugin
nodes in the session XML. The NULL pointer originates from liblilv
when handling plugins that declare LV2 state properties
(Controllable nodes with property= attribute in session XML).
Upgrading liblilv from 0.24.22 to 0.26.4 (with zix 0.6.2,
serd 0.32.8, sord 0.16.22) resolves the crash completely.
TagsNo tags attached.

Activities

x42

2026-03-09 23:41

administrator   ~0030085

There is nothing we can do about this. The issue has been fixed upstream at https://gitlab.com/lv2/lilv
and builds from Ardour from https://community.ardour.org/download are not affected.

Best you can do is file a bug report with your distro.

Issue History

Date Modified Username Field Change
2026-03-09 22:33 vediovis New Issue
2026-03-09 23:41 x42 Note Added: 0030085