Search Issue Tracker

Won't Fix

Votes

0

Found in

2018.4

2019.4

2019.4.8f1

2020.1

2020.2

Issue ID

1276002

Regression

No

Crash on DualThreadAllocator<DynamicHeapAllocator>::Allocate when calling AssetDatabase.SaveAssets()

Serialization

-

How to reproduce:
1. Open attached project "Case_1276002"
2. In the project window select "ModuleDataSet/ModuleDataSet.asset"
3. Make sure "Module Prefab" is set to "MineModules" in the inspector
4. Click "Create module data" in the Inspector

Reproducible with: 2018.4.28f1, 2019.4.12f1, 2020.1.8f1, 2020.2.0b6

First lines of the stack trace:
0x00007ff7c637bc44 (Unity) DualThreadAllocator<DynamicHeapAllocator>::Allocate
0x00007ff7c63632c5 (Unity) MemoryManager::Allocate
0x00007ff7c636319c (Unity) MemoryManager::Allocate
0x00007ff7c636319c (Unity) MemoryManager::Allocate
0x00007ff7c6369f02 (Unity) MemoryManager::ReallocateFallbackToAllocateDeallocate

Notes: uses up memory until it locks the machine up for a while

  1. Resolution Note (2021.1.X):

    The issue is caused by the fan out of the recursive serialization by value which runs out of memory before hitting the serialization depth limit. To correctly handle this case using [SerializeReference] on the list of neighbors would do the trick and allow for quick serialization/deserialization.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.