I'm constantly getting unknown crashes in my project could it be corrupt?

For the last few weeks we are getting unknown crashes that lead to mimalloc, and we do not know what to do, we tried fixing UI problems where it could crash, but we are getting unknown crashes in Slate, SkeletalMesh, Niagara and so on random unreal engine source code areas with one thing in common mimalloc, so anyone could help out and say what could be the problem, also tried verifying unreal engine 5.5.4 and regernating visual studio project files after delelting binaries, intermediate, saved, deriveddatacache folders, some of the crashes:
Standalone:

Few crash logs with Debug mode and symbols:

[Inlined] mi_page_malloc(mi_heap_s *, mi_page_s *, unsigned long long) 0x00007ffcd089cc09
mi_heap_malloc_zero_aligned_at(mi_heap_s *const, const unsigned long long, const unsigned long long, const unsigned long long, const bool) 0x00007ffcd089cc09
mi_heap_realloc_zero_aligned_at(mi_heap_s *, void *, unsigned long long, unsigned long long, unsigned long long, bool) 0x00007ffcd089d3a5
[Inlined] mi_heap_realloc_zero_aligned(mi_heap_s *, void *, unsigned long long, unsigned long long, bool) 0x00007ffcd08a0593
[Inlined] mi_heap_realloc_aligned(mi_heap_s *, void *, unsigned long long, unsigned long long) 0x00007ffcd08a056b
mi_realloc_aligned(void *, unsigned long long, unsigned long long) 0x00007ffcd08a056b
[Inlined] FMallocMimalloc::TryRealloc(void *, unsigned long long, unsigned int) MallocMimalloc.cpp:136
FMallocMimalloc::Realloc(void *, unsigned long long, unsigned int) MallocMimalloc.cpp:155
[Inlined] FLowLevelMemTracker::IsEnabled() LowLevelMemTracker.h:1110
FMemory::Realloc(void *, unsigned long long, unsigned int) FMemory.inl:134
TSizedHeapAllocator::ForAnyElementType::ResizeAllocation(int, int, unsigned long long, unsigned int) ContainerAllocationPolicies.h:746
[Inlined] TArray::AllocatorResizeAllocation(int, int) Array.h:3095
TArray::ResizeGrow(int) Array.h:3151
[Inlined] TArray::AddUninitialized() Array.h:1385
[Inlined] TArray::Emplace(const int &) Array.h:2239
[Inlined] TArray::Add(const int &) Array.h:2336
[Inlined] TArray::Push(const int &) Array.h:921
[Inlined] FCanvas::PushDepthSortKey(int) CanvasTypes.h:464
FCanvas::Construct() Canvas.cpp:332
FCanvas::FCanvas(FRenderTarget *, FHitProxyConsumer *, UWorld *, Type, ECanvasDrawMode, float) Canvas.cpp:289
FViewport::Draw(bool) UnrealClient.cpp:1801
UEditorEngine::Tick(float, bool) EditorEngine.cpp:2401
UUnrealEdEngine::Tick(float, bool) UnrealEdEngine.cpp:547
FEngineLoop::Tick() LaunchEngineLoop.cpp:5871
[Inlined] EngineTick() Launch.cpp:69
GuardedMain(const wchar_t *) Launch.cpp:190
LaunchWindowsStartup(HINSTANCE
_ *, HINSTANCE__ *, char *, int, const wchar_t *) LaunchWindows.cpp:266
WinMain(HINSTANCE__ *, HINSTANCE__ *, char *, int) LaunchWindows.cpp:317
[Inlined] invoke_main() 0x00007ff65db6f0ba
__scrt_common_main_seh() 0x00007ff65db6f099
0x00007ffdd8d37374
0x00007ffdd999cc91

