MIDI (script?) crash in Linux on ALSA

Bug #374665 reported by Sean M. Pappalardo
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
High
RJ Skerry-Ryan
1.7
Fix Released
High
RJ Skerry-Ryan

Bug Description

Using the 1.7 branch (post beta1) on Debian Squeeze on a Celeron D 2.53GHz system. Using a Stanton SCS.1m controller with scripting and ALSA as the sound system and MIDI engine.

While just manipulating the controller (happened once while moving the pitch slider, another time moving the cross fader) the following crash occurred (note thread 8.)

This all is while using the SCS.1 support in FFADO trunk (what will be v2.1).

Related branches

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :
Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

I should mention I'm using this controller via the experimental SCS->ALSA support in FFADO trunk.

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :
description: updated
tags: added: ffado firewire hss1394 scs scs.1 scs.1d scs.1m
Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

Attached is another crash on start-up loading the data from MixxxMidiBindings.xml for the SCS.1m. I got it to this state doing the following:
1) Plug in SCS.1m and SCS.3d
2) Start FFADO's test-scs
3) Start Mixxx
4) select the SCS.3d & load its mapping
5) load a song, start playing, verify feedback on the SCS.3d. All was well
6) with the song still playing, switch to the SCS.1m & load its mapping. Song stopped.
7) Operated the SCS.1m, started a song playing, all was well.
8) Back to prefs, switched to the SCS.3d with song still playing, leaving the .1m mapping. (Trying to see if it was sending feedback.) Feedback seen on the SCS.3d, though incorrect of course
9) Closed Mixxx. (I don't remember if it crashed then or not.)
10) Started Mixxx again and it crashed. Log & backtrace are attached.

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

Right after that, I ended test-scs & restarted Mixxx. It started fine. I started test-scs again and restarted Mixxx, still fine. So some sort of race condition?

Changed in mixxx:
status: New → Triaged
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

After a look at the backtrace and then MidiMapping, it's clear what's going on here. MidiMapping is not thread safe, yet two different threads are using it. MidiObject::receive() uses it to lookup what controls are mapped to what MIDI messages, and the GUI is using it to load/reload MIDI presets. Those should be mutually exclusive processes.

Changed in mixxx:
assignee: nobody → RJ Ryan (rryan)
Changed in mixxx:
importance: Critical → High
milestone: 1.7.0 → none
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Just committed a fix -- lp:mixxx/1.7 r2453

Pegasus tested it and says that it did not crash like before, so I'm marking it fix committed.

RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Triaged → Fix Committed
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/5168

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.