View Issue Details

IDProjectCategoryView StatusLast Update
0006875ardourbugspublic2016-05-18 19:13
Reporterxs Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionno change required 
PlatformKXStudio (ubuntu 14.04) 
Product Version4.7 
Summary0006875: NSM session (re)loading crash
DescriptionAfter creating a initial ardour4 session with about 5 tracks and some lv2 effects, saving and closing is working but reloading hangs.

LOG
Announcement is:
Set cursor set to default
Set buffering params to 262144|131072|10|10
using block size: 8192
mlock 671838 bytes
using block size: 8192
mlock 671838 bytes
using block size: 8192
mlock 671838 bytes
Set buffering params to 262144|131072|10|10
Skip explicit buffer seconds, preset in use
Skip explicit buffer seconds, preset in use
buffersize changed to 128
buffersize changed to 128
buffersize changed to 128
*** Error in `/opt/ardour4/bin/ardour-4.7.0': double free or corruption (out): 0x00007f661c003b80 ***
[1] 7342 abort ardour4 Ardour.nLTMO

STRACE
access("/home/xs/.config/ardour4", F_OK) = 0
stat("/home/xs/.config/ardour4", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/xs/.config/ardour4/recent", O_RDONLY) = 69
fstat(69, {st_mode=S_IFREG|0664, st_size=471, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3cd733c000
read(69, "Ardour\n/home/xs/NSM Sessions/osc"..., 4096) = 471
read(69, "", 4096) = 0
close(69) = 0
munmap(0x7f3cd733c000, 4096) = 0
access("/home/xs/.config/ardour4", F_OK) = 0
stat("/home/xs/.config/ardour4", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/xs/.config/ardour4/recent", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 69
fstat(69, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3cd733c000
write(69, "Ardour\n/home/xs/NSM Sessions/osc"..., 471) = 471
close(69) = 0
munmap(0x7f3cd733c000, 4096) = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f3c7819e000
mprotect(0x7f3c7819e000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f3c7899ddf0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f3c7899e9d0, tls=0x7f3c7899e700, child_tidptr=0x7f3c7899e9d0) = 7702
write(13, "\0", 1) = 1
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87440, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87440, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87440, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87440, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87440, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x4b87420, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x4b87440, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
write(14, "\r\0\0\0", 4) = 4
write(14, "\10\0\0\0", 4) = 4
write(14, "\10\0\0\0", 4) = 4
write(14, "\0\0\0\0", 4) = 4
read(14, "\0\0\0\0", 4) = 4
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f3c577ff000
mprotect(0x7f3c577ff000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f3c57ffedf0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f3c57fff9d0, tls=0x7f3c57fff700, child_tidptr=0x7f3c57fff9d0) = 7703
+++ killed by SIGABRT +++

Strace:
Steps To ReproduceAdd "ardour4" client in a NSM session

Add a Carla host with some cabbage lv2's, do a record ( notes played to carla with seq24 trough a2j midi bridge).

Save, quit and open ardour in the NSM session manager.
TagsNo tags attached.

Activities

x42

2016-05-15 17:38

administrator   ~0018192

I can't reproduce because I have neither Carla nor Cabbage installed and no NSM.

Can you reproduce the issue when re-opening ardour without NSM?

Would you mind getting a backtrace http://ardour.org/debugging_ardour ?

double-free are often indicative of memory corruption, and in many cases those are caused by plugins. If you can reproduce the issue without NSM, how about with `Ardour --disable-plugins`?

xs

2016-05-15 18:24

reporter  

ardour4-gdb (4,222 bytes)   
[New Thread 0x7fff76794700 (LWP 4622)]
buffersize changed to 128
buffersize changed to 128
*** Error in `/opt/ardour4/bin/ardour-4.7.0': double free or corruption (fasttop): 0x00007fff68002220 ***
buffersize changed to 128
buffersize changed to 128

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffc9b55700 (LWP 4619)]
0x00007fffedc49cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007fffedc49cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fffedc4d0d8 in __GI_abort () at abort.c:89
#2  0x00007fffedc86394 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7fffedd94b28 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007fffedc9266e in malloc_printerr (ptr=<optimized out>, str=0x7fffedd94cf0 "double free or corruption (fasttop)", action=1) at malloc.c:4996
#4  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#5  0x00007fff77bff9da in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#6  0x00007fff77c00308 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#7  0x00007fff77c006af in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#8  0x00007fff77c056f2 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#9  0x00007fff77bfeefc in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#10 0x00007fff77c000b5 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#11 0x00007fff77c006af in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#12 0x00007fff77d1d972 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#13 0x00007fff77bfeefc in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#14 0x00007fff77c000b5 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#15 0x00007fff77c006af in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#16 0x00007fff77d2276f in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#17 0x00007fff77bfeefc in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#18 0x00007fff77c000b5 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#19 0x00007fff77c006af in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#20 0x00007fff77d21e9a in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#21 0x00007fff77d226b9 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#22 0x00007fff77bfeefc in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#23 0x00007fff77c000b5 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#24 0x00007fff77bfdf0a in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#25 0x00007fff77bfe0f4 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#26 0x00007fff77bfe932 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#27 0x00007fff77bfe654 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#28 0x00007fff77bfe603 in ?? () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#29 0x00007fff77bfae85 in Convlevel::configure(int, unsigned int, unsigned int, unsigned int, unsigned int) () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#30 0x00007fff77bfb8c7 in Convproc::configure(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#31 0x00007fff77bfa731 in GxSimpleConvolver::configure_stereo(int, float*, unsigned int) () from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#32 0x00007fff77bc74f7 in GxPluginStereo::work(void*, LV2_Worker_Status (*)(void*, unsigned int, void const*), void*, unsigned int, void const*) ()
   from /usr/lib/lv2/gx_amp_stereo.lv2/gx_amp_stereo.so
