View Issue Details

IDProjectCategoryView StatusLast Update
0004309ardourbugspublic2012-06-22 11:52
Reporterigor_b Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status feedbackResolutionopen 
Target Version3.0 
Summary0004309: Ardour3 crashes on some MIDI input
DescriptionArdour crashes when I press bank/program change buttons on my Korg X50. On a button press, keyboard emits few MIDI messages: 2 CC bank changes, 1 program change, SYSEX message 256 bytes long and two 'unknown' MIDI events (gmidimon screenshot is attached)
TagsNo tags attached.

Activities

2011-09-05 18:02

 

midi_dump1.png (16,691 bytes)   
midi_dump1.png (16,691 bytes)   

cth103

2011-11-15 01:09

administrator   ~0012024

Was the X50 connected to an Ardour track at the time? Were you recording?

igor_b

2011-11-15 08:13

reporter   ~0012030

Yes, X50 was connected to an Ardour track. Crash happens both if recording is going on and also if Ardour is just 'idle'.

igor_b

2012-03-09 17:28

reporter   ~0012888

I updated Ardour to the latest svn version. Bug still exists. Before crashing it reports:
/home/igor/build/ardour3/libs/evoral/evoral/midi_util.h:97: int Evoral::midi_event_size(const uint8_t*): Assertion `(buffer[end] & 0x80) == 0' failed.

paul

2012-06-22 11:47

administrator   ~0013656

the output from your X50 is an illegal MIDI stream.

nevertheless, ardour should probably be able to ignore it.

paul

2012-06-22 11:52

administrator   ~0013657

actually, on reflection, this is probably a bug in the ALSA/JACK MIDI bridge code (whichever one you are using, a2jmidid or something else).

the sysex event is too long to fit into the MIDI buffer, and the bridge splits it across multiple process cycles, which violates the sematics of JACK MIDI.

this bug will likely go away if you specify a much larger MIDI buffer size for JACK with the -M argument. See the man page of jackd for details.

Issue History

Date Modified Username Field Change
2011-09-05 18:02 igor_b New Issue
2011-09-05 18:02 igor_b File Added: midi_dump1.png
2011-09-05 22:26 cth103 cost => 0.00
2011-09-05 22:26 cth103 Target Version => 3.0-beta1
2011-11-15 01:09 cth103 Note Added: 0012024
2011-11-15 01:09 cth103 Status new => feedback
2011-11-15 08:13 igor_b Note Added: 0012030
2011-11-15 15:45 cth103 Target Version 3.0-beta1 => 3.0-beta2
2011-11-20 23:29 cth103 Status feedback => new
2012-01-10 20:46 cth103 Target Version 3.0-beta2 => 3.0-beta3
2012-02-14 17:20 paul Target Version 3.0-beta3 => 3.0 beta4
2012-03-09 17:28 igor_b Note Added: 0012888
2012-05-23 15:09 cth103 Target Version 3.0 beta4 => 3.0
2012-06-22 11:47 paul Note Added: 0013656
2012-06-22 11:52 paul Note Added: 0013657
2012-06-22 11:52 paul Status new => feedback