NullRef at HierarchicalGraph.RecalculateIfNecessary()

After unloading current level and loading a new one, we call AstarPath.Scan(), but sometimes we get a error:

NullReferenceException: Object reference not set to an instance of an object.
  at Pathfinding.HierarchicalGraph.RecalculateIfNecessary () [0x00000] in <00000000000000000000000000000000>:0 
  at Pathfinding.WorkItemProcessor.ProcessWorkItems (System.Boolean force) [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath.PerformBlockingActions (System.Boolean force) [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath.FlushThreadSafeCallbacks () [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath+<ScanAsync>d__141.MoveNext () [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath.Scan (Pathfinding.NavGraph[] graphsToScan) [0x00000] in <00000000000000000000000000000000>:0 
  at Island.EndIslandInitialization () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.AI.NavMesh+OnNavMeshPreUpdate.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.Timer.Update (System.Single currentTime) [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.LazyTimer.Update () [0x00000] in <00000000000000000000000000000000>:0 

InvalidOperationException: Another async scan is already running
  at AstarPath+<ScanAsync>d__141.MoveNext () [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath.Scan (Pathfinding.NavGraph[] graphsToScan) [0x00000] in <00000000000000000000000000000000>:0 
  at Island.EndIslandInitialization () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.AI.NavMesh+OnNavMeshPreUpdate.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.Timer.Update (System.Single currentTime) [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.LazyTimer.Update () [0x00000] in <00000000000000000000000000000000>:0 

InvalidOperationException: Another async scan is already running
  at AstarPath+<ScanAsync>d__141.MoveNext () [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath.Scan (Pathfinding.NavGraph[] graphsToScan) [0x00000] in <00000000000000000000000000000000>:0 
  at Island.EndIslandInitialization () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.AI.NavMesh+OnNavMeshPreUpdate.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.Timer.Update (System.Single currentTime) [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.LazyTimer.Update () [0x00000] in <00000000000000000000000000000000>:0 

InvalidOperationException: Another async scan is already running
  at AstarPath+<ScanAsync>d__141.MoveNext () [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath.Scan (Pathfinding.NavGraph[] graphsToScan) [0x00000] in <00000000000000000000000000000000>:0 
  at Island.EndIslandInitialization () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.AI.NavMesh+OnNavMeshPreUpdate.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.Timer.Update (System.Single currentTime) [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.LazyTimer.Update () [0x00000] in <00000000000000000000000000000000>:0 

InvalidOperationException: Another async scan is already running
  at AstarPath+<ScanAsync>d__141.MoveNext () [0x00000] in <00000000000000000000000000000000>:0 
  at AstarPath.Scan (Pathfinding.NavGraph[] graphsToScan) [0x00000] in <00000000000000000000000000000000>:0 
  at Island.EndIslandInitialization () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.AI.NavMesh+OnNavMeshPreUpdate.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.Timer.Update (System.Single currentTime) [0x00000] in <00000000000000000000000000000000>:0 
  at LazyBearTechnology.LazyTimer.Update () [0x00000] in <00000000000000000000000000000000>:0 

..... (and so on) ....

As it shows only sometimes and on slow platforms, that seems to be something with async processes.

Hi

That’s unfortunate. Which version are you using? Would it be possible for you to try out the beta (A* Pathfinding Project). Also, would it be possible for you to do a debug build so that line numbers show up?