Access Violation In Blueprint Library Intentionally Silent?

I made a little Blueprint demo for myself to execute console commands that runs the line:

actor->GetWorld()->Exec(actor->GetWorld(), TEXT("quit"));

This code assumes a valid actor is passed and is run in a Blueprint node.
For the 3D Widget, Get Owning Player passes a NULL reference, resulting in a memory access violation; however, if the editor is run sans visual studio this access violation either doesn’t occur or is silent, and the program continues to later lines.

Is this intended behaviour?
If not, I’ll expand this post to include all of the relevant code.

has anybody attempted to reproduce this?

I believe I am experiencing a similar issue, although my access violation is not silent. Running the editor normally and opening the blueprint with the offending library function crashes the editor. If I debug the editor with visual studio, I get an access violation on my static function.

Without a nullptr check, I am unable to compile or open the blueprint that calls the BlueprintPure function GetActorRelativeTransform. I have an Actor reference hooked up to GetActorRelativeTransform, that is not set until On Event BeginPlay of a GameMode blueprint.

UFUNCTION(BlueprintPure, Category = "Transformation")
static FTransform GetActorRelativeTransform(const AActor* Actor);


FTransform UActorFunctionLibrary::GetActorRelativeTransform(const AActor* Actor)
{
	if (Actor != nullptr)
		return Actor->GetRootComponent()->GetRelativeTransform();
	return FTransform::Identity;
}

I added log message to occur each time the function was called with null and it is repeatedly called just having the editor open. I can’t trace the code back because my project is missing a pdb file, and the break is on some wrapper method, execGetActorRelativeTransform

edit: downloaded the pdb files through the launcher. Appears that my editor is ‘ticking’, [4.7.6] Player controller tick event fires in editor - Character & Animation - Epic Developer Community Forums. Was a known issue that was fixed, but appears to be manifesting again in a different way.

I fixed my problem by going to my player controller and disabling ‘Allow Tick Before Begin Play’ which happens to be enabled by default for PlayerControllers. I could not find any documentation on this setting.

I will go back and experiment to see if this also fixes my issue! Thank you for taking the time to respond to an old thread :slight_smile:

In the end this did not solve my issue :’(. But I still suspect they are related! Fortunately I’m not banging my head against this one anymore and just took a different approach.