#33 0x00007ffff7097b1c in ARDOUR::Worker::run() () from /opt/ardour4/lib/libardour.so.3
#34 0x00007ffff560fb72 in ?? () from /opt/ardour4/lib/libglibmm-2.4.so.1
#35 0x00007ffff50b07f5 in ?? () from /opt/ardour4/lib/libglib-2.0.so.0
#36 0x00007ffff0c90182 in start_thread (arg=0x7fffc9b55700) at pthread_create.c:312
#37 0x00007fffedd0d47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

ardour4-gdb (4,222 bytes)   

xs

2016-05-15 18:27

reporter   ~0018194

Last edited: 2016-05-15 18:37

It hangs outside NSM, however not disabling plugins!
I uploaded a backtrace from ardour4 --gdb ( and here https://bpaste.net/raw/b8b871c7dd4b )

You're effectively right, gx_amp_stereo.lv2 is faulty there.
I'm gonna look with guitarix team.

Edit: I created a ticket here https://sourceforge.net/p/guitarix/bugs/32/

xs

2016-05-16 12:14

reporter   ~0018198

Ticket on guitarix is updated.

I reopen the ticket here with more details I ommited:
The bug seems triggered when loading saved parameters in the lv2 plugin.

There's a backtrace from a debug build: https://bpaste.net/raw/f1effb3fcd50 and a full log disabling plugins: https://bpaste.net/raw/1608f4fd680a

xs

2016-05-16 12:14

reporter  

ardour4-disable-pugins (5,765 bytes)   
The program being debugged has been started already.
Start it from the beginning? (y or n) 
Starting program: /home/xs/brx/ardour/build/gtk2_ardour/ardour-4.7.1013 --disable-plugins
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe43a7700 (LWP 9580)]
[New Thread 0x7fffe3ba6700 (LWP 9581)]
[New Thread 0x7fffe33a5700 (LWP 9582)]
[New Thread 0x7fffe2ba4700 (LWP 9583)]
[New Thread 0x7fffe0cec700 (LWP 9584)]
[New Thread 0x7fffd3fff700 (LWP 9585)]
[New Thread 0x7fffd27b5800 (LWP 9586)]
[New Thread 0x7fffd273b700 (LWP 9587)]
[Thread 0x7fffd273b700 (LWP 9587) exited]
[New Thread 0x7fffd1925700 (LWP 9588)]
[New Thread 0x7fffd18a4700 (LWP 9589)]
[Thread 0x7fffd18a4700 (LWP 9589) exited]
[Thread 0x7fffd1925700 (LWP 9588) exited]
[New Thread 0x7fffd1925700 (LWP 9590)]
[New Thread 0x7fffd18a4700 (LWP 9591)]
[Thread 0x7fffd18a4700 (LWP 9591) exited]
[Thread 0x7fffd1925700 (LWP 9590) exited]
[New Thread 0x7fffd273b700 (LWP 9592)]
[New Thread 0x7fffc3bdd700 (LWP 9593)]
[New Thread 0x7fffc2b4c700 (LWP 9594)]
[New Thread 0x7fffc234b700 (LWP 9595)]
[New Thread 0x7fffc1b4a700 (LWP 9596)]
[New Thread 0x7fffc1349700 (LWP 9597)]
[Thread 0x7fffc1b4a700 (LWP 9596) exited]
[Thread 0x7fffc1349700 (LWP 9597) exited]
[Thread 0x7fffc234b700 (LWP 9595) exited]
[Thread 0x7fffd27b5800 (LWP 9586) exited]
[New Thread 0x7fffd1925700 (LWP 9604)]
[New Thread 0x7fffd18a4700 (LWP 9605)]
[New Thread 0x7fffc05a1700 (LWP 9606)]
[New Thread 0x7fffc234b700 (LWP 9607)]
[New Thread 0x7fffc1349700 (LWP 9608)]
[Thread 0x7fffc2b4c700 (LWP 9594) exited]
[Thread 0x7fffc234b700 (LWP 9607) exited]
[New Thread 0x7fffc234b700 (LWP 9609)]
[New Thread 0x7fffc2b4c700 (LWP 9610)]
[New Thread 0x7fffc1b4a700 (LWP 9611)]
[New Thread 0x7fff94ed9700 (LWP 9612)]
[New Thread 0x7fffc035e700 (LWP 9613)]
[New Thread 0x7fffc02dd700 (LWP 9614)]
[New Thread 0x7fffc025c700 (LWP 9615)]
[New Thread 0x7fffc01db700 (LWP 9616)]
[New Thread 0x7fffc0159800 (LWP 9617)]
[New Thread 0x7fff799a0700 (LWP 9618)]
[Thread 0x7fffc234b700 (LWP 9609) exited]
[Thread 0x7fffc1b4a700 (LWP 9611) exited]
[Thread 0x7fffc2b4c700 (LWP 9610) exited]
[Thread 0x7fffc1349700 (LWP 9608) exited]
[New Thread 0x7fffc1349700 (LWP 9619)]
[New Thread 0x7fffc2b4c700 (LWP 9620)]
[New Thread 0x7fffc1b4a700 (LWP 9621)]

