Looking for experienced bug catchers

I’m looking for some patient, friendly module developer to privately consult and help me to catch a bug. My (unreleased) module crashes VCV after pressing Ctrl-R a few times.

The module is very basic (as is the error probably). On the other hand my coding skills are pretty weak… So that’s the challenge.

RouteSeq code is here. Log.txt quote is below:

[19.203 info src/app/Browser.cpp:89 chooseModel] Creating module Yolow RouteSeq
[19.203 info src/app/Browser.cpp:93 chooseModel] Creating module widget Yolow RouteSeq
[26.886 fatal adapters/standalone.cpp:48 fatalSignalHandler] Fatal signal 22. Stack trace:
19:  0x0
18: raise 0x7ffe70e2abe0
17: abort 0x7ffe70e2f1e0
16: ZN9TrigPrec6D1Ev 0x7ffdf45a9030
15: ZN10SaveMeMoreD1Ev 0x7ffdf4524530
14: ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev 0x7ffdf46330b0
13: ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PyS9_EN11_Save_errnoD1Ev 0x7ffdf46582f0
12: ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PyS9_EN11_Save_errnoD1Ev 0x7ffdf46582f0
11: ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev 0x7ffdf4629020
10: ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev 0x7ffdf4629020
9: ZN8RouteSeq7processERKN4rack6engine6Module11ProcessArgsE 0x7ffdf4596ff0
8: ZN4rack6engine6Module9doProcessERKNS1_11ProcessArgsE 0x7ffe0b90f0d0
7: ZN4rack6engine6Engine9stepBlockEi 0x7ffe0b90a420
6: ZN4rack6engine6Engine9stepBlockEi 0x7ffe0b90a420
5: atomic_flag_test_and_set_explicit 0x7ffe2b8c11d0
4: pthread_create_wrapper 0x7ffe672d4c20
3: beginthreadex 0x7ffe70e3ae30
2: endthreadex 0x7ffe70e3af80
1: BaseThreadInitThunk 0x7ffe71a77600
0: RtlUserThreadStart 0x7ffe72c82680

it crashes at src/RouteSeq.cpp:130 i guess here some index may be out of range

paramQuantities[CHANNEL_SELECTOR_1_PARAM+p]->description = ("Without cable: " + valNotes[(int)paramVal[CHANNEL_SELECTOR_1_PARAM+p]]);
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff7180859 in __GI_abort () at abort.c:79
#2  0x00007ffff75fe56f in __gnu_cxx::__verbose_terminate_handler() [clone .cold] () from ./libRack.so
#3  0x00007ffff7b592ac in __cxxabiv1::__terminate(void (*)()) () from ./libRack.so
#4  0x00007ffff7b59317 in std::terminate() () from ./libRack.so
#5  0x00007ffff7b59479 in __cxa_throw () from ./libRack.so
#6  0x00007ffff75fe512 in operator new(unsigned long) [clone .cold] () from ./libRack.so
#7  0x00007ffff7bd9620 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long) () from ./libRack.so
#8  0x00007ffff4ef6757 in std::operator+<char, std::char_traits<char>, std::allocator<char> > (__rhs="", __lhs=0x7ffff4f46032 "Without cable: ")
    at /usr/include/c++/9/bits/char_traits.h:300
#9  RouteSeq::process (this=0x55555d0db3e0, args=...) at src/RouteSeq.cpp:130
#10 0x00007ffff775dd29 in rack::engine::Module::doProcess (this=0x55555d0db3e0, args=...) at src/engine/Module.cpp:345
#11 0x00007ffff7757082 in rack::engine::Engine_stepWorker (that=0x5555560b4910, threadId=0) at src/engine/Engine.cpp:331
#12 rack::engine::Engine_stepFrame (that=<optimized out>) at src/engine/Engine.cpp:403
#13 rack::engine::Engine::stepBlock (this=<optimized out>, frames=<optimized out>) at src/engine/Engine.cpp:561
#14 0x00007ffff7690e23 in rack::audio::Device::processBuffer (this=0x55555622bf00, input=0x5555567af320, inputStride=6, output=0x5555567a6e50, outputStride=6, frames=256)
    at src/audio.cpp:45
#15 0x00007ffff768c716 in rack::RtAudioDevice::rtAudioCallback (outputBuffer=0x5555567a6e50, inputBuffer=0x5555567af320, nFrames=256, streamTime=<optimized out>, 
    status=<optimized out>, userData=0x55555622bf00) at src/rtaudio.cpp:213
#16 0x00007ffff7b41bad in RtApiJack::callbackEvent (nframes=<optimized out>, this=0x5555567acfe0) at /home/docb/git/Rack2.3/dep/rtaudio/RtAudio.cpp:2758
#17 RtApiJack::callbackEvent (this=0x5555567acfe0, nframes=256) at /home/docb/git/Rack2.3/dep/rtaudio/RtAudio.cpp:2716
#18 0x00007ffff7b41ec5 in jackCallbackHandler (nframes=<optimized out>, infoPointer=<optimized out>) at /home/docb/git/Rack2.3/dep/rtaudio/RtAudio.cpp:2234
#19 0x00007ffff6f78ac2 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#20 0x00007ffff6f78228 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#21 0x00007ffff6f91280 in ?? () from /usr/lib/x86_64-linux-gnu/libjack.so.0
#22 0x00007ffff7143609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#23 0x00007ffff727d133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
3 Likes

:scream:

That’s totally possible! 16!=17 Let me see

Ah, I see! Actually it was right there in front of my eyes!!! Silly me!

Thank you @docB!

1 Like