Mixxx stops receiving data from MIDI controllers when too many messages arrive at once
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
Medium
|
Sean M. Pappalardo | ||
2.1 |
Fix Released
|
Medium
|
Daniel Schürmann |
Bug Description
Testing with a Stanton SCS.1d on Debian 8 Linux where it shows up as a regular but extremely chatty MIDI controller,
if anything happens on my system to cause a slight delay (such as scrolling the library,) and too many MIDI message build up in the receive queue, Mixxx drops the ball and stops responding to the controller at all. It can still send things to the controller and the GUI remains responsive, it just stops getting data from the controller unless I disable and re-enable it.
I'm not sure if this is happening at the PortMIDI or ALSA-MIDI levels instead of Mixxx either. How can I best check?
I just got this, but it was after I stopped execution for a few seconds in gdb then continued:
Expression 'alsa_snd_
Expression 'AlsaStart( stream, 0 )' failed in 'src/hostapi/
Expression 'AlsaRestart( self )' failed in 'src/hostapi/
Expression 'PaAlsaStream_
Expression 'PaAlsaStream_
[Thread 0x7fff8e24a700 (LWP 21672) exited]
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
Found that MIXXX_PORTMIDI_ BUFFER_ LEN was set too low at 64. After setting it to 1024 and letting Mixxx run for awhile and doing latency-inducing actions (like switching to a text console,) the highest number of queued events was 135, so I'm going to propose setting it to 256.