Program received signal SIGABRT, Aborted.
0x00007fffeffc4cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
#0  0x00007fffeffc4cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fffeffc80d8 in __GI_abort () at abort.c:89
#2  0x00007fffeffbdb86 in __assert_fail_base (fmt=0x7ffff010e830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7fffe9bce06a "is_digit(c)", file=file@entry=0x7fffe9bcde9c "../src/reader.c", 
    line=line@entry=844, function=function@entry=0x7fffe9bce576 "read_number") at assert.c:92
#3  0x00007fffeffbdc32 in __GI___assert_fail (assertion=0x7fffe9bce06a "is_digit(c)", file=0x7fffe9bcde9c "../src/reader.c", 
    line=844, function=0x7fffe9bce576 "read_number") at assert.c:101
#4  0x00007fffe9bc6f93 in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#5  0x00007fffe9bc7a86 in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#6  0x00007fffe9bc7d18 in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#7  0x00007fffe9bc7e79 in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#8  0x00007fffe9bc7889 in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#9  0x00007fffe9bc7a2c in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#10 0x00007fffe9bc7d57 in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#11 0x00007fffe9bc7e79 in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#12 0x00007fffe9bc83fd in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#13 0x00007fffe9bc876f in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#14 0x00007fffe9bc87bc in ?? () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#15 0x00007fffe9bc8f12 in serd_reader_read_file_handle () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#16 0x00007fffe9bc8c6b in serd_reader_read_file () from /usr/lib/x86_64-linux-gnu/libserd-0.so.0
#17 0x00007ffff0b84ad1 in lilv_world_load_resource () from /usr/lib/liblilv-0.so.0
#18 0x00007ffff6bcbd1d in ARDOUR::LV2PluginInfo::get_presets (this=0x8271700) at ../libs/ardour/lv2_plugin.cc:2935
#19 0x0000000000bca65a in Mixer_UI::sync_treeview_from_favorite_order (this=0x9582f70) at ../gtk2_ardour/mixer_ui.cc:2283
#20 0x0000000000bca15d in Mixer_UI::refill_favorite_plugins (this=0x9582f70) at ../gtk2_ardour/mixer_ui.cc:2247
#21 0x0000000000bc1ee1 in Mixer_UI::set_session (this=0x9582f70, sess=0x1f51ec0) at ../gtk2_ardour/mixer_ui.cc:810
#22 0x00000000006cf451 in ARDOUR_UI::connect_dependents_to_session (this=0x1accde0, s=0x1f51ec0)
    at ../gtk2_ardour/ardour_ui_dependents.cc:121
