Seeking mentor... Im having an issue that is crashing my editor and I cannot figure out exactly what is going on. Please, any assistance for a noob

To make this simple. My bot ai has an explode function that is server reliable. When it runs alone, it works fine, but if there are more than one of the bots, their radial damage can effect one another, and if one bot explodes and kills the other bot with its radial damage, it triggers a cascade of explosions, but right now, when one bot explodes on another bot killing it, it instead crashes my editor/game instance.
It keeps crashing with this line.

UnrealTutorials\CoopGame\Source\CoopGame\Private\AI\STrackerBot.cpp:109]

but from experimentation I can confirm, that its not actually 109,which is Destroy() in the code below.
Its actually line 107 which is

UGameplayStatics::ApplyRadialDamage(GetWorld(), ExplosionDamage, GetActorLocation(), ExplosionRadiusSphere->GetScaledSphereRadius(), damageType, ignores, this, nullptr, false, ECC_WorldDynamic);

So what im trying to understand is why ApplyRadialDamage would be crashing my editor?

my .h file entries.

UFUNCTION(Server, Reliable)
void ServerExplode();
void Explode();

my .cpp

void ASTrackerBot::ServerExplode_Implementation() {
	this->Explode();
}

void ASTrackerBot::Explode() {
	if (GetLocalRole() != ROLE_Authority) {
		this->ServerExplode();
		return;
	}
	//Apply Radial Damage. 
	TArray<AActor*> ignores;
	ignores.Add(this);
	UGameplayStatics::ApplyRadialDamage(GetWorld(), ExplosionDamage, GetActorLocation(), ExplosionRadiusSphere->GetScaledSphereRadius(), damageType, ignores, this, nullptr, false, ECC_WorldDynamic);
	//PlayExplosionEffect();
	Destroy();
}

EDIT:
Its got me baffled about what I could have possibly done wrong. What I’m doing is I have EQS set up on a grid pattern to detect how far away a character pawn is, so that it will spawn the AI’s as far away from the players as possible, on a few different “target” actors placed around the level. The game mode I have set up, will then periodically start waves of enemies, which it will then tell a blueprint-implementable-event to trigger a bot spawn in blueprint using EQS to place the bot in one of the zones that is farthest from characters. This whole process seems to work just fine. I don’t seem to have a single hiccup in EQS spawning my bots, and the bots moving, and their replication working across clients/server. The bots have an explode function that triggers if they roll too close to the player, or the player destroys them with their own weapon, but they can also damage each other, because they are applying damage with ApplyRadialDamage, so its like, if they are too close to one another, it will trigger a chain reaction of them killing each other( I think it really only takes 1 killing another one to crash my editor and running game instance). This has had me stumped though. I’m more than willing to share the repo for the project if I can just get another set of eyes looking at this thing. Everything in the repo is open source and just unreal practice and I am a student without a teacher essentially. UnrealTutorials/CoopGame at master · XALM1337X/UnrealTutorials · GitHub

Here is the stack trace from my editor crash. Please anyone, any assistance will be greatly appreciated.
LoginId:b03b2a7247d5183f46fab8a8a7843f89
EpicAccountId:715df5123f824d2e924c7adb75addfd9

Unhandled Exception: EXCEPTION_STACK_OVERFLOW

PhysX3PROFILE_x64!physx::Sq::AABBTreeOverlap<physx::Gu::SphereAABBTest,physx::Sq::AABBTree,physx::Sq::AABBTreeRuntimeNode>::operator()() [d:\build\++fortnite\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqaabbtreequery.h:74]
PhysX3PROFILE_x64!physx::Sq::AABBPruner::overlap() [d:\build\++fortnite\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqaabbpruner.cpp:300]
PhysX3PROFILE_x64!physx::NpSceneQueries::multiQuery<physx::PxOverlapHit>() [d:\build\++fortnite\sync\engine\source\thirdparty\physx3\physx_3.4\source\physx\src\npscenequeries.cpp:791]
PhysX3PROFILE_x64!physx::NpSceneQueries::overlap() [d:\build\++fortnite\sync\engine\source\thirdparty\physx3\physx_3.4\source\physx\src\npscenequeries.cpp:104]
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_CoopGame_2820!ASTrackerBot::Explode() [C:\Users\logan\UnrealTutorials\CoopGame\Source\CoopGame\Private\AI\STrackerBot.cpp:109]
UE4Editor_CoopGame_2820!USTrackerBotHealthComp::HandleTakeRadialDamageTrackerBot() [C:\Users\logan\UnrealTutorials\CoopGame\Source\CoopGame\Private\AI\STrackerBotHealthComp.cpp:47]
UE4Editor_CoopGame_2820!USTrackerBotHealthComp::execHandleTakeRadialDamageTrackerBot() [C:\Users\logan\UnrealTutorials\CoopGame\Intermediate\Build\Win64\UE4Editor\Inc\CoopGame\STrackerBotHealthComp.gen.cpp:40]
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
1 Like