Description

This is a common crash affecting users in 4.15 and 4.16.

User Descriptions

  • I connected two reroute nodes together in a circle. And well it brought me here.
  • I connected a reroute node with a reroutnode which it got information from. So basically a reoroutenode loop.
  • In a Blueprint:
    I reconnected an execution (to-)Pin, using Ctrl+Drag, to a reroute-point of the same execution line that this pin was connected from. Because the reroute-point was earlier in the execution line, this ended up in an infinite loop which caused a Stack overflow.

Source Context

 117       void UK2Node_Knot::PropagatePinTypeFromInput()
  118       {
  119       	// Set the type of the pin based on input connections.
  120       	// We have to move up the chain of linked reroute nodes until we reach a node
  121       	// with type information before percolating that information down.
  122 ***** 	UEdGraphPin* MyInputPin = GetInputPin();
  123       	UEdGraphPin* MyOutputPin = GetOutputPin();
  124       
  125       	for (UEdGraphPin* InPin : MyInputPin->LinkedTo)
  126       	{
  127       		if (UK2Node_Knot* KnotNode = Cast<UK2Node_Knot>(InPin->GetOwningNode()))
  128       		{
  129       			KnotNode->PropagatePinTypeFromInput();
  130       		}
  131       	}
Steps to Reproduce

Place a Make Array node
Connect to a Length node
Double click the connection between them to create 3 reroute nodes
Select the last 2 reroute nodes and collapse to macro
Connect the output pin of the macro to the remaining reroute node
Expand the macro

Callstack
Stack overflow - code c00000fd (first/second chance not available)

UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:123]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]
UE4Editor_BlueprintGraph!UK2Node_Knot::PropagatePinTypeFromInput() [k2node_knot.cpp:127]

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-47257 in the post.

0
Login to Vote

Fixed
ComponentGameplay - Blueprint
Affects Versions4.154.164.17
Target Fix4.17
Fix Commit3538577
Main Commit3555226
Release Commit3538577
CreatedJul 14, 2017
ResolvedJul 14, 2017
UpdatedApr 27, 2018