Jump to content

Frequent crashes when duplicants and remote workers try to do the same task


larsonco
  • Branch: Live Branch Version: Windows Pending

I am getting the same error resulting in game crash regularly (Like Every 1-5 cycles or so.)

Someone in a discord I am in speculates that this type of crash, may be related to remote worker docks.  I'm using locked doors to prevent duplicants from using oil wells that are staffed with a remote worker.

Does anyone know what is causing this? Is there a workaround I can implement to prevent this from happening so frequently?
Thanks!
 

System.NullReferenceException: Object reference not set to an instance of an object.
  at ScheduleBlock.IsAllowed (ScheduleBlockType type) [0x0001e] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at ChorePreconditions+<>c.<.ctor>b__51_15 (Chore+Precondition+Context& context, System.Object data) [0x0002f] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at Chore+Precondition+Context.DoPreconditions (System.Boolean mainThreadOnly) [0x00043] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at Chore+Precondition+Context.RunPreconditions () [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at StandardChoreBase.CollectChores (ChoreConsumerState consumer_state, System.Collections.Generic.List`1[T] succeeded_contexts, System.Collections.Generic.List`1[T] incomplete_contexts, System.Collections.Generic.List`1[T] failed_contexts, System.Boolean is_attempting_override) [0x0000c] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at ChoreProvider+ChoreProviderCollectContext.CollectChore (System.Int32 index, System.Collections.Generic.List`1[T] succeed, System.Collections.Generic.List`1[T] incomplete, System.Collections.Generic.List`1[T] failed) [0x0000c] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at MultithreadedCollectChoreContext`1[ProviderType].DefaultCollectChore (System.Int32 index, System.Int32 threadIndex) [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at MultithreadedCollectChoreContext`1+WorkBlock`1[ProviderType,Parent].IWorkItem<Parent>.Run (Parent shared_data, System.Int32 threadIndex) [0x00009] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at WorkItemCollection`2[WorkItemType,SharedDataType].InternalDoWorkItem (System.Int32 work_item_idx, System.Int32 threadIndex) [0x0000d] in <82d98ed04cc642f199bc654910617431>:0 
  at JobManager.DoNextWorkItem (System.Int32 threadIndex) [0x0001a] in <82d98ed04cc642f199bc654910617431>:0 
  at JobManager+WorkerThread.Run () [0x0001e] in <82d98ed04cc642f199bc654910617431>:0 

  at UnityEngine.Debug.LogError (System.Object message) [0x00000] in <82f243aab18c4f32918da2df41974365>:0 
  at Debug.LogError (System.Object obj) [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at JobManager+WorkerThread.PrintExceptions () [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at JobManager.Run (IWorkItemCollection work_items) [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at GlobalJobManager.Run (IWorkItemCollection work_items) [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at ChoreProvider.CollectChores (ChoreConsumerState consumer_state, System.Collections.Generic.List`1[T] succeeded, System.Collections.Generic.List`1[T] failed_contexts) [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at GlobalChoreProvider.CollectChores (ChoreConsumerState consumer_state, System.Collections.Generic.List`1[T] succeeded, System.Collections.Generic.List`1[T] failed_contexts) [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at ChoreConsumer.FindNextChore (Chore+Precondition+Context& out_context) [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at Brain.FindBetterChore (Chore+Precondition+Context& context) [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at Brain.UpdateChores () [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at Brain.UpdateBrain () [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at MinionBrain.UpdateBrain () [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at BrainScheduler+BrainGroup.RenderEveryTick (System.Single dt) [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at BrainScheduler.RenderEveryTick (System.Single dt) [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
  at SimAndRenderScheduler+RenderEveryTickUpdater.Update (IRenderEveryTick updater, System.Single dt) [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at UpdateBucketWithUpdater`1[DataType].Update (System.Single dt) [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at StateMachineUpdater+BucketGroup.AdvanceOneSubTick (System.Single dt) [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at StateMachineUpdater.RenderEveryTick (System.Single dt) [0x00000] in <82d98ed04cc642f199bc654910617431>:0 
  at Game.LateUpdate () [0x00000] in <81d82ef0abf84e63af4ab107d5f451bc>:0 
Build: U54-647408-SCR

 


Steps to Reproduce

Play my save for a few cycles I guess.  My colony is around 1000 cycles old, and has 29 Bionic duplicants, and no normal duplicants.  The crashes seem to becoming more and more frequent.

Note: I attached my Player-prev.log, since the Player.log is 3 gb in size.

P Boiler - Round 2 Cycle 956.sav




User Feedback


PS I looked at a (smaller) log file the next time this happened.  It indeed seems to be caused by a conflict between duplicants and remote workers trying to do the same task.

A workaround is to make double sure that remote work areas are not accessible by duplicants

Share this comment


Link to comment
Share on other sites

My game is suffering from frequent crashes as well - it all began after producing ~20 flydoes. Up until that point, there were no crashes at all. I assume it might be similar issue, so I'm going to imprison all my flydoes for now and see if this will stabilize the game.
 

NullReferenceException

UnityEngine.GameObject.GetComponent[T] () (at <82f243aab18c4f32918da2df41974365>:0)
RobotElectroBankMonitor.ChargeDecent (RobotElectroBankMonitor+Instance smi) (at <81d82ef0abf84e63af4ab107d5f451bc>:0)
GameStateMachine`4+<>c__DisplayClass28_0[StateMachineType,StateMachineInstanceType,MasterType,DefType].<Not>b__0 (StateMachineInstanceType smi) (at <81d82ef0abf84e63af4ab107d5f451bc>:0)
GameStateMachine`4+State+TransitionUpdater[StateMachineType,StateMachineInstanceType,MasterType,DefType].Update (StateMachineInstanceType smi, System.Single dt) (at <81d82ef0abf84e63af4ab107d5f451bc>:0)
UpdateBucketWithUpdater`1[DataType].Update (System.Single dt) (at <82d98ed04cc642f199bc654910617431>:0)
StateMachineUpdater+BucketGroup.AdvanceOneSubTick (System.Single dt) (at <82d98ed04cc642f199bc654910617431>:0)
StateMachineUpdater.AdvanceOneSimSubTick () (at <82d98ed04cc642f199bc654910617431>:0)
Game.SimEveryTick (System.Single dt) (at <81d82ef0abf84e63af4ab107d5f451bc>:0)
Game.Update () (at <81d82ef0abf84e63af4ab107d5f451bc>:0)

Build: U54-647408-SCR

 

Player.log

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...