[Solved] VST3 Plugin 3.7.0 test host crash in unit tests

Hi,

thanks for the 3.7 update.
I have found out that the test host (UI version) always crashes during unit tests (automation precision) due to an access violation.
This happens with my plugins and also Steinberg examples, for both Windows and macOS versions.
The command line version (built from source) doesn’t crash.

Best,
Lorcan

This is the crash dump:

Process:               VST3PluginTestHost [2081]
Path:                  /Applications/VST3PluginTestHost.app/Contents/MacOS/VST3PluginTestHost
Identifier:            com.steinberg.vst3.plugintesthost
Version:               2.9.0.38 (2.9.0.38)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           VST3PluginTestHost [2081]
User ID:               501

Date/Time:             2020-07-30 16:49:17.784 +0200
OS Version:            Mac OS X 10.15.6 (19G73)
Report Version:        12
Anonymous UUID:        5CD2537F-2793-0E6A-F74B-665BA6BA6BF9


Time Awake Since Boot: 400 seconds

System Integrity Protection: enabled

Crashed Thread:        0  componentSuperchord::main  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
Performing @selector(buttonAction:) from sender NSButton 0x7ff753481e30
abort() called
VST3PluginTestHost(2081,0x111456dc0) malloc: *** error for object 0x20000: pointer being freed was not allocated
 

