After upgrading to 5.5.4 (from 5.4.4) we have started receiving a lot of ensures from mobile users in our crash reporting. Sadly we currently have an issue with mixed Java / Native backtraces, so we don’t have any of the C++ callstack available:
The ensure is this:
Ensure condition failed: IsInGameThread() [File:./Runtime/CoreUObject/Private/UObject/CoreRedirects.cpp] [Line: 1374]
FCoreRedirects can only be initialized on the game thread.
Is this a known issue in 5.5.4? Is there a fix we can backport for it? We are not seeing this in editor.
Hi Jorgen,
Can you share the call stack leading to this assertion?
Best regards.
Hi Jorgen,
Thanks for the additional details. This appears to be an issue that was resolved after 5.5.4 release at CL# 36713788.
Best regards.
Hi, I am not able to do so, because our ensure reporting is not currently reporting useful callstacks.
I take that back! I successfully coaxed it to produce a useful callstack on iOS, though not on Android. Here’s the call stack:
31 FCoreRedirects::Initialize (cxx_atomic_impl.h:1375)
32 operator& (CoreRedirects.h:65)
33 FCoreRedirects::AddKnownMissing (CoreRedirects.h:1720)
34 FLinkerLoad::AddKnownMissingPackage (LinkerLoad.cpp:6676)
35 FAsyncPackage::CreateLinker (AsyncLoading.cpp:6293)
36 FAsyncPackage::Event_CreateLinker (AsyncLoading.cpp:1836)
37 FAsyncPackage::GetLinkerRoot (AsyncLoading.h:422)
38 operator (Control.cpp:1806)
39 decltype (Invoke.h:47)
40 …::Function::TFunctionRefCaller<…> (AsyncLoading.h:315)
41 …::Function::TFunctionRefBase<…> (Function.h:477)
42 TFunction<…> (Function.h:743)
43 TFunction<…> (Function.h:743)
44 FAsyncLoadEvent::~FAsyncLoadEvent (AsyncLoadingThread.h:29)
45 FAsyncLoadEvent::~FAsyncLoadEvent (AsyncLoadingThread.h:29)
46 FAsyncLoadEventQueue::PopAndExecute (AsyncLoadingThread.h:112)
47 FAsyncLoadingThread::ProcessAsyncLoading (Function.h:4396)
48 FAsyncLoadingThread::TickAsyncThread (AsyncLoading.cpp:5300)
49 SharedPointerInternals::FSharedReferencer<…> (SharedPointerInternals.h:602)
50 SharedPointerInternals::FSharedReferencer<…> (SharedPointerInternals.h:601)
51 TSharedPtr<…> (SharedPointer.h:664)
52 TSharedPtr<…> (SharedPointer.h:664)
53 FFlushRequest::~FFlushRequest (AsyncLoadingThread.h:171)
54 FFlushRequest::~FFlushRequest (AsyncLoadingThread.h:171)
55 FAsyncLoadingThread::Run (SharedPointerInternals.h:5226)
56 FRunnableThreadPThread::Run (PThreadRunnableThread.cpp:25)
57 FRunnableThreadPThread::_ThreadProc (PThreadRunnableThread.h:188)
58 _pthread_start (libsystem_pthread.dylib)
59 thread_start (libsystem_pthread.dylib)