mi_free(void *) 0x00007ffcef8db97b FMemory::Free(void *) FMemory.inl:166 [Inlined] TSizedHeapAllocator<32,FMemory>::ForAnyElementType::{dtor}() ContainerAllocationPolicies.h:690 [Inlined] TArray<FSkeletalMeshSceneProxy::FSectionElementInfo,TSizedDefaultAllocator<32> >::{dtor}() Array.h:688 DestructItems<…>(FSkeletalMeshSceneProxy::FLODSectionElements *, int) MemoryOps.h:108 [Inlined] TArray<FSkeletalMeshSceneProxy::FLODSectionElements,TSizedDefaultAllocator<32> >::{dtor}() Array.h:684 FSkeletalMeshSceneProxy::scalar deleting destructor'(unsigned int) 0x00007ffcdd1eadb4[Inlined] FScene::Update::__l2::<lambda_14>::operator()() RendererScene.cpp:6755 ??R<lambda_1>@?1???$AddSetupTask@V<lambda_14>@?1??Update@FScene@@QEAAXAEAVFRDGBuilder@@AEBUFUpdateParameters@3@@Z@V?$TArray@VFTaskHandle@Private@Tasks@UE@@V?$TSizedDefaultAllocator@$0CA@@@@@@FRDGBuilder@@QEAA?AVFTaskHandle@Private@Tasks@UE@@$$QEAV<lambda_14>@?1??Update@FScene@@QEAAXAEAV1@AEBUFUpdateParameters@8@@Z@PEAVFPipe@45@$$QEAV?$TArray@VFTaskHandle@Private@Tasks@UE@@V?$TSizedDefaultAllocator@$0CA@@@@@W4ETaskPriority@LowLevelTasks@@_NW4ERDGSetupTaskWaitPoint@@@Z@QEAA@XZ() RenderGraphBuilder.inl:594 [Inlined] Invoke(FRDGBuilder::<lambda_1> &) Invoke.h:47 ?ExecuteTask@?$TExecutableTaskBase@V<lambda_1>@?1???$AddSetupTask@V<lambda_14>@?1??Update@FScene@@QEAAXAEAVFRDGBuilder@@AEBUFUpdateParameters@3@@Z@V?$TArray@VFTaskHandle@Private@Tasks@UE@@V?$TSizedDefaultAllocator@$0CA@@@@@@FRDGBuilder@@QEAA?AVFTaskHandle@Private@Tasks@UE@@$$QEAV<lambda_14>@?1??Update@FScene@@QEAAXAEAV2@AEBUFUpdateParameters@9@@Z@PEAVFPipe@56@$$QEAV?$TArray@VFTaskHandle@Private@Tasks@UE@@V?$TSizedDefaultAllocator@$0CA@@@@@W4ETaskPriority@LowLevelTasks@@_NW4ERDGSetupTaskWaitPoint@@@Z@XX@Private@Tasks@UE@@UEAAXXZ() TaskPrivate.h:873 UE::Tasks::Private::FTaskBase::TryExecuteTask() TaskPrivate.h:504 [Inlined] UE::Tasks::Private::FTaskBase::Init::__l2::<lambda_1>::operator()() TaskPrivate.h:185 [Inlined] LowLevelTasks::FTask::Init::__l13::<lambda_1>::operator()(const bool) Task.h:499 [Inlined] Invoke(LowLevelTasks::FTask::<lambda_1> &, bool &) Invoke.h:47 [Inlined] LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<LowLevelTasks::FTask::Init<UE::Tasks::Private::FTaskBase::Init’::2'::<lambda_1> >'::13’::<lambda_1>,0>::Call(void *,bool) TaskDelegate.h:162 ?CallAndMove@?$TTaskDelegateImpl@V<lambda_1>@?N@???$Init@V<lambda_1>@?1??0FTaskBase@Private@Tasks@UE@@IEAAXPEB_WW4ETaskPriority@LowLevelTasks@@W4EExtendedTaskPriority@45@W4ETaskFlags@45@@Z@@FTask@LowLevelTasks@@QEAAXPEB_WW4ETaskPriority@3@$$QEAV1?1??Init@FTaskBase@Private@Tasks@UE@@IEAAX01W4EExtendedTaskPriority@89@W4ETaskFlags@89@@Z@W4ETaskFlags@3@@Z@$0A@@?$TTaskDelegate@$$A6APEAVFTask@LowLevelTasks@@_N@Z$0DA@@LowLevelTasks@@UEAAPEAVFTask@3@AEAV23@PEAXI_N@Z(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48> &,void *,unsigned int,bool) TaskDelegate.h:171 [Inlined] LowLevelTasks::TTaskDelegate::CallAndMove(LowLevelTasks::TTaskDelegate<…> &, bool) TaskDelegate.h:308 LowLevelTasks::FTask::ExecuteTask() Task.h:627 LowLevelTasks::FScheduler::ExecuteTask(LowLevelTasks::FTask *) Scheduler.cpp:245 [Inlined] LowLevelTasks::FScheduler::TryExecuteTaskFrom(LowLevelTasks::Private::FWaitEvent *, LowLevelTasks::Private::TLocalQueueRegistry<…>::TLocalQueue *, LowLevelTasks::Private::FOutOfWork &, bool) Scheduler.cpp:457 LowLevelTasks::FScheduler::WorkerLoop(LowLevelTasks::Private::FWaitEvent *, LowLevelTasks::Private::TLocalQueueRegistry<…>::TLocalQueue *, unsigned int, bool) Scheduler.cpp:514 [Inlined] LowLevelTasks::FScheduler::WorkerMain(LowLevelTasks::Private::FWaitEvent *, LowLevelTasks::Private::TLocalQueueRegistry<…>::TLocalQueue *, unsigned int, bool) Scheduler.cpp:571 LowLevelTasks::FScheduler::CreateWorker'::2’::<lambda_1>::operator()() Scheduler.cpp:75 [Inlined] UE::Core::Private::Function::TFunctionRefBase::operator()() Function.h:470 FThreadImpl::Run() Thread.cpp:66 FRunnableThreadWin::Run() WindowsRunnableThread.cpp:156 FRunnableThreadWin::GuardedRun() WindowsRunnableThread.cpp:71 0x00007ffdd8d37374 0x00007ffdd999cc91

We ran out of ideas on trying to fix these crashes…

We migrated the project:
Created blank project, copy pasted Source, Config, Content, Build folders and it still gives unknown crashes does anyone can help please?

Ok, so the problem were with iterators of TMap<> they were causing unknown crashes in any unreal source code area, so if anyone in the future will encounter unknown crash errors, and you may be using iterators, try to use different approach or use iterators carefully since they give diabolical crashes.

1 Like