Thread 0 Crashed:: componentSuperchord::main  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff7280e33a __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff728cae60 pthread_kill + 430
2   libsystem_c.dylib             	0x00007fff72795808 abort + 120
3   libsystem_malloc.dylib        	0x00007fff7288b50b malloc_vreport + 548
4   libsystem_malloc.dylib        	0x00007fff7288e40f malloc_report + 151
5   com.steinberg.vst3.plugintesthost	0x0000000108c8b6a5 0x108c6f000 + 116389
6   com.steinberg.vst3.plugintesthost	0x0000000108c85353 0x108c6f000 + 90963
7   com.steinberg.vst3.plugintesthost	0x0000000108f97391 0x108c6f000 + 3310481
8   com.steinberg.vst3.plugintesthost	0x0000000108f97b01 0x108c6f000 + 3312385
9   com.steinberg.vst3.plugintesthost	0x0000000108f973a7 0x108c6f000 + 3310503
10  com.steinberg.vst3.plugintesthost	0x0000000108f97b01 0x108c6f000 + 3312385
11  com.steinberg.vst3.plugintesthost	0x0000000108f973a7 0x108c6f000 + 3310503
12  com.steinberg.vst3.plugintesthost	0x0000000108f97b01 0x108c6f000 + 3312385
13  com.steinberg.vst3.plugintesthost	0x0000000108f973a7 0x108c6f000 + 3310503
14  com.steinberg.vst3.plugintesthost	0x0000000108f97b01 0x108c6f000 + 3312385
15  com.steinberg.vst3.plugintesthost	0x0000000108f973a7 0x108c6f000 + 3310503
16  com.steinberg.vst3.plugintesthost	0x0000000108f97b01 0x108c6f000 + 3312385
17  com.steinberg.vst3.plugintesthost	0x0000000108f973a7 0x108c6f000 + 3310503
18  com.steinberg.vst3.plugintesthost	0x0000000108f97488 0x108c6f000 + 3310728
19  com.steinberg.vst3.plugintesthost	0x0000000109025d22 0x108c6f000 + 3894562
20  com.steinberg.vst3.plugintesthost	0x00000001092c24c8 0x108c6f000 + 6632648
21  com.apple.AppKit              	0x00007fff35b0e7a7 -[NSApplication(NSResponder) sendAction:to:from:] + 299
22  com.steinberg.vst3.plugintesthost	0x0000000108de3d25 0x108c6f000 + 1527077
23  com.apple.AppKit              	0x00007fff35b0e642 -[NSControl sendAction:to:] + 86
24  com.apple.AppKit              	0x00007fff35b0e574 __26-[NSCell _sendActionFrom:]_block_invoke + 136
25  com.apple.AppKit              	0x00007fff35b0e476 -[NSCell _sendActionFrom:] + 171
26  com.apple.AppKit              	0x00007fff35b0e3bd -[NSButtonCell _sendActionFrom:] + 96
27  com.apple.AppKit              	0x00007fff35b0a69b NSControlTrackMouse + 1745
28  com.apple.AppKit              	0x00007fff35b09fa2 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 130
29  com.apple.AppKit              	0x00007fff35b09e61 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 691
30  com.apple.AppKit              	0x00007fff35b091dd -[NSControl mouseDown:] + 748
31  com.apple.AppKit              	0x00007fff35b075f0 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4914
32  com.apple.AppKit              	0x00007fff35a71e21 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2612
33  com.apple.AppKit              	0x00007fff35a711c9 -[NSWindow(NSEventRouting) sendEvent:] + 349
34  com.apple.AppKit              	0x00007fff35a6f554 -[NSApplication(NSEvent) sendEvent:] + 352
35  com.steinberg.vst3.plugintesthost	0x0000000108de35d8 0x108c6f000 + 1525208
36  com.apple.AppKit              	0x00007fff35bccf3b -[NSApplication _doModalLoop:peek:] + 388
37  com.apple.AppKit              	0x00007fff35bcbc85 __35-[NSApplication runModalForWindow:]_block_invoke_2 + 64
38  com.apple.AppKit              	0x00007fff35bcbc32 __35-[NSApplication runModalForWindow:]_block_invoke + 70
39  com.apple.AppKit              	0x00007fff35bcb4c4 _NSTryRunModal + 100
40  com.apple.AppKit              	0x00007fff35bcb3a9 -[NSApplication runModalForWindow:] + 128
41  com.steinberg.vst3.plugintesthost	0x0000000108de3b67 0x108c6f000 + 1526631
42  com.steinberg.vst3.plugintesthost	0x00000001092db672 0x108c6f000 + 6735474
43  com.steinberg.vst3.plugintesthost	0x000000010911640b 0x108c6f000 + 4879371
44  com.steinberg.vst3.plugintesthost	0x00000001091dd7af 0x108c6f000 + 5695407
45  com.steinberg.vst3.plugintesthost	0x0000000108dca80b 0x108c6f000 + 1423371
46  com.steinberg.vst3.plugintesthost	0x0000000108dcabcd 0x108c6f000 + 1424333
47  com.steinberg.vst3.plugintesthost	0x000000010903e92c 0x108c6f000 + 3995948
48  com.steinberg.vst3.plugintesthost	0x0000000109094910 0x108c6f000 + 4348176
49  com.steinberg.vst3.plugintesthost	0x000000010903ff6d 0x108c6f000 + 4001645
50  com.steinberg.vst3.plugintesthost	0x0000000109035a75 0x108c6f000 + 3959413
51  com.steinberg.vst3.plugintesthost	0x00000001091d3e01 0x108c6f000 + 5656065
52  com.steinberg.vst3.plugintesthost	0x00000001092e7530 0x108c6f000 + 6784304
53  com.apple.AppKit              	0x00007fff35b0e7a7 -[NSApplication(NSResponder) sendAction:to:from:] + 299
54  com.steinberg.vst3.plugintesthost	0x0000000108de3d25 0x108c6f000 + 1527077
55  com.apple.AppKit              	0x00007fff35c1ef3e -[NSMenuItem _corePerformAction] + 312
56  com.apple.AppKit              	0x00007fff35c1ecba -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 106
57  com.apple.AppKit              	0x00007fff35c6f848 -[NSMenu performActionForItemAtIndex:] + 114
58  com.apple.AppKit              	0x00007fff35c6f7cd -[NSMenu _internalPerformActionForItemAtIndex:] + 82
59  com.apple.AppKit              	0x00007fff35c6f617 -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 101
60  com.apple.AppKit              	0x00007fff35bffd30 NSSLMMenuEventHandler + 908
61  com.apple.HIToolbox           	0x00007fff3725f8ff DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 1254
62  com.apple.HIToolbox           	0x00007fff3725ed8d SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 329
63  com.apple.HIToolbox           	0x00007fff3727447e SendEventToEventTarget + 39
64  com.apple.HIToolbox           	0x00007fff372d440b SendHICommandEvent(unsigned int, HICommand const*, unsigned int, unsigned int, unsigned char, void const*, OpaqueEventTargetRef*, OpaqueEventTargetRef*, OpaqueEventRef**) + 368
65  com.apple.HIToolbox           	0x00007fff372fb065 SendMenuCommandWithContextAndModifiers + 45
66  com.apple.HIToolbox           	0x00007fff372fb00d SendMenuItemSelectedEvent + 346
67  com.apple.HIToolbox           	0x00007fff372fae59 FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) + 96
68  com.apple.HIToolbox           	0x00007fff372fb88e MenuSelectCore(MenuData*, Point, double, unsigned int, OpaqueMenuRef**, unsigned short*) + 603
69  com.apple.HIToolbox           	0x00007fff372fb598 _HandleMenuSelection2 + 460
70  com.apple.AppKit              	0x00007fff35aa2c0d _NSHandleCarbonMenuEvent + 215
71  com.apple.AppKit              	0x00007fff35aa2a7a _DPSEventHandledByCarbon + 54
72  com.apple.AppKit              	0x00007fff358caeca -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2962
73  com.apple.AppKit              	0x00007fff358bc58e -[NSApplication run] + 658
74  com.steinberg.vst3.plugintesthost	0x00000001092ba188 0x108c6f000 + 6599048
75  com.steinberg.vst3.plugintesthost	0x00000001090f0796 0x108c6f000 + 4724630
76  com.steinberg.vst3.plugintesthost	0x0000000108dcb870 0x108c6f000 + 1427568
77  com.steinberg.vst3.plugintesthost	0x0000000108de2edb 0x108c6f000 + 1523419
78  libdyld.dylib                 	0x00007fff726c6cc9 start + 1

Thanks for reporting, I was able to reproduce the crash…
We will inform you when we will provide a fix.

Great, thanks !

Fixed, it was due to a refactoring in testsuite: automation.cpp.
Around 2pm (European Time) the updated vstsdk.zip should be available online, the github source is updated too.

Thanks, all working here !