User reports hitting an assertion due to invalid FTickTaskManager state when game is attempting to unregister a tick function that was previously disabled dynamically.
Failed assertion is in FTickTaskLevel::RemoveTickFunction(), in the 'FTickFunction::ETickState::Enabled' case:
else { verify(AllEnabledTickFunctions.Remove(TickFunction) == 1); // otherwise you changed TickState while the tick function was registered. Call SetTickFunctionEnable instead. }
[2018.03.23-15.43.11:907][ 7]LogWindows: Error: === Critical error: === [2018.03.23-15.43.11:909][ 7]LogWindows: Error: [2018.03.23-15.43.11:910][ 7]LogWindows: Error: Assertion failed: AllEnabledTickFunctions.Remove(TickFunction) == 1 [File:D:\dev\Epic\UE4\Dev-Framework\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp] [Line: 1202] [2018.03.23-15.43.11:912][ 7]LogWindows: Error: [2018.03.23-15.43.11:914][ 7]LogWindows: Error: [2018.03.23-15.43.11:916][ 7]LogWindows: Error: [2018.03.23-15.43.11:918][ 7]LogWindows: Error:
UE4Editor-Core-Win64-Debug.dll!FDebug::AssertFailed(const char * Expr, const char * File, int Line, const wchar_t * Format, ...) Line 419 C++
UE4Editor-Engine-Win64-Debug.dll!FTickTaskLevel::RemoveTickFunction(FTickFunction * TickFunction) Line 1204 C++
UE4Editor-Engine-Win64-Debug.dll!FTickTaskManager::RemoveTickFunction(FTickFunction * TickFunction) Line 1518 C++
UE4Editor-Engine-Win64-Debug.dll!FTickFunction::UnRegisterTickFunction() Line 1655 C++
UE4Editor-Engine-Win64-Debug.dll!FTickFunction::~FTickFunction() Line 1623 C++
[External Code]
UE4Editor-CoreUObject-Win64-Debug.dll!IncrementalPurgeGarbage(bool bUseTimeLimit, float TimeLimit) Line 1121 C++
UE4Editor-CoreUObject-Win64-Debug.dll!CollectGarbageInternal(EObjectFlags KeepFlags, bool bPerformFullPurge) Line 1516 C++
UE4Editor-CoreUObject-Win64-Debug.dll!CollectGarbage(EObjectFlags KeepFlags, bool bPerformFullPurge) Line 1540 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UEditorEngine::EndPlayMap() Line 468 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1924 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 401 C++
UE4Editor-Win64-Debug.exe!FEngineLoop::Tick() Line 3382 C++
UE4Editor-Win64-Debug.exe!EngineTick() Line 63 C++
UE4Editor-Win64-Debug.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 169 C++
UE4Editor-Win64-Debug.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 199 C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-56431 in the post.
0 |
Component | UE - Gameplay |
---|---|
Affects Versions | 4.18, 4.19, 4.20 |
Target Fix | 4.19.1 |
Fix Commit | 3965154 |
---|
Created | Mar 23, 2018 |
---|---|
Resolved | Mar 26, 2018 |
Updated | Apr 27, 2018 |