Ive now established that 5.1.1.0 is crashing MIDIServer on OS X 10.9.5 and 10.10.3.
This includes crashing on a brand new Mac Book Pro, which has NO other software/drivers/hardware on it (other than supplied by Apple pre-installed)
(tested with a TI Keyboard mk1), and also on an iMac which was working perfectly with 5.1.0.0
Note: this only affects 5.1.1.0, 5.1.0.0 and prior do NOT exhibit this issue.
Ive reported this to support @ access, but Im repeating here for information purposes, and to see how widespread a problem it is, and why you might see issues with this version of the driver, and Id suggest if you see this issue, then report it to Access (as they told me it was not a known issue), and perhaps mention on this thread.
Causes of crash:
a) Rescan MIDI - 100%
b) Put Virus TI into standby - 100%
c) adding new USB devices - sometimes
d) exiting midi applications (DAW) - sometimes
Implications:
Crashing the MIDIServer process will halt ALL midi activity, and will not be restarted until a new MIDI enabled application is started. (eg. a DAW)
In practice this means, you loose midi until you restart you DAW, this is how I first noticed the issue, as I plugged in a new USB midi device (case c) , and lost all midi.
also some daws may have other issues, apparently unrelated, but caused by suddenly losing all midi devices, which would be pretty 'unexpected'.
(Ive never seen midi server crash, prior to this driver issue)
I think it is a pretty serious bug.
How can you see if its affecting you:
start the Console App (Utilities/Console)
then under "Diagnostics and Usage information" ,
then User Diagnostic reports, look for something beginning with MIDIServer
e.g. MIDIServer_2015-05-14-165356_bear.crash(the name includes the date and time of the crash)
If you click on it, if its the virus driver (de.access-music.virusti.driver.midi) crashing you will see the
Thread 0 crashed, and a line like:
1 de.access-music.virusti.driver.midi 0x00000001022ad45f 0x1022aa000 + 13407
(a fuller example of the crash report is shown at the bottom of this post)
Replacing (just) the midi driver with 5.1.0.0 fixes the issues
Finally today, I have proved this is the 5.1.1.0 Midi driver....
I took the virus midi driver (only) supplied in 5.1.0.0, and replaced the one installed in 5.1.1.0
and surprise, surprise (not!)... it fixes the problem, and still works with VC/audio interface etc
(don't try this ... Im a developer and I know what I'm doing etc., wait for a fix from Access :))
other notes:
I noted that @Marc said, in a post on this forum, that 5.1.1.0 and 5.1.0.0 were identical for the Mac ( a little secret, only the pc version changed, he said ) ,
I think this was mistake caused by a small version management issue by the developers of the midi driver.
the driver in 5.1.1.0 has been in labelled as 1.8.0.0 (info string), but crucial in areas (mis)labelled as 1.7.0.0 (bundle info), as a change, it should have had its version number increased to 1.8.0.0
the 1.7.0.0 driver is the driver supplied by 5.1.0.0, and its build tags and binary size are different (and has been demonstrated, its behaviour), so its definitely not the same build/driver version.
as I mentioned on the other thread, I suspect 1.8 (5.1.1.0) aimed to fix a sleep related bug, but unfortunately has introduced a more severe bug.
technical info:
you can see the cause of the crash is a SIGTRAP, caused in CFRelease, due to CFRelease being called with NULL.
this is completely correct! Apple clearly states in the SDK documentation for CFRelease
void CFRelease ( CFTypeRef cf );
....
Special Considerations
If cf is NULL, this will cause a runtime error and your application will crash.
(https://developer.apple.com/li…pple_ref/c/func/CFRelease)
there is some additional info, on the original post I made about this on a different thread : Virus TI 5.1.1 Ableton 9.1 and Push
example crash report (part of)
trace will vary slightly depending upon which case (as detailed above) causes the crash, but the top two lines for the virus driver are always the same (well the 'code offset' is which is the important bit)
0 com.apple.CoreFoundation 0x00007fff87e77010 CFRelease + 912
1 de.access-music.virusti.driver.midi 0x000000011011545f 0x110112000 + 13407
2 de.access-music.virusti.driver.midi 0x0000000110115d8f 0x110112000 + 15759
- Process: MIDIServer [464]
- Path: /System/Library/Frameworks/CoreMIDI.framework/Versions/A/MIDIServer
- Identifier: MIDIServer
- Version: 145.4
- Code Type: X86-64 (Native)
- Parent Process: ??? [1]
- Responsible: MIDIServer [464]
- User ID: 501
- [b]PlugIn Path: /Library/Audio/MIDI Drivers/Virus TI MIDI Driver.plugin/Contents/MacOS/Virus TI MIDI Driver
- PlugIn Identifier: de.access-music.virusti.driver.midi
- PlugIn Version: 1.7.0.0 (1.7.0.0)[/b]
- Date/Time: 2015-05-15 01:49:25.306 +0200
- OS Version: Mac OS X 10.10.3 (14D136)
- Report Version: 11
- Anonymous UUID: 665D9867-3AE4-9323-18A9-A461293FC483
- Time Awake Since Boot: 1700 seconds
- Crashed Thread: 0 Dispatch queue: com.apple.main-thread
- [b]Exception Type: EXC_BREAKPOINT (SIGTRAP)
- Exception Codes: 0x0000000000000002, 0x0000000000000000[/b]
- Application Specific Information:
- *** CFRelease() called with NULL ***
- Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
- 0 com.apple.CoreFoundation 0x00007fff87e77010 CFRelease + 912
- 1 de.access-music.virusti.driver.midi 0x000000011011545f 0x110112000 + 13407
- 2 de.access-music.virusti.driver.midi 0x0000000110115d8f 0x110112000 + 15759
- 3 de.access-music.virusti.driver.midi 0x000000011011a4c1 0x110112000 + 33985
- 4 de.access-music.virusti.driver.midi 0x000000011011a53f 0x110112000 + 34111
- 5 de.access-music.virusti.driver.midi 0x000000011011b3e3 0x110112000 + 37859
- 6 com.apple.audio.midi.CoreMIDI 0x000000010de897e6 MIDIDriverMgr::StopMIDI() + 36
- 7 com.apple.audio.midi.CoreMIDI 0x000000010de78a52 MIDIServer::_Shutdown() + 180
- 8 com.apple.audio.midi.CoreMIDI 0x000000010de7f343 ___ZL27ScheduleCheckServerShutdownv_block_invoke + 65
- 9 libdispatch.dylib 0x00007fff9581e323 _dispatch_call_block_and_release + 12
- 10 libdispatch.dylib 0x00007fff95819c13 _dispatch_client_callout + 8
- 11 libdispatch.dylib 0x00007fff95826578 _dispatch_after_timer_callback + 77
- 12 libdispatch.dylib 0x00007fff95819c13 _dispatch_client_callout + 8
- 13 libdispatch.dylib 0x00007fff9582487e _dispatch_source_latch_and_call + 721
- 14 libdispatch.dylib 0x00007fff9581d62b _dispatch_source_invoke + 412
- 15 libdispatch.dylib 0x00007fff95825b02 _dispatch_main_queue_callback_4CF + 416
- 16 com.apple.CoreFoundation 0x00007fff87f153f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
- 17 com.apple.CoreFoundation 0x00007fff87ed068f __CFRunLoopRun + 2159
- 18 com.apple.CoreFoundation 0x00007fff87ecfbd8 CFRunLoopRunSpecific + 296
- 19 com.apple.CoreFoundation 0x00007fff87f87671 CFRunLoopRun + 97
- 20 com.apple.audio.midi.CoreMIDI 0x000000010de788e8 MIDIServerRun + 705
- 21 MIDIServer 0x000000010de5fed4 0x10de5f000 + 3796
- 22 libdyld.dylib 0x00007fff8f4d15c9 start + 1