#23 0x00000000006d3e0f in ARDOUR_UI::set_session (this=0x1accde0, s=0x1f51ec0) at ../gtk2_ardour/ardour_ui_dialogs.cc:178
#24 0x0000000000675ac0 in ARDOUR_UI::load_session (this=0x1accde0, path="/home/xs/zik/ardour/plugin_saves", 
    snap_name="plugin_saves", mix_template="") at ../gtk2_ardour/ardour_ui.cc:3424
#25 0x0000000000674df9 in ARDOUR_UI::get_session_parameters (this=0x1accde0, quit_on_cancel=false, should_be_new=false, 
    load_template="") at ../gtk2_ardour/ardour_ui.cc:3247
#26 0x000000000066a9ee in ARDOUR_UI::starting (this=0x1accde0) at ../gtk2_ardour/ardour_ui.cc:1065
#27 0x00007ffff759453c in Gtkmm2ext::UI::run (this=0x1accde0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:281
#28 0x0000000000afeb6f in main (argc=2, argv=0x7fffffffd738) at ../gtk2_ardour/main.cc:400
ardour4-disable-pugins (5,765 bytes)   

xs

2016-05-16 12:15

reporter  

bt_ardour_configure_gx_amp (3,796 bytes)   
#0  0x00007fffeffc4cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fffeffc80d8 in __GI_abort () at abort.c:89
#2  0x00007ffff0001394 in __libc_message (do_abort=do_abort@entry=1,
    fmt=fmt@entry=0x7ffff010fb28 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff000d66e in malloc_printerr (ptr=<optimized out>, str=0x7ffff010fc58 "double free or corruption (out)",
    action=1) at malloc.c:4996
#4  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#5  0x00007fff943068ca in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#6  0x00007fff943071f8 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#7  0x00007fff9430759f in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#8  0x00007fff94428e58 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#9  0x00007fff94429432 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#10 0x00007fff94305dec in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#11 0x00007fff94306fa5 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#12 0x00007fff9430759f in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#13 0x00007fff94428d8a in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#14 0x00007fff94429432 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#15 0x00007fff94305dec in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#16 0x00007fff94306fa5 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#17 0x00007fff9430759f in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#18 0x00007fff94307635 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#19 0x00007fff94425b87 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#20 0x00007fff94305dec in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#21 0x00007fff94306fa5 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#22 0x00007fff94304fe4 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#23 0x00007fff943056b0 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#24 0x00007fff943054c4 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#25 0x00007fff94305473 in ?? () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#26 0x00007fff94301d97 in Convlevel::configure(int, unsigned int, unsigned int, unsigned int, unsigned int) ()
   from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#27 0x00007fff943027b7 in Convproc::configure(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#28 0x00007fff943013ef in GxSimpleConvolver::configure(int, float*, unsigned int) () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#29 0x00007fff942d8067 in GxPluginMono::work(void*, LV2_Worker_Status (*)(void*, unsigned int, void const*), void*, unsigned int, void const*) () from /usr/lib/lv2/gx_amp.lv2/gx_amp.so
#30 0x00007ffff6bc59ed in ARDOUR::LV2Plugin::work (this=0x9129890, size=1, data=0x7fff6c001120)
    at ../libs/ardour/lv2_plugin.cc:1771
#31 0x00007ffff6bbc53d in ARDOUR::Worker::run (this=0x8203570) at ../libs/ardour/worker.cc:166
#32 0x00007ffff6bbcf94 in sigc::bound_mem_functor0<void, ARDOUR::Worker>::operator() (this=0x912bde8)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#33 0x00007ffff6bbceda in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::Worker> >::operator() (this=0x912bde0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#34 0x00007ffff6bbcdaf in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::Worker>, void>::call_it (
    rep=0x912bdb0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#35 0x00007ffff49e711d in ?? () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#36 0x00007ffff42b4f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff1636182 in start_thread (arg=0x7fff5bfff700) at pthread_create.c:312
#38 0x00007ffff008847d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
bt_ardour_configure_gx_amp (3,796 bytes)   

x42

2016-05-16 13:16

administrator   ~0018199

probably https://github.com/FFTW/fftw3/issues/16 (causing memory corruption)

It's fine when adding plugins one at a time but when loading a session there'll be concurrency issue and undefined behavior.

xs

2016-05-16 13:26

