i don’t know much about coding and debugging but i let Carla crash again by drag and drop the plugin into Carla and looked for a coredump, which i fed in gdb with “thread apply all bt”. This is what gdb spits out:
Fri 2019-12-20 23:10:38 CET 18098 1000 1000 11 present /usr/lib/carla/carla-discovery-native
Fri 2019-12-20 23:11:52 CET 17932 1000 1000 11 present /usr/bin/python3.6
Fri 2019-12-20 23:12:15 CET 18425 1000 1000 11 present /usr/bin/python3.6
toxonic@toxonic-Satellite-L500:~$ coredumpctl gdb 18098
PID: 18098 (carla-discovery)
UID: 1000 (toxonic)
GID: 1000 (toxonic)
Signal: 11 (SEGV)
Timestamp: Fri 2019-12-20 23:10:38 CET (2min 54s ago)
Command Line: /usr/lib/carla/carla-discovery-native VST2 /home/toxonic/.vst/t_glitch.so
Executable: /usr/lib/carla/carla-discovery-native
Control Group: /user.slice/user-1000.slice/session-c2.scope
Unit: session-c2.scope
Slice: user-1000.slice
Session: c2
Owner UID: 1000 (toxonic)
Boot ID: c806400e244341c1b07e56e6387ce356
Machine ID: f3d85c83fd6e458aba76dbf56f683032
Hostname: toxonic-Satellite-L500
Storage: /var/lib/systemd/coredump/core.carla-discovery.1000.c806400e244341c1b07e56e6387ce356.18098.1576879838000000.lz4
Message: Process 18098 (carla-discovery) of user 1000 dumped core.
Stack trace of thread 18098:
#0 0x00007fc9ac136f78 n/a (/home/toxonic/.vst/t_glitch.so)
#1 0x00007fc9ac1375f4 n/a (/home/toxonic/.vst/t_glitch.so)
#2 0x00007fc9ac13637f n/a (/home/toxonic/.vst/t_glitch.so)
#3 0x00007fc9ac11d369 n/a (/home/toxonic/.vst/t_glitch.so)
#4 0x00007fc9ac1107d5 n/a (/home/toxonic/.vst/t_glitch.so)
#5 0x00007fc9ac1111b8 n/a (/home/toxonic/.vst/t_glitch.so)
#6 0x00007fc9abd33c70 n/a (/home/toxonic/.vst/t_glitch.so)
#7 0x00007fc9abcdd5d4 n/a (/home/toxonic/.vst/t_glitch.so)
#8 0x00007fc9abcdd781 n/a (/home/toxonic/.vst/t_glitch.so)
#9 0x0000563c810be4f5 n/a (carla-discovery-native)
#10 0x0000563c810abbe8 n/a (carla-discovery-native)
#11 0x00007fc9acc29b97 __libc_start_main (libc.so.6)
#12 0x0000563c810b172a n/a (carla-discovery-native)
Stack trace of thread 18099:
#0 0x00007fc9ade869f3 futex_wait_cancelable (libpthread.so.0)
#1 0x00007fc9abdd6c0e n/a (/home/toxonic/.vst/t_glitch.so)
#2 0x00007fc9abe5739f n/a (/home/toxonic/.vst/t_glitch.so)
#3 0x00007fc9abe5993d n/a (/home/toxonic/.vst/t_glitch.so)
#4 0x00007fc9abe67f9e n/a (/home/toxonic/.vst/t_glitch.so)
#5 0x00007fc9abe59f3c n/a (/home/toxonic/.vst/t_glitch.so)
#6 0x00007fc9abe5525c n/a (/home/toxonic/.vst/t_glitch.so)
#7 0x00007fc9abe4fc74 n/a (/home/toxonic/.vst/t_glitch.so)
#8 0x00007fc9abcdeff4 n/a (/home/toxonic/.vst/t_glitch.so)
#9 0x00007fc9abdb5bdd n/a (/home/toxonic/.vst/t_glitch.so)
#10 0x00007fc9abdb5cca n/a (/home/toxonic/.vst/t_glitch.so)
#11 0x00007fc9abdd914c n/a (/home/toxonic/.vst/t_glitch.so)
#12 0x00007fc9ade806db start_thread (libpthread.so.0)
#13 0x00007fc9acd2988f __clone (libc.so.6)
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/carla/carla-discovery-native...(no debugging symbols found)...fertig.
Warnung: core file may not match specified executable file.
[New LWP 18098]
[New LWP 18099]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/carla/carla-discovery-native VST2 /home/toxonic/.vst/t_glitch.so'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fc9ac136f78 in juceaudio::prepareToPlay (this=0x563c82019fc0)
at ../../../dsp-faust/DspFaust.cpp:15883
15883 ../../../dsp-faust/DspFaust.cpp: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7fc9ae69b740 (LWP 18098))]
(gdb) thread apply all bt
Thread 2 (Thread 0x7fc992791700 (LWP 18099)):
#0 0x00007fc9ade869f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x563c81fe5bd8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fc9ade869f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x563c81fe5be0, cond=0x563c81fe5bb0) at pthread_cond_wait.c:502
#2 0x00007fc9ade869f3 in __pthread_cond_wait (cond=0x563c81fe5bb0, mutex=0x563c81fe5be0)
at pthread_cond_wait.c:655
#3 0x00007fc9abdd6c0e in juce::WaitableEvent::wait(int) const (this=0x563c81fe5bb0, timeOutMillisecs=-1)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_core/native/juce_posix_SharedCode.h:74
#4 0x00007fc9abe5739f in juce::MessageManager::Lock::BlockingMessage::messageCallback() (this=0x563c81fe5b70)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_events/messages/juce_MessageManager.cpp:276
#5 0x00007fc9abe5993d in juce::InternalMessageQueue::InternalMessageQueue()::{lambda(int)#1}::operator()(int) const (__closure=0x7fc98c000c20, _fd=4)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:50
#6 0x00007fc9abe67f9e in juce::LinuxEventLoop::CallbackFunction<juce::InternalMessageQueue::InternalMessageQueue()::{lambda(int)#1}>::operator()(int) (this=0x7fc98c000c10, fd=4)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_events/native/juce_linux_EventLoop.h:42
---Type <return> to continue, or q <return> to quit---
#7 0x00007fc9abe59f3c in juce::InternalMessageQueue::dispatchNextEvent() (this=0x7fc98c000b90)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:121
#8 0x00007fc9abe5525c in juce::MessageManager::dispatchNextMessageOnSystemQueue(bool) (returnIfNoPendingMessages=true)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:237
#9 0x00007fc9abe4fc74 in juce::MessageManager::runDispatchLoopUntil(int) (this=0x7fc98c000b60, millisecondsToRunFor=250)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_events/messages/juce_MessageManager.cpp:92
#10 0x00007fc9abcdeff4 in SharedMessageThread::run() (this=0x563c82019390)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:233
#11 0x00007fc9abdb5bdd in juce::Thread::threadEntryPoint() (this=0x563c82019390)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_core/threads/juce_Thread.cpp:96
#12 0x00007fc9abdb5cca in juce::juce_threadEntryPoint(void*) (userData=0x563c82019390)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_core/threads/juce_Thread.cpp:118
#13 0x00007fc9abdd914c in juce::threadEntryProc(void*) (userData=0x563c82019390)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_core/native/juce_posix_SharedCode.h:897
---Type <return> to continue, or q <return> to quit---
#14 0x00007fc9ade806db in start_thread (arg=0x7fc992791700) at pthread_create.c:463
#15 0x00007fc9acd2988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7fc9ae69b740 (LWP 18098)):
#0 0x00007fc9ac136f78 in juceaudio::prepareToPlay(int, double) (this=0x563c82019fc0)
at ../../../dsp-faust/DspFaust.cpp:15883
#1 0x00007fc9ac1375f4 in juceaudio::start() (this=0x563c82019fc0) at ../../../dsp-faust/DspFaust.cpp:15934
#2 0x00007fc9ac13637f in FaustPolyEngine::start() (this=0x563c8201b200)
at ../../../dsp-faust/DspFaust.cpp:10288
#3 0x00007fc9ac11d369 in DspFaust::start() (this=0x563c82019878) at ../../../dsp-faust/DspFaust.cpp:22957
#4 0x00007fc9ac1107d5 in T_glitchAudioProcessor::T_glitchAudioProcessor() (this=0x563c82019710)
at ../../Source/PluginProcessor.cpp:27
#5 0x00007fc9ac1111b8 in createPluginFilter() () at ../../Source/PluginProcessor.cpp:286
#6 0x00007fc9abd33c70 in createPluginFilterOfType(juce::AudioProcessor::WrapperType) (type=juce::AudioProcessor::wrapperType_VST)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp:182
#7 0x00007fc9abcdd5d4 in (anonymous namespace)::pluginEntryPoint(Vst2::audioMasterCallback) (audioMaster=0x563c810b3c30)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:2314
#8 0x00007fc9abcdd781 in VSTPluginMain(Vst2::audioMasterCallback) (audioMaster=0x563c810b3c30)
at /home/toxonic/Source Applications/HISE/HISE-scriptnode/JUCE/modules/juce_audio_plugin_client/VST/juce---Type <return> to continue, or q <return> to quit---
_VST_Wrapper.cpp:2373
#9 0x0000563c810be4f5 in ()
#10 0x0000563c810abbe8 in ()
#11 0x00007fc9acc29b97 in __libc_start_main (main=
0x563c810ab400, argc=3, argv=0x7ffff68140a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffff6814098) at ../csu/libc-start.c:310
#12 0x0000563c810b172a in ()
(gdb)
Because of the line…
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fc9ac136f78 in juceaudio::prepareToPlay (this=0x563c82019fc0)
at ../../../dsp-faust/DspFaust.cpp:15883
… i looked it up in DspFaust.cpp, in the following function:
void prepareToPlay(int, double) override
{
const BigInteger activeInputChannels = deviceManager.getCurrentAudioDevice()->getActiveInputChannels();
const BigInteger activeOutputChannels = deviceManager.getCurrentAudioDevice()->getActiveOutputChannels();
const int maxInputChannels = activeInputChannels.getHighestBit() + 1;
const int maxOutputChannels = activeOutputChannels.getHighestBit() + 1;
it is the line:
const BigInteger activeInputChannels = deviceManager.getCurrentAudioDevice()->getActiveInputChannels();
makes me think, it has got something to do with the audio device? any ideas?