Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mod-monitor sometimes stuck in an XRUN loop after startup #71

Open
nettings opened this issue Dec 4, 2023 · 1 comment
Open

mod-monitor sometimes stuck in an XRUN loop after startup #71

nettings opened this issue Dec 4, 2023 · 1 comment

Comments

@nettings
Copy link

nettings commented Dec 4, 2023

I'm using mod-host headless on a Raspberry Pi. It is started by systemd, and connections between it and other JACK clients are done with a framework of scripts.
During startup, there is a slight chance (maybe one in 20 or so) that jackd will produce xruns as follows:

JackAudioDriver::ProcessGraphAsyncMaster: Process error
JackEngine::XRun: client = mod-monitor was not finished, state = Triggered
...

These go on forever, hundreds per second. The audio performance of the JACK graph is not affected, though - no audible clicks, just a slighly higher CPU load which may be entirely due to the many log messages.

I have never seen this occur during normal operation, it either happens immediately after initially starting the JACK graph or not at all. I have seen it on Hifiberry soundcards as well as using the built-in PWM sound.

I started seeing this error since mod-monitor is activated by default. What could be the cause?
My particular problem would be solved with command-line option to disable the mod-monitor client...

@falkTX
Copy link
Member

falkTX commented Dec 4, 2023

I have not seen this myself, and the code for monitor process is simple enough https://github.com/moddevices/mod-host/blob/master/src/monitor/monitor-client.c#L144 so not sure how this can happen.

by default volume gain and compressor are not enabled, so the code just does a memcpy or memset depending on the port connections.

would be nice to get to the bottom of this, can you start commenting out code until the xruns go away in reproducible way? if there is some wrong code on the functions used in the monitor part I very much wish to know what went wrong.

thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants