Skip to content

Client crash on MIDI mixdown when using multiple connections #46

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

Closed
falkTX opened this issue Dec 21, 2013 · 5 comments
Closed

Client crash on MIDI mixdown when using multiple connections #46

falkTX opened this issue Dec 21, 2013 · 5 comments

Comments

@falkTX
Copy link
Member

falkTX commented Dec 21, 2013

I'm having a crash (assertion failure) in latest git jack2 code.

it crashes during jack_port_get_buffer function.
Running the app normally prints to terminal:
jack_midi_dump: ../common/JackMidiPort.cpp:130: void Jack::MidiBufferMixdown(void*, void**, int, jack_nframes_t): Assertion next_event != 0' failed.and through GDB:0x00007ffff6af2302 in __GI___assert_fail (assertion=0x7fffe92e8fbb "next_event != 0", file=0x7fffe92e8fa0 "../common/JackMidiPort.cpp", line=130, function=0x7fffe92e8fe0 "void Jack::MidiBufferMixdown(void*, void**, int, jack_nframes_t)") at assert.c:101`

I was able to get a simple test for the crash (in Linux).

1. run any kind of jack-midi generator (sequencer, keyboard, etc)
2. run another client that has jack-midi-out, but this one doesn't need to output any events.
(I'm using "jack_midiseq EmptySequencer 1 24000 0 60")
3. run "jack_midi_dump" twice
4. connect the midi generator out port to both midi-monitor in ports, same thing for midiseq
5. generate/play some events for a few seconds

a single or both jack_midi_dump tools will abort due to an assertion failure.

@falkTX
Copy link
Member Author

falkTX commented Dec 21, 2013

scr309

screenshot of the connections required for the crash

@sletz
Copy link
Member

sletz commented Dec 21, 2013

Dmitry Baikov wrote this code… back in 2007. Not sure he even read this list anymore.

Any way for you to debug the code yourself with the test case you have?

Stéphane

Le 21 déc. 2013 à 05:41, falkTX notifications@github.com a écrit :

I'm having a crash (assertion failure) in latest git jack2 code.

it crashes during jack_port_get_buffer function.
Running the app normally prints to terminal:
jack_midi_dump: ../common/JackMidiPort.cpp:130: void Jack::MidiBufferMixdown(void_, void__, int, jack_nframes_t): Assertion `next_event != 0' failed.
and through GDB:
0x00007ffff6af2302 in _GI___assert_fail (assertion=0x7fffe92e8fbb "next_event != 0", file=0x7fffe92e8fa0 "../common/JackMidiPort.cpp", line=130, function=0x7fffe92e8fe0 "void Jack::MidiBufferMixdown(void, void**, int, jack_nframes_t)") at assert.c:101

I was able to get a simple test for the crash (in Linux).

  1. run any kind of jack-midi generator (sequencer, keyboard, etc)
  2. run another client that has jack-midi-out, but this one doesn't need to output any events.
    (I'm using "jack_midiseq EmptySequencer 1 24000 0 60")
  3. run "jack_midi_dump" twice
  4. connect the midi generator out port to both midi-monitor in ports, same thing for midiseq
  5. generate/play some events for a few seconds

a single or both jack_midi_dump tools will abort due to an assertion failure.


Reply to this email directly or view it on GitHub.

@falkTX
Copy link
Member Author

falkTX commented Dec 22, 2013

I'll build jack2 in debug mode and see what I can find about this.
I'm not sure what's the best way to debug this though, any tips?

@7890
Copy link
Contributor

7890 commented Jan 15, 2019

@falkTX the described setup seems to work (now) as expected in jackd 1.9.12, please confirm.

@falkTX
Copy link
Member Author

falkTX commented Jan 15, 2019

Ah yes, this was handled in fb87a14
assert in a library used by others is not very nice..

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

3 participants