I’ve got a crash that I think is universal, but requires perhaps a very specific set of circumstances.
Naively, there’s some very apparent poor null ptr protection.
A shipping build crashes with roughly this at the end of the callstack.
> UnrealEditor-Engine.dll!USkeletalMeshComponent::InitializeAnimScriptInstance(bool bForceReinit, bool bInDeferRootNodeInitialization) Line 1220 C++
UnrealEditor-Engine.dll!USkeletalMeshComponent::SetOverridePostProcessAnimBP(TSubclassOf<UAnimInstance> InPostProcessAnimBlueprint, bool ReinitAnimInstances) Line 4678 C++
UnrealEditor-Engine.dll!USkeletalMeshComponent::execSetOverridePostProcessAnimBP(UObject * Context, FFrame & Stack, void * const Z_Param__Result) Line 5850 C++
UnrealEditor-CoreUObject.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Z_Param__Result) Line 7192 C++
UnrealEditor-CoreUObject.dll!UObject::CallFunction(FFrame & Stack, void * const Z_Param__Result, UFunction * Function) Line 1147 C++
There’s a check at 1144 that it hits in a dev build, and 1170 null checks, because apparently that was something someone thought to check for… But then 1220, it hits this crash.
As you can see in the repro steps, there’s a lot of specifics going on here.
I have a 5.6.0 project locally that seems to show the same unsafe code.