Weird crash on UCurveBase::GetTimeRange()

Hi everyone !

My game randomely crashes when played on the following logs.

I use a custome 4.18.2 engine, and by “custom”, I mean that I change one line to allow split-screen post processing (and the crash appears without split-screen, so nothing to do with it).

I think it may come from a c++ written actor where I use a timeline (I don’t have many actors). I use very standard functions like Timeline->PlayFromStart(), Timeline->Stop() and Timeline->AddInterpFloat(…). It has custom physics, but no timeline is used in it.

I also use some other timelines in the blueprint part of that actor, and one in the level blueprint.

Also, I added the beta plugins “Sound Utilities” and “Synthesis”.

I dont see where there could be an access violation…

EDIT : how do you properly post logs ?
Anyway, here it is : [2018.01.08-16.01.55:934][152]LogWindows: Warning: CreateProc failed: Le fichier - Pastebin.com

EDIT 2 : found it, just use tabs, so here are the logs :

[2018.01.08-16.01.55:934][152]LogWindows: Warning: CreateProc failed: Le fichier spécifié est introuvable. (0x00000002)
[2018.01.08-16.01.55:934][152]LogWindows: Warning: URL: ../../../Engine/Binaries/Win64/CrashReportClient.exe "D:/Users/Hugo/Documents/Unreal Projects/Starlab04 4.18 - 2/Saved/Crashes/UE4CC-Windows-5AE0CBF84957760911C14BBE3DF4BF5B_0000" -AppName=UE4-Starlab04 -CrashGUID=UE4CC-Windows-5AE0CBF84957760911C14BBE3DF4BF5B_0000 -DebugSymbols=..\..\..\Engine\Intermediate\Symbols
[2018.01.08-16.01.55:934][152]LogWindows: Could not start CrashReportClient.exe
[2018.01.08-16.01.55:934][152]LogMemory: Platform Memory Stats for Windows
[2018.01.08-16.01.55:934][152]LogMemory: Process Physical Memory: 3692.04 MB used, 3712.25 MB peak
[2018.01.08-16.01.55:934][152]LogMemory: Process Virtual Memory: 8224.77 MB used, 8413.60 MB peak
[2018.01.08-16.01.55:934][152]LogMemory: Physical Memory: 26358.10 MB used,  6367.32 MB free, 32725.43 MB total
[2018.01.08-16.01.55:934][152]LogMemory: Virtual Memory: 10290.46 MB used,  6367.32 MB free, 134217728.00 MB total
[2018.01.08-16.01.55:934][152]LogWindows: Error: === Critical error: ===
[2018.01.08-16.01.55:934][152]LogWindows: Error:
[2018.01.08-16.01.55:934][152]LogWindows: Error: Fatal error!
[2018.01.08-16.01.55:934][152]LogWindows: Error:
[2018.01.08-16.01.55:934][152]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000038
[2018.01.08-16.01.55:934][152]LogWindows: Error:
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008DC2F1D7 UE4Editor-Engine.dll!UCurveBase::GetTimeRange() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\curves\curvebase.cpp:18]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E712F62 UE4Editor-Engine.dll!FTimeline::GetLastKeyframeTime() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\timeline.cpp:620]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E738DB2 UE4Editor-Engine.dll!FTimeline::TickTimeline() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\timeline.cpp:458]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E738B1E UE4Editor-Engine.dll!UTimelineComponent::TickComponent() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\timeline.cpp:688]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008DAA2267 UE4Editor-Engine.dll!FActorComponentTickFunction::ExecuteTickHelper<<lambda_00d9c935eb8c907965991feb76bc5b0f> >() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\classes\gameframework\actor.h:3100]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008DADD4E4 UE4Editor-Engine.dll!FActorComponentTickFunction::ExecuteTick() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\components\actorcomponent.cpp:794]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E70690B UE4Editor-Engine.dll!FTickFunctionTask::DoTask() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\ticktaskmanager.cpp:273]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E70B96B UE4Editor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\core\public\async\taskgraphinterfaces.h:784]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000AA8548A5 UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\core\private\async\taskgraph.cpp:651]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000AA854BA0 UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilIdle() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\core\private\async\taskgraph.cpp:571]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E7280B1 UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\ticktaskmanager.cpp:559]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E72DCC2 UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\ticktaskmanager.cpp:1454]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E00D884 UE4Editor-Engine.dll!UWorld::RunTickGroup() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\leveltick.cpp:760]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x000000008E016BD8 UE4Editor-Engine.dll!UWorld::Tick() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\engine\private\leveltick.cpp:1420]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000A48B6C06 UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [d:\customengine\unrealengine-4.18.2-release\engine\source\editor\unrealed\private\editorengine.cpp:1659]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000A517BA66 UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [d:\customengine\unrealengine-4.18.2-release\engine\source\editor\unrealed\private\unrealedengine.cpp:396]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000D5495A26 UE4Editor.exe!FEngineLoop::Tick() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\launch\private\launchengineloop.cpp:3296]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000D54A5430 UE4Editor.exe!GuardedMain() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\launch\private\launch.cpp:166]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000D54A54AA UE4Editor.exe!GuardedMainWrapper() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000D54B2379 UE4Editor.exe!WinMain() [d:\customengine\unrealengine-4.18.2-release\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000D54B3D57 UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000FBFF1FE4 KERNEL32.DLL!UnknownFunction []
[2018.01.08-16.01.55:934][152]LogWindows: Error: [Callstack] 0x00000000FE55EF91 ntdll.dll!UnknownFunction []
[2018.01.08-16.01.55:935][152]LogWindows: Error: [Callstack] 0x00000000FE55EF91 ntdll.dll!UnknownFunction []
[2018.01.08-16.01.55:935][152]LogWindows: Error:
[2018.01.08-16.01.55:967][152]LogExit: Executing StaticShutdownAfterError
[2018.01.08-16.01.56:303][152]LogWindows: FPlatformMisc::RequestExit(1)
[2018.01.08-16.01.56:325][152]Log file closed, 01/08/18 17:01:56

Thank you for your time !

Also, this is the engine code that crash :

void UCurveBase::GetTimeRange(float& MinTime, float& MaxTime) const
{
	// This line is the one that crash
	TArray<FRichCurveEditInfoConst> Curves = GetCurves();

	if (Curves.Num() > 0)
	{
		check(Curves[0].CurveToEdit);
		Curves[0].CurveToEdit->GetTimeRange(MinTime, MaxTime);

		for (int32 i=1; i<Curves.Num(); i++)
		{
			float CurveMin, CurveMax;
			check(Curves[i].CurveToEdit != NULL);
			Curves[i].CurveToEdit->GetTimeRange(CurveMin, CurveMax);

			MinTime = FMath::Min(CurveMin, MinTime);
			MaxTime = FMath::Max(CurveMax, MaxTime);
		}
	}
}

Ok, so I had this bug for days and 10min after posting it, I think I might have the solution.

Sometimes, when I compile the C++ of my actor, the values in editor of the blueprint version of this actor are reset. And the curve for the timeline used in it was missing.

I mark it as “resolve”, i’ll come back if I still have these crashes !

Hi Bro. Could you tell me your solution? I will appreciate it!!!

Sorry for not being specific enough. As I said, it’s just that the curve was not set. It was a reference to nothing.

So make sure that your curve is correctly set and not undefined. You could use the IsValid() function to check that.