Description

User reports that the reason for the crash is that because UpdateSpline is false on the AddSplinePointAtIndex blueprint node, this line is never called [ReparamTable.Points.Reset(NumSegments * ReparamStepsPerSegment + 1);] (Line: 174)
however when we call GetDistanceAlongSplineAtSplinePoint the line, [return SplineCurves.ReparamTable.Points[PointIndex * ReparamStepsPerSegment].InVal;] (Line: 935), we crash because PointIndex * ReparamStepsPerSegment is out of range.
the USplineComponent::GetDistanceAlongSplineAtSplinePoint (Line: 928) does it's range checks against SplineCurves.Position.Points and not SplineCurves.ReparamTable.Points.

This was reported and tested in 4.20.1 (CL-4233996) and reproduced in 4.19.2 (CL-4033788) and Main 4.21 (CL-4234136)

Steps to Reproduce
  1. Open the UE4 Editor and create a blank project
  2. Create an Actor Blueprint and add a Spline component to it
  3. In the Event Graph drag off Event BeginPlay and add a 'Add Spline Point at Index' node. Connect the Spline to the target if it isn't already.
    #Drag off of 'Add Spline Point at Index' and add a 'Print String' node
  4. Add a getter of the Spline component , drag off of it and add a 'Get Distance Along Spline At Spline Point' node.
  5. Set the Point Index to 2 on the 'Get Distance Along Spline At Spline Point' node and connect the return value to the Duration on the 'Print String'
  6. Compile and Save the Blueprint
  7. Drag the Blueprint into the Viewport and Press Play

Results: Editor crashes

Expected: Points are addd to the spline without the previous added points for that loop affecting the proceeding points

Callstack
[2018.07.20-23.09.37:547][228]LogWindows: Error: === Critical error: ===
[2018.07.20-23.09.37:547][228]LogWindows: Error: 
[2018.07.20-23.09.37:547][228]LogWindows: Error: Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 611] 
[2018.07.20-23.09.37:547][228]LogWindows: Error: Array index out of bounds: 20 from an array of size 11
[2018.07.20-23.09.37:547][228]LogWindows: Error: 
[2018.07.20-23.09.37:547][228]LogWindows: Error: 
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffb2920a388 KERNELBASE.dll!UnknownFunction []
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffb149c6850 UE4Editor-ApplicationCore.dll!FWindowsErrorOutputDevice::Serialize() [d:\build\++ue4\sync\engine\source\runtime\applicationcore\private\windows\windowserroroutputdevice.cpp:65]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf78062ec UE4Editor-Core.dll!FOutputDevice::LogfImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:70]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf77951cb UE4Editor-Core.dll!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:425]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffade9cf68e UE4Editor-Engine.dll!USplineComponent::GetDistanceAlongSplineAtSplinePoint() [d:\build\++ue4\sync\engine\source\runtime\engine\private\components\splinecomponent.cpp:935]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffadea00c98 UE4Editor-Engine.dll!USplineComponent::execGetDistanceAlongSplineAtSplinePoint() [d:\build\++ue4\sync\engine\source\runtime\engine\classes\components\splinecomponent.h:172]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf8fe5f27 UE4Editor-CoreUObject.dll!UFunction::Invoke() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4728]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf91f115e UE4Editor-CoreUObject.dll!UObject::CallFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:772]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf920ef49 UE4Editor-CoreUObject.dll!UObject::ProcessContextOpcode() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2197]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf9241814 UE4Editor-CoreUObject.dll!UObject::execLet() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1983]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf9211646 UE4Editor-CoreUObject.dll!UObject::ProcessInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:984]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf91f1b0d UE4Editor-CoreUObject.dll!UObject::CallFunction() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:896]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf9211646 UE4Editor-CoreUObject.dll!UObject::ProcessInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:984]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf8fe5f27 UE4Editor-CoreUObject.dll!UFunction::Invoke() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4728]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf9210be3 UE4Editor-CoreUObject.dll!UObject::ProcessEvent() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1344]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffade4c7fe3 UE4Editor-Engine.dll!AActor::ProcessEvent() [d:\build\++ue4\sync\engine\source\runtime\engine\private\actor.cpp:724]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffade48e82c UE4Editor-Engine.dll!AActor::BeginPlay() [d:\build\++ue4\sync\engine\source\runtime\engine\private\actor.cpp:3250]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffade49a702 UE4Editor-Engine.dll!AActor::DispatchBeginPlay() [d:\build\++ue4\sync\engine\source\runtime\engine\private\actor.cpp:3210]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffadf7f3609 UE4Editor-Engine.dll!AWorldSettings::NotifyBeginPlay() [d:\build\++ue4\sync\engine\source\runtime\engine\private\worldsettings.cpp:230]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffadebb3be1 UE4Editor-Engine.dll!AGameStateBase::HandleBeginPlay() [d:\build\++ue4\sync\engine\source\runtime\engine\private\gamestatebase.cpp:177]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffadf7d795e UE4Editor-Engine.dll!UWorld::BeginPlay() [d:\build\++ue4\sync\engine\source\runtime\engine\private\world.cpp:3699]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffadebd1e7d UE4Editor-Engine.dll!UGameInstance::StartPlayInEditorGameInstance() [d:\build\++ue4\sync\engine\source\runtime\engine\private\gameinstance.cpp:400]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf609fb79 UE4Editor-UnrealEd.dll!UEditorEngine::CreatePIEGameInstance() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\playlevel.cpp:3298]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf60c039c UE4Editor-UnrealEd.dll!UEditorEngine::PlayInEditor() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\playlevel.cpp:2433]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf60de726 UE4Editor-UnrealEd.dll!UEditorEngine::StartQueuedPlayMapRequest() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\playlevel.cpp:1268]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf5af6aa1 UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:1605]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffaf63ef836 UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:403]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ff6cdc95cbd UE4Editor.exe!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3495]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ff6cdca5b3c UE4Editor.exe!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:166]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ff6cdca5bba UE4Editor.exe!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ff6cdcb3dac UE4Editor.exe!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ff6cdcb5aaa UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffb2c743034 KERNEL32.DLL!UnknownFunction []
[2018.07.20-23.09.37:547][228]LogWindows: Error: [Callstack] 0x00007ffb2cc81431 ntdll.dll!UnknownFunction []

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-62276 in the post.

0
Login to Vote

Won't Fix
ComponentTools
Affects Versions4.19.24.20.14.21
CreatedJul 28, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021
View Jira Issue