Weird crash in upcoming Live beta on some M1 Mac Mini's

Has anyone else encountered crashes with his VST or AU plugin in the latest Live beta (which runs natively on Apple silicon now)?

I got a crash log from 1 user running the UB version of my plugin in Live 11.1b7 that shows this (note the assertion at the end):

Process:               Live [1264]
Path:                  /Applications/Ableton Live 11.1 Beta.app/Contents/MacOS/Live
Identifier:            com.ableton.live
Version:               11.1b7 [2021-11-15_4c40b052e7] (11.1b7 [2021-11-15_4c40b052e7])
Code Type:             ARM-64 (Native)
Parent Process:        ??? [1]
Responsible:           Live [1264]
User ID:               501

Date/Time:             2021-12-06 10:19:16.908 +0000
OS Version:            macOS 11.6 (20G165)
Report Version:        12
Anonymous UUID:        0179BE56-F9FC-5C71-8CE2-3C24E33C5339


Time Awake Since Boot: 1400 seconds

System Integrity Protection: enabled

Crashed Thread:        21  my plugin thread (SS)

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       EXC_ARM_BREAKPOINT at 0x000000018d4af500 (brk 1)
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Trace/BPT trap: 5
Termination Reason:    Namespace SIGNAL, Code 0x5
Terminating Process:   exc handler [1264]

Application Specific Information:
Assertion failed: (NSViewIsCurrentlyBuildingLayerTreeForDisplay() != currentlyBuildingLayerTree), function NSViewSetCurrentlyBuildingLayerTreeForDisplay, file /System/Volumes/Data/SWE/macOS/BuildRoots/38cf1d983f/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-2022.60.128/AppKit.subproj/NSView.m, line 13412.

and then for that crashing thread it shows this:

Thread 21 Crashed:: my plugin thread (SS)
0   libsystem_c.dylib             	0x000000018d4af500 __abort + 160
1   libsystem_c.dylib             	0x000000018d4af500 __abort + 160
2   libsystem_c.dylib             	0x000000018d4af460 abort + 136
3   libsystem_c.dylib             	0x000000018d4ae8d4 __assert_rtn + 292
4   com.apple.AppKit              	0x000000018ff2d4ec NSViewSetCurrentlyBuildingLayerTreeForDisplay + 260
5   com.apple.AppKit              	0x000000018ff2d3d8 NSViewBuildLayerTreeForDisplay + 168
6   com.apple.AppKit              	0x00000001906faf70 NSWindowUpdateLayerTree + 80
7   com.apple.AppKit              	0x000000018ff2b88c -[NSWindow displayIfNeeded] + 260
8   com.apple.AppKit              	0x000000018ff2b6bc __NSWindowGetDisplayCycleObserverForDisplay_block_invoke + 652
9   com.apple.AppKit              	0x000000018ff29acc NSDisplayCycleObserverInvoke + 188
10  com.apple.AppKit              	0x000000018ff29648 NSDisplayCycleFlush + 832
11  com.apple.QuartzCore          	0x00000001939061ac CA::Transaction::run_commit_handlers(CATransactionPhase) + 120
12  com.apple.QuartzCore          	0x00000001939051b4 CA::Transaction::commit() + 336
13  com.apple.QuartzCore          	0x0000000193920d80 CA::Transaction::release_thread(void*) + 232
14  libsystem_pthread.dylib       	0x000000018d565180 _pthread_tsd_cleanup + 524
15  libsystem_pthread.dylib       	0x000000018d567edc _pthread_exit + 84
16  libsystem_pthread.dylib       	0x000000018d567884 _pthread_start + 332
17  libsystem_pthread.dylib       	0x000000018d5625e0 thread_start + 8

The strange thing is that this is indeed a thread of my plugin, but it seems to happen outside of my own code: I had hoped to see some of my own code symbols in there (as I had sent the user a build without symbol stripping), but while I can see a few of my symbols pop up in other threads, the crash clearly happens here, and it seems like it happens after the thread stops.

I already scanned the interwebs for that assertion failure in NSView.m that is reported above, but nothing similar / useful came up.

More info:

  • The crash does NOT happen at all for the 2 M1 machines I had tried on at Scaleway, and also not for another user on this forum who tried it also on an M1 Mac Mini (or we just got lucky, although I really tested for quite some time trying all kinds of things).
  • It also works fine in Logic and Garageband on the M1’s I tried on and the forum member tried on. Still waiting for a reply from the user where it crashed to see if it also crashes in Logic and Garageband as it does for the Live beta for him.
  • It does not happen on my MacBook Pro (Intel) at all either (in Live official, Live beta, Cubase 11, Reaper, Logic, Garageband, Bidule, …) but that’s on Intel.
  • The M1 user where it crashes says that it crashes consistently and as soon as he opens the GUI of the plugin. He also says it doesn’t happen in the official Live release (but then it’s running the Intel slice via Rosetta 2 of course).
  • I’m using the latest JUCE master (6.1.2).

Did anyone encounter a similar crash perhaps on M1, with the new UB Live beta?

2 Likes