Pro Tools crashes when adding a new AAX plugin

There are some tracks in my Pro Tools project, and I wanna insert my own plugin to each track.
But when I inserted the plugin, pro tools suddenly crashed…
To find out why,

  1. I made a new empty plugin (I didn’t write any code) and compiled it as AAX plugin, but pro tools still crashed when I tried to insert the empty plugin…
  2. I compiled it with the same code (my own plugin) on Windows, and pro tools worked pretty good…

The version of Pro Tools is 12.8.1, and JUCE is 4.3.1

Seems there are some problems about JUCE itself…Any idea?

Have you debugged it to see where it crashes?

Rail

I chose pro tools dev as the executable app, in debug scheme.

When pro tools just started, I could see some info in xcode:
_2017-11-03 18:30:59.733879+0800 Pro Tools[5751:279730] WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.6 instead of 10.12.6. This is not a bug in Gestalt – it is a documented limitation. Use NSProcessInfo’s operatingSystemVersion property to get correct system version number.
Call location:
2017-11-03 18:30:59.733974+0800 Pro Tools[5751:279730] 0 CarbonCore 0x00007fffaacec1b1 ___Gestalt_SystemVersion_block_invoke + 121
2017-11-03 18:30:59.733999+0800 Pro Tools[5751:279730] 1 libdispatch.dylib 0x000000010153778c _dispatch_client_callout + 8
2017-11-03 18:30:59.734008+0800 Pro Tools[5751:279730] 2 libdispatch.dylib 0x000000010153776c dispatch_once_f + 272
2017-11-03 18:30:59.734016+0800 Pro Tools[5751:279730] 3 CarbonCore 0x00007fffaac7a292 _Gestalt_SystemVersion + 976
2017-11-03 18:30:59.734024+0800 Pro Tools[5751:279730] 4 CarbonCore 0x00007fffaac79aad Gestalt + 139
2017-11-03 18:30:59.734032+0800 Pro Tools[5751:279730] 5 breakpad_glue 0x000000010060a987 BreakpadGlueInit + 519
2017-11-03 18:30:59.734040+0800 Pro Tools[5751:279730] 6 Pro Tools 0x0000000100002752 Pro Tools + 10066
[1103/183100:ERROR:main_delegate.cc(564)] Could not load locale pak for zh
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
[1103/183101:ERROR:main_delegate.cc(564)] Could not load locale pak for zh
[warn] kq_init: detected broken kqueue; not using.: Undefined error: 0
2017-11-03 18:31:04.482528+0800 Pro Tools[5751:280463] ERROR: __41-[AvidCA_XPC InitComponent:withEndpoint:]block_invoke: XPC error NSCocoaErrorDomain / 4099

And after I opened a project or create a new one, it broke at assembly code:
_libsystem_kernel.dylib`__pthread_kill:
0x7fffbfabbd38 <+0>: movl $0x2000148, %eax ; imm = 0x2000148
0x7fffbfabbd3d <+5>: movq %rcx, %r10
0x7fffbfabbd40 <+8>: syscall
-> 0x7fffbfabbd42 <+10>: jae 0x7fffbfabbd4c ; <+20>
0x7fffbfabbd44 <+12>: movq %rax, %rdi
0x7fffbfabbd47 <+15>: jmp 0x7fffbfab4caf ; cerror_nocancel
0x7fffbfabbd4c <+20>: retq
0x7fffbfabbd4d <+21>: nop
0x7fffbfabbd4e <+22>: nop
0x7fffbfabbd4f <+23>: nop _

then pro tools could’t go on…

btw I used the empty plugin to debug

We can’t help you unless you use the very latest juce version from the develop branch - the problem may already be fixed, and we can only apply fixes to the latest version.

I have AAX building fine with JUCE 4.x and JUCE 5.x and the latest AAX SDK… so odds are it’s your problem (not JUCE).

Rail

Anything different about Xcode settings?
r u using default settings? Or u changed any settings manually?

I’d suggest attaching to debugger only just before you’re launching your plug-in.

In addition you should learn some how-to symbolicating and use Avid’s provided tools so you’ll get more depth about your problem from Pro Tools crash file.

Currently all our released products use AAX with JUCE 4.3.x (https://github.com/soundradix/JUCE) and it works just fine.

One thing that maybe @Rail_Jon_Rogut could also chime on,
We’re not using latest AAX SDK (though I’m pretty sure it should work).

I’d also do basic sanity (though it should link if it’s broken) for Deployment Target and whether you’re using stdlib or libcpp.

At a guess, try adding something to getStateInformation that returns a valid memory block - there was a problem with this with JUCE 4. Though I think it may only have been a crash when saving rather than inserting a plugin but it’s worth a shot. Or, as Jules suggests, try the latest version which fixes this problem.

But the best solution is to attach a debugger…

Yes it’s a version thing…
The latest version solved the problem.
Thanks