SmartlyDressedGames / Unturned-3.x-Community

Community portion of the Unturned-3.x repo. If you have access to the source code you can find it here:
https://github.com/SmartlyDressedGames/Unturned-3.x/
84 stars 18 forks source link

Out of memory crash #695

Closed D-AIRY closed 5 years ago

D-AIRY commented 5 years ago

Ubuntu 16.04, same with both mono versions, system has about 32GB memory free, process mem usage just before crash:

 VIRT   RES   SHR
4055M 3590M 53356

Log part from legacy mono

Loading level: 83%
Loading level: 91%
Loading level: 100%
Unloading 2 Unused Serialized files (Serialized files now loaded: 15)
DynamicHeapAllocator allocation probe 1 failed - Could not get memory for large allocation 6291483.
DynamicHeapAllocator allocation probe 2 failed - Could not get memory for large allocation 6291483.
DynamicHeapAllocator allocation probe 3 failed - Could not get memory for large allocation 6291483.
DynamicHeapAllocator allocation probe 4 failed - Could not get memory for large allocation 6291483.
DynamicHeapAllocator out of memory - Could not get memory for large allocation 6291483!
Could not allocate memory: System out of memory!
Trying to allocate: 6291483B with 16 alignment. MemoryLabel: TempOverflow
Allocation happend at: Line:178 in
Memory overview

[ ALLOC_DEFAULT ] used: 2659551038B | peak: 0B | reserved: 2746706346B
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_TEMP_BACKGROUND_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_GFX ] used: 332967392B | peak: 0B | reserved: 336592916B
[ ALLOC_CACHEOBJECTS ] used: 535051872B | peak: 0B | reserved: 555745280B
[ ALLOC_TYPETREE ] used: 1684944B | peak: 0B | reserved: 4194304B
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B
[ ALLOC_TEMP_THREAD ] used: 32768B | peak: 0B | reserved: 2228224B
Could not allocate memory: System out of memory!
Trying to allocate: 6291483B with 16 alignment. MemoryLabel: TempOverflow
Allocation happend at: Line:178 in
Memory overview

[ ALLOC_DEFAULT ] used: 2659551038B | peak: 0B | reserved: 2746706346B
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_TEMP_BACKGROUND_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_GFX ] used: 332967392B | peak: 0B | reserved: 336592916B
[ ALLOC_CACHEOBJECTS ] used: 535051872B | peak: 0B | reserved: 555745280B
[ ALLOC_TYPETREE ] used: 1684944B | peak: 0B | reserved: 4194304B
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B
[ ALLOC_TEMP_THREAD ] used: 32768B | peak: 0B | reserved: 2228224B

(Filename:  Line: 1097)

DynamicHeapAllocator allocation probe 1 failed - Could not get memory for large allocation 6291456.
DynamicHeapAllocator allocation probe 2 failed - Could not get memory for large allocation 6291456.
DynamicHeapAllocator allocation probe 3 failed - Could not get memory for large allocation 6291456.
DynamicHeapAllocator allocation probe 4 failed - Could not get memory for large allocation 6291456.
DynamicHeapAllocator out of memory - Could not get memory for large allocation 6291456!
Could not allocate memory: System out of memory!
Trying to allocate: 6291456B with 16 alignment. MemoryLabel: TempOverflow
Allocation happend at: Line:659 in
Memory overview

[ ALLOC_DEFAULT ] used: 2659551038B | peak: 0B | reserved: 2746706346B
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_TEMP_BACKGROUND_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_GFX ] used: 332967392B | peak: 0B | reserved: 336592916B
[ ALLOC_CACHEOBJECTS ] used: 535051872B | peak: 0B | reserved: 555745280B
[ ALLOC_TYPETREE ] used: 1684944B | peak: 0B | reserved: 4194304B
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B
[ ALLOC_TEMP_THREAD ] used: 32768B | peak: 0B | reserved: 2228224B
Could not allocate memory: System out of memory!
Trying to allocate: 6291456B with 16 alignment. MemoryLabel: TempOverflow
Allocation happend at: Line:659 in
Memory overview

[ ALLOC_DEFAULT ] used: 2659551038B | peak: 0B | reserved: 2746706346B
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_TEMP_BACKGROUND_JOB ] used: 0B | peak: 0B | reserved: 1048576B
[ ALLOC_GFX ] used: 332967392B | peak: 0B | reserved: 336592916B
[ ALLOC_CACHEOBJECTS ] used: 535051872B | peak: 0B | reserved: 555745280B
[ ALLOC_TYPETREE ] used: 1684944B | peak: 0B | reserved: 4194304B
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B
[ ALLOC_TEMP_THREAD ] used: 32768B | peak: 0B | reserved: 2228224B

(Filename:  Line: 1097)

Receiving unhandled NULL exception
#0  0x000000ffcc2d00 in (Unknown)
#1  0x000000ffcc3200 in (Unknown)
#2  0x000000ffcc3370 in (Unknown)
#3  0x000000ffcc3390 in (Unknown)
#4  0x000000ffcc3430 in (Unknown)
#5  0x000000ffcc3480 in (Unknown)
#6  0x000000ffcc34a0 in (Unknown)
#7  0x000000ffcc34d0 in (Unknown)
#8  0x000000ffcc3a30 in __libc_start_main
#9  0x000000ffcc3aa0 in (Unknown)

Log part from latest mono:

Loading level: 16%
Loading level: 25%
OutOfMemoryException: Out of memory - SDG.Unturned.LevelGround.load (System.UInt16 size) (at <7db1edde0060431cadfb08a800cc8a79>:0)
SDG.Unturned.Level+<init>c__Iterator0.MoveNext () (at <7db1edde0060431cadfb08a800cc8a79>:0)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <102dc60ee5974486865758606d7385d4>:0)

OutOfMemoryException: Out of memory
  at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_array_new_3 (intptr,intptr,intptr,intptr)
  at SDG.Unturned.LevelGround.load (System.UInt16 size) [0x00745] in <7db1edde0060431cadfb08a800cc8a79>:0
  at SDG.Unturned.Level+<init>c__Iterator0.MoveNext () [0x00119] in <7db1edde0060431cadfb08a800cc8a79>:0
  at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00027] in <102dc60ee5974486865758606d7385d4>:0

(Filename: <7db1edde0060431cadfb08a800cc8a79> Line: 0)
D-AIRY commented 5 years ago

Problem caused 32bit memory limit, solved by moving to x64 headless build