I recently upgraded to 5.2 and found the following segfault crash suddenly occurring when my monster character hits my player character:
Caught signal
FPackageBuildDependencyTracker::StaticOnObjectHandleRead(TArrayView<UObject const* const, int>) Address = 0x10fc8aca8 (filename not found) [in UnrealEditor-UnrealEd.dylib]
UE::CoreUObject::Private::ObjectHandleCallbacks::OnHandleRead(TArrayView<UObject const* const, int>) Address = 0x1028a587c (filename not found) [in UnrealEditor-CoreUObject.dylib]
FObjectProperty::GetObjectPropertyValue(void const*) const Address = 0x102910cdc (filename not found) [in UnrealEditor-CoreUObject.dylib]
void FObjectPropertyBase::GetWrappedUObjectPtrValues_InContainer<UE::Core::Private::FWrappedObjectPtr>(UObject**, void const*, int, int) const Address = 0x102910e70 (filename not found) [in UnrealEditor-CoreUObject.dylib]
FFrame::StepExplicitProperty(void*, FProperty*) Address = 0x10297e678 (filename not found) [in UnrealEditor-CoreUObject.dylib]
ARyddelmystCharacter::execHandleDamage(UObject*, FFrame&, void*) Address = 0x3049d38b8 [/Users/jeffrey.creswell/gamedev/ryddelmyst/Ryddelmyst_5.2/Intermediate/Build/Mac/UnrealEditor/Inc/Ryddelmyst/UHT/RyddelmystCharacter.gen.cpp, line 158] [in UnrealEditor-Ryddelmyst.dylib]
UFunction::Invoke(UObject*, FFrame&, void*) Address = 0x1026abde4 (filename not found) [in UnrealEditor-CoreUObject.dylib]
UObject::ProcessEvent(UFunction*, void*) Address = 0x102989f5c (filename not found) [in UnrealEditor-CoreUObject.dylib]
AActor::ProcessEvent(UFunction*, void*) Address = 0x11526943c (filename not found) [in UnrealEditor-Engine.dylib]
void TScriptDelegate<FWeakObjectPtr>::ProcessDelegate<UObject>(void*) const Address = 0x11509f8c4 (filename not found) [in UnrealEditor-Engine.dylib]
void TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>(void*) const Address = 0x11508a5f8 (filename not found) [in UnrealEditor-Engine.dylib]
void TSparseDynamicDelegate<FTakeAnyDamageSignature_MCSignature, AActor, FTakeAnyDamageSignatureInfoGetter>::Broadcast<AActor*, float, UDamageType const*, AController*, AActor*>(AActor*, float, UDamageType const*, AController*, AActor*) Address = 0x1152786e4 (filename not found) [in UnrealEditor-Engine.dylib]
AActor::TakeDamage(float, FDamageEvent const&, AController*, AActor*) Address = 0x115277c58 (filename not found) [in UnrealEditor-Engine.dylib]
APawn::TakeDamage(float, FDamageEvent const&, AController*, AActor*) Address = 0x1167e78b4 (filename not found) [in UnrealEditor-Engine.dylib]
UGameplayStatics::ApplyDamage(AActor*, float, AController*, AActor*, TSubclassOf<UDamageType>) Address = 0x115e14420 (filename not found) [in UnrealEditor-Engine.dylib]
UAttack::OnHit_Implementation(AActor*, UPrimitiveComponent*, AActor*, UPrimitiveComponent*, UE::Math::TVector<double>, FHitResult const&) Address = 0x304a1b530 [/Users/jeffrey.creswell/gamedev/ryddelmyst/Ryddelmyst_5.2/Source/Ryddelmyst/Private/Attack.cpp, line 79] [in UnrealEditor-Ryddelmyst.dylib]
UHitBoxerComponent::OnHit(UPrimitiveComponent*, AActor*, UPrimitiveComponent*, UE::Math::TVector<double>, FHitResult const&) Address = 0x3049e9e50 [/Users/jeffrey.creswell/gamedev/ryddelmyst/Ryddelmyst_5.2/Source/Ryddelmyst/Private/HitBoxerComponent.cpp, line 33] [in UnrealEditor-Ryddelmyst.dylib]
UHitBoxerComponent::execOnHit(UObject*, FFrame&, void*) Address = 0x3049bf214 [/Users/jeffrey.creswell/gamedev/ryddelmyst/Ryddelmyst_5.2/Intermediate/Build/Mac/UnrealEditor/Inc/Ryddelmyst/UHT/HitBoxerComponent.gen.cpp, line 33] [in UnrealEditor-Ryddelmyst.dylib]
UFunction::Invoke(UObject*, FFrame&, void*) Address = 0x1026abde4 (filename not found) [in UnrealEditor-CoreUObject.dylib]
UObject::CallFunction(FFrame&, void*, UFunction*) Address = 0x102981fb0 (filename not found) [in UnrealEditor-CoreUObject.dylib]
UObject::ProcessContextOpcode(FFrame&, void*, bool) Address = 0x1029926bc (filename not found) [in UnrealEditor-CoreUObject.dylib]
ProcessLocalScriptFunction(UObject*, FFrame&, void*) Address = 0x10298386c (filename not found) [in UnrealEditor-CoreUObject.dylib]
void ProcessScriptFunction<void (*)(UObject*, FFrame&, void*)>(UObject*, UFunction*, FFrame&, void*, void (*)(UObject*, FFrame&, void*)) Address = 0x102982e34 (filename not found) [in UnrealEditor-CoreUObject.dylib]
ProcessLocalFunction(UObject*, UFunction*, FFrame&, void*) Address = 0x102984fec (filename not found) [in UnrealEditor-CoreUObject.dylib]
ProcessLocalScriptFunction(UObject*, FFrame&, void*) Address = 0x10298386c (filename not found) [in UnrealEditor-CoreUObject.dylib]
UFunction::Invoke(UObject*, FFrame&, void*) Address = 0x1026abde4 (filename not found) [in UnrealEditor-CoreUObject.dylib]
UObject::ProcessEvent(UFunction*, void*) Address = 0x102989f5c (filename not found) [in UnrealEditor-CoreUObject.dylib]
AActor::ProcessEvent(UFunction*, void*) Address = 0x11526943c (filename not found) [in UnrealEditor-Engine.dylib]
void TScriptDelegate<FWeakObjectPtr>::ProcessDelegate<UObject>(void*) const Address = 0x11509f8c4 (filename not found) [in UnrealEditor-Engine.dylib]
void TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>(void*) const Address = 0x11508a5f8 (filename not found) [in UnrealEditor-Engine.dylib]
FComponentHitSignature_DelegateWrapper(TMulticastScriptDelegate<FWeakObjectPtr> const&, UPrimitiveComponent*, AActor*, UPrimitiveComponent*, UE::Math::TVector<double>, FHitResult const&) Address = 0x1151efea4 (filename not found) [in UnrealEditor-Engine.dylib]
void TSparseDynamicDelegate<FComponentHitSignature_MCSignature, UPrimitiveComponent, FComponentHitSignatureInfoGetter>::Broadcast<UPrimitiveComponent*, AActor*, UPrimitiveComponent*, UE::Math::TVector<double>, FHitResult>(UPrimitiveComponent*, AActor*, UPrimitiveComponent*, UE::Math::TVector<double>, FHitResult) Address = 0x115278d28 (filename not found) [in UnrealEditor-Engine.dylib]
AActor::InternalDispatchBlockingHit(UPrimitiveComponent*, UPrimitiveComponent*, bool, FHitResult const&) Address = 0x115278a78 (filename not found) [in UnrealEditor-Engine.dylib]
AActor::DispatchBlockingHit(UPrimitiveComponent*, UPrimitiveComponent*, bool, FHitResult const&) Address = 0x115278edc (filename not found) [in UnrealEditor-Engine.dylib]
UPrimitiveComponent::DispatchBlockingHit(AActor&, FHitResult const&) Address = 0x1159d58dc (filename not found) [in UnrealEditor-Engine.dylib]
USceneComponent::EndScopedMovementUpdate(FScopedMovementUpdate&) Address = 0x115a08594 (filename not found) [in UnrealEditor-Engine.dylib]
FScopedMovementUpdate::~FScopedMovementUpdate() Address = 0x115d823f4 (filename not found) [in UnrealEditor-Engine.dylib]
UCharacterMovementComponent::PerformMovement(float) Address = 0x11592d4ec (filename not found) [in UnrealEditor-Engine.dylib]
UCharacterMovementComponent::ControlledCharacterMove(UE::Math::TVector<double> const&, float) Address = 0x115942c68 (filename not found) [in UnrealEditor-Engine.dylib]
UCharacterMovementComponent::TickComponent(float, ELevelTick, FActorComponentTickFunction*) Address = 0x1159238b8 (filename not found) [in UnrealEditor-Engine.dylib]
FActorComponentTickFunction::ExecuteTick(float, ELevelTick, ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) Address = 0x115892790 (filename not found) [in UnrealEditor-Engine.dylib]
FTickFunctionTask::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) Address = 0x11710d3e8 (filename not found) [in UnrealEditor-Engine.dylib]
TGraphTask<FTickFunctionTask>::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32>>&, ENamedThreads::Type, bool) Address = 0x11710ccc4 (filename not found) [in UnrealEditor-Engine.dylib]
FNamedTaskThread::ProcessTasksNamedThread(int, bool) Address = 0x103e95bbc (filename not found) [in UnrealEditor-Core.dylib]
FNamedTaskThread::ProcessTasksUntilQuit(int) Address = 0x103e93e74 (filename not found) [in UnrealEditor-Core.dylib]
FTaskGraphCompatibilityImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type) Address = 0x103e9237c (filename not found) [in UnrealEditor-Core.dylib]
FTaskGraphCompatibilityImplementation::WaitUntilTasksComplete(TArray<TRefCountPtr<FGraphEvent>, TSizedInlineAllocator<4u, 32, TSizedDefaultAllocator<32>>> const&, ENamedThreads::Type) Address = 0x103e92990 (filename not found) [in UnrealEditor-Core.dylib]
FTickTaskSequencer::ReleaseTickGroup(ETickingGroup, bool) Address = 0x117104f50 (filename not found) [in UnrealEditor-Engine.dylib]
FTickTaskManager::RunTickGroup(ETickingGroup, bool) Address = 0x1170fe3e8 (filename not found) [in UnrealEditor-Engine.dylib]
UWorld::Tick(ELevelTick, float) Address = 0x11619a57c (filename not found) [in UnrealEditor-Engine.dylib]
UEditorEngine::Tick(float, bool) Address = 0x10ff7c77c (filename not found) [in UnrealEditor-UnrealEd.dylib]
UUnrealEdEngine::Tick(float, bool) Address = 0x110cd36b8 (filename not found) [in UnrealEditor-UnrealEd.dylib]
FEngineLoop::Tick() Address = 0x1006d8844 (filename not found) [in UnrealEditor]
GuardedMain(char16_t const*) Address = 0x1006e4b10 (filename not found) [in UnrealEditor]
-[UEAppDelegate runGameThread:] Address = 0x1006ffcd0 (filename not found) [in UnrealEditor]
-[FCocoaGameThread main] Address = 0x1041413d8 (filename not found) [in UnrealEditor-Core.dylib]
Unknown() Address = 0x19ab6354c (filename not found) [in Foundation]
Unknown() Address = 0x199b13fa8 (filename not found) [in libsystem_pthread.dylib]
Unknown() Address = 0x199b0eda0 (filename not found) [in libsystem_pthread.dylib]
The most recent line in that stack from my project is in the RyddelmystCharacter.gen.cpp file. The cited line 158 says:
P_GET_PROPERTY(FNameProperty,Z_Param_BoneName);
But if I run the editor with debugger attached, the exception stacktrace points me to the line above that one, which has:
P_GET_OBJECT(UPrimitiveComponent,Z_Param_FHitComponent);
Either way, for some reason the reflection system is apparently no longer able to find the expected object properties when going through the UGameplayStatics::ApplyPointDamage() → OnTakeAnyDamage event delegate function. How should I resolve this? How/when are these object properties created?