Closed x42 closed 2 years ago
and another crash:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __GI___libc_free (mem=0x2) at malloc.c:2929
2929 malloc.c: No such file or directory.
(gdb) bt
Thread 1 (Thread 0x7fbca2190a00 (LWP 872)):
#0 __GI___libc_free (mem=0x2) at malloc.c:2929
#1 0x00007fbc3a37c8cd in cleanupRevdelay () from /usr/local/lib/lv2/revdelay-swh.lv2/plugin-Linux.so
#2 0x00007fbc9bf6d3f6 in lilv_instance_free (instance=0x226efbf0) at ../lilv/src/instance.c:120
#3 0x00007fbca129e08d in ARDOUR::LV2Plugin::cleanup() () from ./../build/libs/ardour/libardour.so.3
#4 0x00007fbca129faed in ARDOUR::LV2Plugin::~LV2Plugin() () from ./../build/libs/ardour/libardour.so.3
...
Great, thanks.
I'm not ignoring you BTW, just crazy busy!
No problem. It's similar here, otherwise I'd have added a patch. Just as long as it's not forgotten long term.
similar issue here, crash during cleanup of highpass filter
backtrace
??? unknown
./util/iir.h (free_iirf_t:69)
plugins/highpass_iir-swh.lv2/plugin.c (cleanupHighpass_iir:23)
??? lilv_instance_free from /usr/lib/liblilv-0.so.0(+0x64d0)[0x5c2c000]
../src/plugins/lv2_plugin.c (lv2_plugin_cleanup:3239)
valgrind
==2590932== Use of uninitialised value of size 8
==2590932== at 0x6B4DC143: free_iirf_t (iir.h:69)
==2590932== by 0x6B4DC143: cleanupHighpass_iir (plugin.c:23)
==2590932== by 0x5C324E3: lilv_instance_free (in /usr/lib/liblilv-0.so.0.24.12)
==2590932== by 0xA672E7: lv2_plugin_cleanup (lv2_plugin.c:3239)
==2590932== by 0xA6B85F: plugin_cleanup (plugin.c:1221)
==2590932== by 0xA6D9DB: plugin_clone (plugin.c:2199)
==2590932== by 0x9D56CA: do_or_undo_move_or_copy.lto_priv.0 (mixer_selections_action.c:806)
==2590932== by 0x9D6715: do_or_undo.lto_priv.1 (mixer_selections_action.c:1058)
==2590932== by 0x9D6783: mixer_selections_action_do (mixer_selections_action.c:1076)
==2590932== by 0x9E0139: undoable_action_do (undoable_action.c:289)
==2590932== by 0x9E158D: do_or_undo_action (undo_manager.c:99)
==2590932== by 0x9E1E4C: undo_manager_perform (undo_manager.c:252)
==2590932== by 0xB4E81C: on_drag_data_received.lto_priv.1 (channel_slot.c:304)
==2590932==
==2590932== Invalid read of size 4
==2590932== at 0x6B4DC143: free_iirf_t (iir.h:69)
==2590932== by 0x6B4DC143: cleanupHighpass_iir (plugin.c:23)
==2590932== by 0x5C324E3: lilv_instance_free (in /usr/lib/liblilv-0.so.0.24.12)
==2590932== by 0xA672E7: lv2_plugin_cleanup (lv2_plugin.c:3239)
==2590932== by 0xA6B85F: plugin_cleanup (plugin.c:1221)
==2590932== by 0xA6D9DB: plugin_clone (plugin.c:2199)
==2590932== by 0x9D56CA: do_or_undo_move_or_copy.lto_priv.0 (mixer_selections_action.c:806)
==2590932== by 0x9D6715: do_or_undo.lto_priv.1 (mixer_selections_action.c:1058)
==2590932== by 0x9D6783: mixer_selections_action_do (mixer_selections_action.c:1076)
==2590932== by 0x9E0139: undoable_action_do (undoable_action.c:289)
==2590932== by 0x9E158D: do_or_undo_action (undo_manager.c:99)
==2590932== by 0x9E1E4C: undo_manager_perform (undo_manager.c:252)
==2590932== by 0xB4E81C: on_drag_data_received.lto_priv.1 (channel_slot.c:304)
==2590932== Address 0x8 is not stack'd, malloc'd or (recently) free'd
Sorry no debug-build, but this really smells like some uninitialized pointer variable. If needed I can do with a debug build, but really just
calloc
allocate the instance ormemset
will solve this.lowpass_iir-swh.lv2 has a similar issue (no crash), valgrind reports