• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: More MIDI sysex problems
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More MIDI sysex problems


  • Subject: Re: More MIDI sysex problems
  • From: Doug Wyatt <email@hidden>
  • Date: Sat, 5 Jan 2002 13:49:07 -0800

On Saturday, January 5, 2002, at 04:14 , Kurt Revis wrote:
By the way, here's another bug (or undocumented limitation, take your pick):

When using MIDISend(), if your packet list has one packet, and the packet list is greater than 1054 bytes in size, you will crash or hang the MIDIServer process, and any further calls to CoreMIDI functions will hang your app (and any others using CoreMIDI). MIDISend() won't return an error. Using more packets doesn't make a big difference (I tried with 50 packets in a packet list, and didn't crash until I got to 1059 bytes of total packet list size).

I'm guessing that there's an internal 1024-byte buffer that's getting overrun. When MIDIServer crashes, the backtrace in the crashed thread looks pretty messed up (more so depending if your packet list is longer).

Yes, I recently found and fixed this ... (2830198 which you probably won't be able to see externally).

The obvious workaround is to split up sends into more packet lists, or use MIDISendSysex(). Inconvenient, but that's how it goes.

The good news is that as of 10.1.2 the IPC mechanism was rewritten and there is no longer a significant performance difference between sending one large vs. multiple small packetlists via MIDISend.

I just submitted this as bug #2836647. Hopefully this info will save somebody else some time.

Thanks for investigating and documenting this for others ...

Doug

--
Doug Wyatt
work: email@hidden
personal: email@hidden http://www.sonosphere.com

Synchronicity, 16 Jan 2001:
"Example is more important than precept."
-- fortune cookie
"Religion is the life we lead, not the creed we profess."
-- sign on Unitarian church passed 5 minutes later


  • Follow-Ups:
    • Re: More MIDI sysex problems
      • From: "E. Tejkowski" <email@hidden>
References: 
 >Re: More MIDI sysex problems (From: Kurt Revis <email@hidden>)

  • Prev by Date: Re: More MIDI sysex problems
  • Next by Date: Re: More MIDI sysex problems
  • Previous by thread: Re: More MIDI sysex problems
  • Next by thread: Re: More MIDI sysex problems
  • Index(es):
    • Date
    • Thread