I tried mapping the MOD Random CV generator to a Delay feedback or bandpass filter frequency. In both cases, the connection breaks and I get the following error message.
I tried it with the Modulation Generator pedal and the Bandpass filter. Same thing happened.
I am on the 64 bit version of Patchbox.
patch@patchbox:~ $ uname -a
Linux patchbox 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
patch@patchbox:~ $
Scanning through here it looks like some people have made CV control work. What am I missing?
Here’s a more direct question or three.
Have you made CV control work on MODEP?
a) Which OS were you using, 32 or 64 bit? I’m going to try 32-bit but I had to order some extra SD cards as I only had one.
b) Which version of MODEP?
c) Which CV and effect modules did you use?
As a lot of the modules are “work in progress” it’s possible that the developers did not test this aspect of it.
Thx,
DL
Hi, I have same issue when trying to assign any param to CV.
I have: Raspberry pi 3b 1.2, audioinjector zero.
Any change that it will work with Pisound Micro?
Any idea how can I debug it to understand the issue better?
Thanks for any help!
Some logs:
sudo journalctl --unit modep-mod-ui -f
Jul 08 17:58:38 patchbox authbind[5519]: DEBUG:root:[host] popped from queue: cv_map 7 gain effect_15:Cvoutput 0.000000 1.000000 +
Jul 08 17:58:38 patchbox authbind[5519]: DEBUG:root:[host] sending -> cv_map 7 gain effect_15:Cvoutput 0.000000 1.000000 +
Jul 08 17:58:40 patchbox systemd[1]: Stopping modep-mod-ui.service - MOD-UI...
Jul 08 17:58:40 patchbox systemd[1]: modep-mod-ui.service: Deactivated successfully.
Jul 08 17:58:40 patchbox systemd[1]: Stopped modep-mod-ui.service - MOD-UI.
Jul 08 17:58:40 patchbox systemd[1]: modep-mod-ui.service: Consumed 20.833s CPU time.
Jul 08 17:58:40 patchbox systemd[1]: Started modep-mod-ui.service - MOD-UI.
sudo journalctl --unit modep-mod-host -f
Jul 08 17:58:38 patchbox systemd[1]: modep-mod-host.service: Main process exited, code=killed, status=11/SEGV
Jul 08 17:58:38 patchbox systemd[1]: modep-mod-host.service: Failed with result 'signal'.
sudo journalctl --unit jack -f
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = mod-host was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = mod-monitor was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_15 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_14 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_11 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_12 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_7 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_10 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot read socket fd = 18 err = Connection reset by peer
Jul 08 17:58:38 patchbox jackdrc[636]: Could not read notification result
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-host notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 32 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_15 notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 38 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_11 notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 29 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_6 notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 41 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_12 notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 35 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_14 notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 44 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_7 notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 47 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_10 notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 25 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-monitor notification = 18 val1 = 0 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 25 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-monitor notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 47 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_10 notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 44 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_7 notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 35 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_14 notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 41 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_12 notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 29 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_6 notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 38 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_11 notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 32 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = effect_15 notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 18 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-host notification = 18 val1 = 1 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 25 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-monitor notification = 12 val1 = 17 val2 = 11
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 25 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-monitor notification = 12 val1 = 5 val2 = 11
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 18 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-host notification = 10 val1 = 11 val2 = 0
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = mod-monitor was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_6 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_15 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_14 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_11 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_12 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_7 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackEngine::XRun: client = effect_10 was not finished, state = Triggered
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jul 08 17:58:38 patchbox jackdrc[636]: Cannot write socket fd = 18 err = Broken pipe
Jul 08 17:58:38 patchbox jackdrc[636]: CheckRes error
Jul 08 17:58:38 patchbox jackdrc[636]: Could not write notification
Jul 08 17:58:38 patchbox jackdrc[636]: ClientNotify fails name = mod-host notification = 10 val1 = 11 val2 = 0
Pilal
October 19, 2025, 5:42pm
4
This patch did the fix for me. fix-cv-segfault.zip (812 Bytes)
1/ clone mod-host source code
git clone --recurse-submodules https://github.com/BlokasLabs/mod-host.git
cd mod-host
2/ Apply the patch
patch -p1 < /path/to/fix-cv-segfault.patch
3/ Build the new mod-host binary
make -j4
4/ Install the new binary
sudo systemctl stop modep-mod-host modep-mod-ui
sudo cp mod-host /usr/bin/mod-host
sudo systemctl start modep-mod-host modep-mod-ui
You may want to backup the original /usr/bin/mod-host.
upward
January 3, 2026, 9:10pm
5
Thank you so much! will try
Is the issue with &port->cv_source_mutex being inaccessible in ProcessPlugin?
The path did not fix the problem for me. Maybe i have a different problem though? I created a new thread for my specific problem but it seems to be related: Help with 1-to-many MIDI mapping: Assigning a parameter to a Named CV crashes system
Pilal
May 6, 2026, 1:14pm
8
Here is a fix that I applied to the last system i have been playing around with. In the mod-host sources, edit the file src/effects.c.
Find theses lines (should be at line 7135 for the modep fork), line 8371 for the fork i’m using):
} else {
const jack_uuid_t uuid = jack_port_uuid(source_jack_port);
if (!jack_uuid_empty(uuid)) {
char *value_min = NULL;
char *value_max = NULL;
// get values from jack metadata
if (jack_get_property(uuid, LV2_CORE__minimum, &value_min, NULL) == 0 &&
jack_get_property(uuid, LV2_CORE__maximum, &value_max, NULL) == 0)
{
source_has_ranges = true;
source_min_value = atof(value_min);
source_max_value = atof(value_max);
// TODO set and fetch mod-type port here
// find values when client is from mod-host, as fallback
}
else if (!strncmp(source_port_name, "effect_", 7))
{
char effect_str[6];
const char *source_symbol = NULL;
int source_effect_id = -1;
mod_memset(effect_str, 0, sizeof(effect_str));
strncpy(effect_str, source_port_name+7, 5);
for (int i=1; i<6; ++i) {
if (effect_str[i] == '\0')
break;
if (effect_str[i] == ':') {
effect_str[i] = '\0';
source_symbol = source_port_name + (8 + i);
source_effect_id = atoi(effect_str);
break;
}
}
if (source_symbol != NULL && InstanceExist(source_effect_id)) {
const effect_t *source_effect = &g_effects[source_effect_id];
for (uint32_t i = 0; i < source_effect->output_cv_ports_count; ++i)
{
if (!strcmp(source_effect->output_cv_ports[i]->symbol, source_symbol))
{
const port_t *source_port = source_effect->output_cv_ports[i];
source_min_value = source_port->min_value;
source_max_value = source_port->max_value;
if (source_port->hints & HINT_CV_MOD)
source_is_mod_cv = true;
if (source_port->hints & HINT_CV_RANGES)
source_has_ranges = true;
break;
}
}
}
}
if (value_min != NULL)
jack_free(value_min);
if (value_max != NULL)
jack_free(value_max);
}
}
Replace with :
} else if (!strncmp(source_port_name, "effect_", 7)) {
char effect_str[6];
const char *source_symbol = NULL;
int source_effect_id = -1;
mod_memset(effect_str, 0, sizeof(effect_str));
strncpy(effect_str, source_port_name+7, 5);
for (int i=1; i<6; ++i) {
if (effect_str[i] == '\0')
break;
if (effect_str[i] == ':') {
effect_str[i] = '\0';
source_symbol = source_port_name + (8 + i);
source_effect_id = atoi(effect_str);
break;
}
}
if (source_symbol != NULL && InstanceExist(source_effect_id)) {
const effect_t *source_effect = &g_effects[source_effect_id];
for (uint32_t i = 0; i < source_effect->output_cv_ports_count; ++i)
{
if (!strcmp(source_effect->output_cv_ports[i]->symbol, source_symbol))
{
const port_t *source_port = source_effect->output_cv_ports[i];
source_min_value = source_port->min_value;
source_max_value = source_port->max_value;
if (source_port->hints & HINT_CV_MOD)
source_is_mod_cv = true;
if (source_port->hints & HINT_CV_RANGES)
source_has_ranges = true;
break;
}
}
}
} else {
const jack_uuid_t uuid = jack_port_uuid(source_jack_port);
if (!jack_uuid_empty(uuid)) {
char *value_min = NULL;
char *value_max = NULL;
if (jack_get_property(uuid, LV2_CORE__minimum, &value_min, NULL) == 0 &&
jack_get_property(uuid, LV2_CORE__maximum, &value_max, NULL) == 0)
{
source_has_ranges = true;
source_min_value = atof(value_min);
source_max_value = atof(value_max);
}
if (value_min != NULL)
jack_free(value_min);
if (value_max != NULL)
jack_free(value_max);
}
}
Then build most-host and copy the binary file.