reporter   ~0018200

Guitarix is rebuilt with ffmpeg instead of fftw3.

There's the segfault (bt attached) clicking the save preset button but on certain conditions. Maybe that's a better view of the problem now.

I'm gonna look at your issue on fftw for understanding a bit more.

Thanks you

xs

2016-05-16 13:26

reporter  

save_preset_segfault (3,076 bytes)   
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff69b2018 in ARDOUR::Plugin::remove_preset (this=0x8b70b10, name="to_remove") at ../libs/ardour/plugin.cc:125
125             if (!p->user) {
(gdb) bt
#0  0x00007ffff69b2018 in ARDOUR::Plugin::remove_preset (this=0x8b70b10, name="to_remove") at ../libs/ardour/plugin.cc:125
#1  0x0000000000cd516c in PlugUIBase::save_plugin_setting (this=0x2031c50) at ../gtk2_ardour/plugin_ui.cc:623
#2  0x0000000000cd987a in sigc::bound_mem_functor0<void, PlugUIBase>::operator() (this=0x3435318)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#3  0x0000000000cd90ba in sigc::adaptor_functor<sigc::bound_mem_functor0<void, PlugUIBase> >::operator() (this=0x3435310)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#4  0x0000000000cd87bb in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, PlugUIBase>, void>::call_it (
    rep=0x34352e0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#5  0x00000000006539bf in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x82c0f00)
    at /usr/include/sigc++-2.0/sigc++/signal.h:776
#6  0x0000000000656064 in sigc::signal0<void, sigc::nil>::emit (this=0x2032138)
    at /usr/include/sigc++-2.0/sigc++/signal.h:2673
#7  0x00000000006553c6 in sigc::signal0<void, sigc::nil>::operator() (this=0x2032138)
    at /usr/include/sigc++-2.0/sigc++/signal.h:2681
#8  0x0000000000651d8a in ArdourButton::on_button_release_event (this=0x20320b0, ev=0x916f490)
    at ../gtk2_ardour/ardour_button.cc:778
#9  0x00007ffff2a3e994 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) ()
   from /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#10 0x00007ffff3d37815 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#11 0x00007ffff47643b8 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff4775afb in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff477d6f9 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff477dce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff3e47684 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#16 0x00007ffff3d35fc4 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#17 0x00007ffff3d3637b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#18 0x00007ffff39b03ec in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#19 0x00007ffff428fe04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff4290048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff429030a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff3d35447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#23 0x00007ffff759455a in Gtkmm2ext::UI::run (this=0x1ae2ef0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:286
#24 0x0000000000afeb6f in main (argc=1, argv=0x7fffffffd758) at ../gtk2_ardour/main.cc:400
save_preset_segfault (3,076 bytes)   

xs

2016-05-18 19:13

reporter   ~0018206

Hello there,
I follow back my reply on guitarix's SF

>Hello,
>
>I was unable to reproduce too with or without --convolver-ffmpeg. So i've reinstalled the packaged version from KXStudio, tried again and then it crashed, as I get initially.
>
>The makefile for that package only configures with --no-faust. I'm gonna ask falktx@ what he think about the bug.
>
>Thanks you very much sirs, I've learned lot of good things!
>
>Best regards.
>
>PS: Can you please close the ticket at SF.

Thanks you !

Issue History

Date Modified Username Field Change
2016-05-15 17:04 xs New Issue
2016-05-15 17:38 x42 Note Added: 0018192
2016-05-15 18:24 xs File Added: ardour4-gdb
2016-05-15 18:27 xs Note Added: 0018194
2016-05-15 18:37 xs Note Edited: 0018194
2016-05-15 18:52 xs Status new => closed
2016-05-15 18:52 xs Resolution open => no change required
2016-05-16 12:14 xs Note Added: 0018198
2016-05-16 12:14 xs Status closed => feedback
2016-05-16 12:14 xs Resolution no change required => reopened
2016-05-16 12:14 xs File Added: ardour4-disable-pugins
2016-05-16 12:15 xs File Added: bt_ardour_configure_gx_amp
2016-05-16 13:16 x42 Note Added: 0018199
2016-05-16 13:26 xs Note Added: 0018200
2016-05-16 13:26 xs Status feedback => new
2016-05-16 13:26 xs File Added: save_preset_segfault
2016-05-18 19:13 xs Note Added: 0018206
2016-05-18 19:13 xs Status new => closed
2016-05-18 19:13 xs Resolution reopened => no change required