This is a frequent and longstanding Ensure that has occurred for more than 500 users since at least the 4.13 release.
Additionally, there do seem to be a few crashes with this callstack mixed among the ensures.
Source Context
352 void UEdGraphPin::BreakLinkTo(UEdGraphPin* ToPin) 353 { 354 Modify(); 355 356 if (ToPin) 357 { 358 ToPin->Modify(); 359 360 // If we do indeed link to the passed in pin... 361 if (LinkedTo.Contains(ToPin)) 362 { 363 // Check that the other pin links to us 364 ***** ensureAlwaysMsgf(ToPin->LinkedTo.Contains(this), *GetLinkInfoString(LOCTEXT("BreakLinkTo", "BreakLinkTo").ToString(), LOCTEXT("NotLinked", "not reciprocally linked with pin").ToString(), ToPin)); 365 ToPin->LinkedTo.Remove(this); 366 LinkedTo.Remove(ToPin); 367 } 368 else 369 { 370 // Check that the other pin does not link to us 371 ensureAlwaysMsgf(!ToPin->LinkedTo.Contains(this), *GetLinkInfoString(LOCTEXT("MakeLinkTo", "MakeLinkTo").ToString(), LOCTEXT("IsLinked", "is linked with pin").ToString(), ToPin)); 372 } 373 } 374 }
repro steps currently unknown
Ensure condition failed: ToPin->LinkedTo.Contains(this) [File:D:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\Engine\Private\EdGraph\EdGraphPin.cpp] [Line: 365] UEdGraphPin::BreakLinkTo Pin 'Entry' on node 'Locomotion' not reciprocally linked with pin 'In' on node 'None' UE4Editor_Engine!UEdGraphPin::BreakLinkTo() [edgraphpin.cpp:365] UE4Editor_Engine!UEdGraphPin::BreakAllPinLinks() [edgraphpin.cpp:385] UE4Editor_Engine!UEdGraphPin::DestroyImpl() [edgraphpin.cpp:1392] UE4Editor_Engine!UEdGraphNode::BeginDestroy() [edgraphnode.cpp:539] UE4Editor_CoreUObject!UObject::ConditionalBeginDestroy() [obj.cpp:878] UE4Editor_CoreUObject!CollectGarbageInternal() [garbagecollection.cpp:1446] UE4Editor_CoreUObject!CollectGarbage() [garbagecollection.cpp:1533] UE4Editor_UnrealEd!FEditorFileUtils::AutosaveMapEx() [filehelpers.cpp:2341] UE4Editor_UnrealEd!FPackageAutoSaver::AttemptAutoSave() [packageautosaver.cpp:195] UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [unrealedengine.cpp:430] UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3215] UE4Editor!GuardedMain() [launch.cpp:166] UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134] UE4Editor!WinMain() [launchwindows.cpp:210] UE4Editor!__scrt_common_main_seh() [exe_common.inl:253] kernel32!BaseThreadInitThunk() ntdll!RtlUserThreadStart()
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-50646 in the post.