View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010240 | ardour | bugs | public | 2026-03-09 22:33 | 2026-03-09 23:41 |
| Reporter | vediovis | Assigned To | |||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | GNU | OS | Linux | OS Version | (any) |
| Product Version | 9.2 | ||||
| Summary | 0010240: 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 Reproduce | 1. 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. | ||||
| Tags | No tags attached. | ||||
|
|
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. |