BugReport: Memory Leak After importing Entities

  • A* version: [5.3.5]
  • Unity version: [6000.0.47f1]

Steps:

  • Create new project
  • Import A*
  • Add AStar component
  • Add RecastGraph
  • Import Entities (current version 1.3.14)
  • Enter Play Mode → Leave → Enter.

Stack Trace:
Found 35 leak(s) from callstack:
0x000001c59f852103 (Mono JIT Code) Unity.Collections.Memory/Unmanaged/Array:Resize (void*,long,long,Unity.Collections.AllocatorManager/AllocatorHandle,long,int) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/Memory.cs:79)
0x000001c59f851d13 (Mono JIT Code) Unity.Collections.Memory/Unmanaged:Allocate (long,int,Unity.Collections.AllocatorManager/AllocatorHandle) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/Memory.cs:20)
0x000001c661a44feb (Mono JIT Code) Unity.Collections.NativeReference1<Pathfinding.Sync.SpinLock>:Allocate (Unity.Collections.AllocatorManager/AllocatorHandle,Unity.Collections.NativeReference1<Pathfinding.Sync.SpinLock>&) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/NativeReference.cs:66)
0x000001c661a44cb3 (Mono JIT Code) Unity.Collections.NativeReference`1<Pathfinding.Sync.SpinLock>:.ctor (Unity.Collections.AllocatorManager/AllocatorHandle,Unity.Collections.NativeArrayOptions) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/NativeReference.cs:43)
0x000001c661a3f0b3 (Mono JIT Code) Pathfinding.NavmeshEdges:Init () (at ./Packages/com.arongranberg.astar/Core/Misc/NavmeshEdges.cs:36)
0x000001c661ce7e03 (Mono JIT Code) Pathfinding.NavmeshEdges:GetNavmeshEdgeData (Pathfinding.Sync.RWLock/CombinedReadLockAsync&) (at ./Packages/com.arongranberg.astar/Core/Misc/NavmeshEdges.cs:108)
0x000001c661ce7c03 (Mono JIT Code) AstarPath:GetNavmeshBorderData (Pathfinding.Sync.RWLock/CombinedReadLockAsync&) (at ./Packages/com.arongranberg.astar/Core/AstarPath.cs:2459)
0x000001c661ce41e3 (Mono JIT Code) Pathfinding.ECS.FollowerControlSystem:ProcessControlLoop (Unity.Entities.SystemState&,single) (at ./Packages/com.arongranberg.astar/Core/ECS/Systems/FollowerControlSystem.cs:96)
0x000001c661ce367b (Mono JIT Code) Pathfinding.ECS.FollowerControlSystem:OnUpdate (Unity.Entities.SystemState&) (at ./Packages/com.arongranberg.astar/Core/ECS/Systems/FollowerControlSystem.cs:78)
0x000001c661ce34c3 (Mono JIT Code) Pathfinding.ECS.FollowerControlSystem:__codegen__OnUpdate (intptr,intptr)
0x000001c661b78a0f (Mono JIT Code) Unity.Entities.SystemBaseRegistry/<>c__DisplayClass9_0:b__0 (intptr,intptr) (at ./Library/PackageCache/com.unity.entities@e581b903be8e/Unity.Entities/SystemBaseRegistry.cs:249)
0x000001c5a6d87153 (Mono JIT Code) (wrapper native-to-managed) Unity.Entities.SystemBaseRegistry/<>c__DisplayClass9_0:b__0 (intptr,intptr)
0x00007ffbcc7a5ece (ae8969367bc11d286ec8e1c118b4552) Unity.Entities.WorldUnmanagedImpl.Unity.Entities.UnmanagedUpdate_00001677$BurstDirectCall.Invoke (at C:/Users/Ray/Desktop/TEST/Library/PackageCache/com.unity.burst@59eb6f11d242/.Runtime/unknown/unknown:0)
0x00007ffbcc7a46e9 (ae8969367bc11d286ec8e1c118b4552) 7bf3b3dc1c88cb657fd69b548232391d
0x000001c661b788fa (Mono JIT Code) (wrapper managed-to-native) Unity.Entities.WorldUnmanagedImpl/Unity.Entities.UnmanagedUpdate_00001677$BurstDirectCall:wrapper_native_indirect_000001C6C15BE8E0 (intptr&,void*)
0x000001c661b7845b (Mono JIT Code) Unity.Entities.WorldUnmanagedImpl/Unity.Entities.UnmanagedUpdate_00001677$BurstDirectCall:Invoke (void*)
0x000001c661b78333 (Mono JIT Code) Unity.Entities.WorldUnmanagedImpl:UnmanagedUpdate (void*)
0x000001c661b77b4b (Mono JIT Code) Unity.Entities.WorldUnmanagedImpl:UpdateSystem (Unity.Entities.SystemHandle) (at ./Library/PackageCache/com.unity.entities@e581b903be8e/Unity.Entities/WorldUnmanaged.cs:891)
0x000001c661b6f14b (Mono JIT Code) Unity.Entities.ComponentSystemGroup:UpdateAllSystems () (at ./Library/PackageCache/com.unity.entities@e581b903be8e/Unity.Entities/ComponentSystemGroup.cs:717)

Found 1 leak(s) from callstack:
0x000001c59f852103 (Mono JIT Code) Unity.Collections.Memory/Unmanaged/Array:Resize (void*,long,long,Unity.Collections.AllocatorManager/AllocatorHandle,long,int) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/Memory.cs:79)
0x000001c59f851d13 (Mono JIT Code) Unity.Collections.Memory/Unmanaged:Allocate (long,int,Unity.Collections.AllocatorManager/AllocatorHandle) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/Memory.cs:20)
0x000001c661a44feb (Mono JIT Code) Unity.Collections.NativeReference1<Pathfinding.Sync.SpinLock>:Allocate (Unity.Collections.AllocatorManager/AllocatorHandle,Unity.Collections.NativeReference1<Pathfinding.Sync.SpinLock>&) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/NativeReference.cs:66)
0x000001c661a44cb3 (Mono JIT Code) Unity.Collections.NativeReference1<Pathfinding.Sync.SpinLock>:.ctor (Unity.Collections.AllocatorManager/AllocatorHandle,Unity.Collections.NativeArrayOptions) (at ./Library/PackageCache/com.unity.collections@d49facba0036/Unity.Collections/NativeReference.cs:43) 0x000001c661a3f0b3 (Mono JIT Code) Pathfinding.NavmeshEdges:Init () (at ./Packages/com.arongranberg.astar/Core/Misc/NavmeshEdges.cs:36) 0x000001c661a3e0d3 (Mono JIT Code) Pathfinding.NavmeshEdges:RecalculateObstacles (Unity.Collections.NativeList1,Unity.Collections.NativeReference`1,Unity.Jobs.JobHandle) (at ./Packages/com.arongranberg.astar/Core/Misc/NavmeshEdges.cs:40)
0x000001c661a3c6f3 (Mono JIT Code) Pathfinding.HierarchicalGraph:JobRecalculateIfNecessary (Unity.Jobs.JobHandle) (at ./Packages/com.arongranberg.astar/Core/Pathfinding/HierarchicalGraph.cs:563)
0x000001c661a3bb5b (Mono JIT Code) Pathfinding.HierarchicalGraph:RecalculateIfNecessary () (at ./Packages/com.arongranberg.astar/Core/Pathfinding/HierarchicalGraph.cs:539)
0x000001c661936b9b (Mono JIT Code) AstarPath/d__129:MoveNext () (at ./Packages/com.arongranberg.astar/Core/AstarPath.cs:1873)
0x000001c66192dfc5 (Mono JIT Code) AstarPath:Scan (Pathfinding.NavGraph) (at ./Packages/com.arongranberg.astar/Core/AstarPath.cs:1569)
0x000001c5e682bfe3 (Mono JIT Code) AstarPath:OnEnable () (at ./Packages/com.arongranberg.astar/Core/AstarPath.cs:1304)
0x000001c6940c4738 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007ffbd39968de (mono-2.0-bdwgc) mono_jit_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/mini/mini-runtime.c:3445)
0x00007ffbd38d8404 (mono-2.0-bdwgc) do_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3068)
0x00007ffbd38d84f0 (mono-2.0-bdwgc) mono_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3115)
0x00007ffbde4e01f4 (Unity) scripting_method_invoke
0x00007ffbde4b7ff3 (Unity) ScriptingInvocation::Invoke
0x00007ffbde4a3684 (Unity) MonoBehaviour::CallMethodIfAvailable
0x00007ffbde4a1e9e (Unity) MonoBehaviour::AddToManager

Sorry, that seems to be an accidental leak introduced in the latest update. I’ll investigate and fix it in the next update.

1 Like