# Possible bug in SysEx input code

**URL:** <https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871>\
**Category:** Windows\
**Created:** [July 5, 2007, 8:34pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871 "2007-07-05T20:34:51Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![snortblt](https://avatars.discourse-cdn.com/v4/letter/s/c68b51/32.png) [@snortblt](https://forum.juce.com/u/snortblt)\
**Post date:** [July 5, 2007, 8:34pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/1 "2007-07-05T20:34:51Z")

</div>

Hi,

I think there may be a bug in the sysex receive code in juce 1.43. I can receive SysEx messages just fine until I get one that is \>128 bytes long. Then my [color=darkblue]handleIncomingMidiMessage [/color]override gets called with an incomplete message that’s always 128 bytes long (same as juce MIDI’s packet buffer size). Oddly, [color=darkblue]handlePartialSysexMessage[/color] never gets called at all in this scenario, which doesn’t seem to match the documentation. Has anyone successfully handled large sysex messages with juce?

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [July 6, 2007, 8:50am UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/2 "2007-07-06T08:50:01Z")

</div>

Hmm. That code does look a bit old and creaky. Did you hit the assertion in juce\_win32\_Midi at line 158?

---

<div class="post-metadata">

**Author:** ![snortblt](https://avatars.discourse-cdn.com/v4/letter/s/c68b51/32.png) [@snortblt](https://forum.juce.com/u/snortblt)\
**Post date:** [July 6, 2007, 3:52pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/3 "2007-07-06T15:52:07Z")

</div>

No. It just happily provides an incomplete message.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [July 6, 2007, 4:22pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/4 "2007-07-06T16:22:09Z")

</div>

You’re sure you were running it in debug mode? It would certainly have asserted if the buffer overflowed…

---

<div class="post-metadata">

**Author:** ![snortblt](https://avatars.discourse-cdn.com/v4/letter/s/c68b51/32.png) [@snortblt](https://forum.juce.com/u/snortblt)\
**Post date:** [July 6, 2007, 4:25pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/5 "2007-07-06T16:25:31Z")

</div>

Yes. It’s debug mode. Your Thread unhandled exception trap asserts when I throw an exception, so I assume the buffer overflow would assert too.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [July 6, 2007, 4:33pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/6 "2007-07-06T16:33:11Z")

</div>

ah - ok, I think I see the problem. It’s splitting the message but not realising that it’s doing so. I’ll try to come up with a fix for that…

---

<div class="post-metadata">

**Author:** ![snortblt](https://avatars.discourse-cdn.com/v4/letter/s/c68b51/32.png) [@snortblt](https://forum.juce.com/u/snortblt)\
**Post date:** [July 6, 2007, 8:47pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/7 "2007-07-06T20:47:11Z")

</div>

Cool! Thanks for being so responsive.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [May 12, 2017, 3:13pm UTC](https://forum.juce.com/t/possible-bug-in-sysex-input-code/1871/8 "2017-05-12T15:13:37Z")

</div>

Closed on May 12, 2017, 3:13pm UTC


