I’m getting a severe crash when importing an FBX file. The display drivers die and the UE editor exists and no crash report appears. Most of the time I have to hit the reset switch my machine to recover from it. I did recover from the crash just now, but there was no crash report. What could be going wrong?
After some more digging it seems like it imports if I break the mesh into smaller pieces inside the file, separating them into different objects. The original file had all 6.6 million polys in one object.
The issue appears to be that the machine was running out of memory processing the buffer. Splitting it up worked around this.
This is probably the same issue the Alembic importer had that I posted earlier, except during FBX import the error is fatal and takes out the entire machine.
I would recommend trying to handle this in a cleaner fashion and at least asserting rather than going into a fatal crash.
Its trying to grow a sparse array And trying to allocate 23 Gigs of space…While the editor is already at > 20 Gigs used.
It looks as though some of the numbers involved have become negative beyond a certain point, as if someone converted from UINT 16 to int32 or visa versa…
[Inline Frame] UE4Editor-Core.dll!FMallocTBB::OutOfMemory(unsigned __int64) Line 48 C++ Symbols loaded.
UE4Editor-Core.dll!FMallocTBB::Realloc(void * Ptr, unsigned __int64 NewSize, unsigned int Alignment) Line 120 C++ Symbols loaded.
UE4Editor-Core.dll!FMemory::Realloc(void * Original, unsigned __int64 Count, unsigned int Alignment) Line 48 C++ Symbols loaded.
[Inline Frame] UE4Editor-MeshUtilities.dll!FHeapAllocator::ForAnyElementType::ResizeAllocation(int) Line 373 C++ Symbols loaded.
UE4Editor-MeshUtilities.dll!TArray<TSparseArrayElementOrFreeListLink<TAlignedBytes<16,4> >,FDefaultAllocator>::ResizeGrow(int OldNum) Line 2244
[Inline Frame] UE4Editor-MeshUtilities.dll!TArray<TSparseArrayElementOrFreeListLink<TAlignedBytes<16,4> >,FDefaultAllocator>::AddUninitialized(int) Line 1198
[Inline Frame] UE4Editor-MeshUtilities.dll!TSparseArray<TSetElement<TTuple<int,int> >,TSparseArrayAllocator<FDefaultAllocator,FDefaultBitArrayAllocator> >::AddUninitialized() Line 120 C++ Symbols loaded.
> [Inline Frame] UE4Editor-MeshUtilities.dll!TSet<TTuple<int,int>,TDefaultMapHashableKeyFuncs<int,int,1>,FDefaultSetAllocator>::Emplace(TPairInitializer<int const &,int const &> &&) Line 488
[Inline Frame] UE4Editor-MeshUtilities.dll!TMapBase<int,int,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<int,int,1> >::Emplace(const int &) Line 331
[Inline Frame] UE4Editor-MeshUtilities.dll!TMapBase<int,int,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<int,int,1> >::Add(const int &) Line 308///
UE4Editor-MeshUtilities.dll!FMeshUtilities::FindOverlappingCorners(TMultiMap...
UE4Editor-MeshUtilities.dll!FMeshUtilities::CalculateTangents(...