RimWorld

RimWorld

Smart Colonist Bar
Bug report
1.0.7579.20400 -- 5adc1c4
BetterColonistBar, Version=1.0.7579.37385, Culture=neutral, PublicKeyToken=null
Encounters errors when sequentially updates BreakLevelCache after a failed parallel one.
System.AggregateException: One or more errors occurred. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at (wrapper stelemref) System.Object.virt_stelemref_class_small_idepth(intptr,object)
at System.Collections.Generic.List`1[T].RemoveAt (System.Int32 index) [0x00042] in <567df3e0919241ba98db88bec4c6696f>:0
at Verse.GenCollection.RemoveLast[T] (System.Collections.Generic.List`1[T] list) [0x00007] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RelationsTracker+<get_FamilyByBlood_Internal>d__26.MoveNext () [0x000c1] in <c36f9493c9844ddaa7fb5c788416098f>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00036] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value) [0x0000a] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at RimWorld.PawnRelationWorker_Kin.InRelation (Verse.Pawn me, Verse.Pawn other) [0x00034] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.PawnRelationUtility+<GetRelations>d__0.MoveNext () [0x00155] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RelationsTracker.OpinionOf (Verse.Pawn other) [0x0004d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.LovePartnerRelationUtility.ExistingMostLikedLovePartnerRel (Verse.Pawn p, System.Boolean allowDead) [0x0005d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtWorker_OpinionOfMyLover.CurrentStateInternal (Verse.Pawn p) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtWorker.CurrentState (Verse.Pawn p) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Thought_Situational.CurrentStateInternal () [0x0000b] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Thought_Situational.RecalculateState () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.SituationalThoughtHandler.CheckRecalculateMoodThoughts () [0x0003a] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.SituationalThoughtHandler.AppendMoodThoughts (System.Collections.Generic.List`1[T] outThoughts) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtHandler.GetAllMoodThoughts (System.Collections.Generic.List`1[T] outThoughts) [0x0003f] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtHandler.GetDistinctMoodThoughtGroups (System.Collections.Generic.List`1[T] outThoughts) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at (wrapper dynamic-method) RimWorld.ThoughtHandler.RimWorld.ThoughtHandler.TotalMoodOffset_Patch0(RimWorld.ThoughtHandler)
at RimWorld.Need_Mood.get_CurInstantLevel () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at BetterColonistBar.BreakLevelCache.UpdateCache (Verse.Pawn pawn) [0x0013b] in <ca57a4e623584e9ab4c7194d31a92966>:0
at BetterColonistBar.BreakLevelCache.UpdateCache () [0x0000c] in <ca57a4e623584e9ab4c7194d31a92966>:0
at RimWorldUtility.CacheableTick`1[TType].op_Implicit (RimWorldUtility.CacheableTick`1[TType] cache) [0x00027] in <4ffe6cf15066488ebc2a07b027cfba72>:0
at BetterColonistBar.BreakLevelCache.get_Dirty () [0x00000] in <ca57a4e623584e9ab4c7194d31a92966>:0
at BetterColonistBar.BCBManager+<>c__DisplayClass27_0.<UpdateColonistBar>b__0 (RimWorld.ColonistBar+Entry t) [0x00018] in <ca57a4e623584e9ab4c7194d31a92966>:0
at System.Linq.Parallel.ForAllOperator`1+ForAllEnumerator`1[TInput,TKey].MoveNext (TInput& currentElement, System.Int32& currentKey) [0x00029] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.ForAllSpoolingTask`2[TInputOutput,TIgnoreKey].SpoolingWork () [0x00010] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.SpoolingTaskBase.Work () [0x0005d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.QueryTask.BaseWork (System.Object unused) [0x00015] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.QueryTask+<>c.<.cctor>b__10_0 (System.Object o) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Threading.Tasks.Task.InnerInvoke () [0x00025] in <567df3e0919241ba98db88bec4c6696f>:0
at System.Threading.Tasks.Task.Execute () [0x00010] in <567df3e0919241ba98db88bec4c6696f>:0
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.IndexOutOfRangeException: Index was outside the bounds of the array.
at (wrapper stelemref) System.Object.virt_stelemref_class_small_idepth(intptr,object)
at System.Collections.Generic.List`1[T].RemoveAt (System.Int32 index) [0x00042] in <567df3e0919241ba98db88bec4c6696f>:0
at Verse.GenCollection.RemoveLast[T] (System.Collections.Generic.List`1[T] list) [0x00007] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RelationsTracker+<get_FamilyByBlood_Internal>d__26.MoveNext () [0x000c1] in <c36f9493c9844ddaa7fb5c788416098f>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00036] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value) [0x0000a] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at RimWorld.PawnRelationWorker_Kin.InRelation (Verse.Pawn me, Verse.Pawn other) [0x00034] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.PawnRelationUtility+<GetRelations>d__0.MoveNext () [0x00155] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RelationsTracker.OpinionOf (Verse.Pawn other) [0x0004d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.LovePartnerRelationUtility.ExistingMostLikedLovePartnerRel (Verse.Pawn p, System.Boolean allowDead) [0x0005d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtWorker_OpinionOfMyLover.CurrentStateInternal (Verse.Pawn p) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtWorker.CurrentState (Verse.Pawn p) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Thought_Situational.CurrentStateInternal () [0x0000b] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Thought_Situational.RecalculateState () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.SituationalThoughtHandler.CheckRecalculateMoodThoughts () [0x0003a] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.SituationalThoughtHandler.AppendMoodThoughts (System.Collections.Generic.List`1[T] outThoughts) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtHandler.GetAllMoodThoughts (System.Collections.Generic.List`1[T] outThoughts) [0x0003f] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtHandler.GetDistinctMoodThoughtGroups (System.Collections.Generic.List`1[T] outThoughts) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at (wrapper dynamic-method) RimWorld.ThoughtHandler.RimWorld.ThoughtHandler.TotalMoodOffset_Patch0(RimWorld.ThoughtHandler)
at RimWorld.Need_Mood.get_CurInstantLevel () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at BetterColonistBar.BreakLevelCache.UpdateCache (Verse.Pawn pawn) [0x0013b] in <ca57a4e623584e9ab4c7194d31a92966>:0
at BetterColonistBar.BreakLevelCache.UpdateCache () [0x0000c] in <ca57a4e623584e9ab4c7194d31a92966>:0
at RimWorldUtility.CacheableTick`1[TType].op_Implicit (RimWorldUtility.CacheableTick`1[TType] cache) [0x00027] in <4ffe6cf15066488ebc2a07b027cfba72>:0
at BetterColonistBar.BreakLevelCache.get_Dirty () [0x00000] in <ca57a4e623584e9ab4c7194d31a92966>:0
at BetterColonistBar.BCBManager+<>c__DisplayClass27_0.<UpdateColonistBar>b__0 (RimWorld.ColonistBar+Entry t) [0x00018] in <ca57a4e623584e9ab4c7194d31a92966>:0
at System.Linq.Parallel.ForAllOperator`1+ForAllEnumerator`1[TInput,TKey].MoveNext (TInput& currentElement, System.Int32& currentKey) [0x00029] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.ForAllSpoolingTask`2[TInputOutput,TIgnoreKey].SpoolingWork () [0x00010] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.SpoolingTaskBase.Work () [0x0005d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.QueryTask.BaseWork (System.Object unused) [0x00015] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.QueryTask+<>c.<.cctor>b__10_0 (System.Object o) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Threading.Tasks.Task.InnerInvoke () [0x00025] in <567df3e0919241ba98db88bec4c6696f>:0
at System.Threading.Tasks.Task.Execute () [0x00010] in <567df3e0919241ba98db88bec4c6696f>:0 <---

---> (Inner Exception #1) System.IndexOutOfRangeException: Index was outside the bounds of the array.
at (wrapper stelemref) System.Object.virt_stelemref_class_small_idepth(intptr,object)
at System.Collections.Generic.List`1[T].RemoveAt (System.Int32 index) [0x00042] in <567df3e0919241ba98db88bec4c6696f>:0
at Verse.GenCollection.RemoveLast[T] (System.Collections.Generic.List`1[T] list) [0x00007] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RelationsTracker+<get_FamilyByBlood_Internal>d__26.MoveNext () [0x000c1] in <c36f9493c9844ddaa7fb5c788416098f>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00036] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value) [0x0000a] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at RimWorld.PawnRelationWorker_Kin.InRelation (Verse.Pawn me, Verse.Pawn other) [0x00034] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.PawnRelationUtility+<GetRelations>d__0.MoveNext () [0x00155] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RelationsTracker.OpinionOf (Verse.Pawn other) [0x0004d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.LovePartnerRelationUtility.ExistingMostLikedLovePartnerRel (Verse.Pawn p, System.Boolean allowDead) [0x0005d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover.CurrentStateInternal (Verse.Pawn p) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtWorker.CurrentState (Verse.Pawn p) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Thought_Situational.CurrentStateInternal () [0x0000b] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Thought_Situational.RecalculateState () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.SituationalThoughtHandler.CheckRecalculateMoodThoughts () [0x0003a] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.SituationalThoughtHandler.AppendMoodThoughts (System.Collections.Generic.List`1[T] outThoughts) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtHandler.GetAllMoodThoughts (System.Collections.Generic.List`1[T] outThoughts) [0x0003f] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.ThoughtHandler.GetDistinctMoodThoughtGroups (System.Collections.Generic.List`1[T] outThoughts) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at (wrapper dynamic-method) RimWorld.ThoughtHandler.RimWorld.ThoughtHandler.TotalMoodOffset_Patch0(RimWorld.ThoughtHandler)
at RimWorld.Need_Mood.get_CurInstantLevel () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at BetterColonistBar.BreakLevelCache.UpdateCache (Verse.Pawn pawn) [0x0013b] in <ca57a4e623584e9ab4c7194d31a92966>:0
at BetterColonistBar.BreakLevelCache.UpdateCache () [0x0000c] in <ca57a4e623584e9ab4c7194d31a92966>:0
at RimWorldUtility.CacheableTick`1[TType].op_Implicit (RimWorldUtility.CacheableTick`1[TType] cache) [0x00027] in <4ffe6cf15066488ebc2a07b027cfba72>:0
at BetterColonistBar.BreakLevelCache.get_Dirty () [0x00000] in <ca57a4e623584e9ab4c7194d31a92966>:0
at BetterColonistBar.BCBManager+<>c__DisplayClass27_0.<UpdateColonistBar>b__0 (RimWorld.ColonistBar+Entry t) [0x00018] in <ca57a4e623584e9ab4c7194d31a92966>:0
at System.Linq.Parallel.ForAllOperator`1+ForAllEnumerator`1[TInput,TKey].MoveNext (TInput& currentElement, System.Int32& currentKey) [0x00029] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.ForAllSpoolingTask`2[TInputOutput,TIgnoreKey].SpoolingWork () [0x00010] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.SpoolingTaskBase.Work () [0x0005d] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.QueryTask.BaseWork (System.Object unused) [0x00015] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Parallel.QueryTask+<>c.<.cctor>b__10_0 (System.Object o) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Threading.Tasks.Task.InnerInvoke () [0x00025] in <567df3e0919241ba98db88bec4c6696f>:0
at System.Threading.Tasks.Task.Execute () [0x00010] in <567df3e0919241ba98db88bec4c6696f>:0 <---




System.IndexOutOfRangeException: Index was outside the bounds of the array.
at (wrapper stelemref) System.Object.virt_stelemref_class_small_idepth(intptr,object)
at System.Collections.Generic.List`1[T].Add (T item) [0x0001e] in <567df3e0919241ba98db88bec4c6696f>:0
at RimWorld.Pawn_RelationsTracker+<get_FamilyByBlood_Internal>d__26.MoveNext () [0x0007b] in <c36f9493c9844ddaa7fb5c788416098f>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value, System.Collections.Generic.IEqualityComparer`1[T] comparer) [0x00036] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.Contains[TSource] (System.Collections.Generic.IEnumerable`1[T] source, TSource value) [0x0000a] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at RimWorld.PawnRelationWorker_Kin.InRelation (Verse.Pawn me, Verse.Pawn other) [0x00034] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.PawnRelationUtility+<GetRelations>d__0.MoveNext () [0x00155] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RelationsTracker.OpinionOf (Verse.Pawn other) [0x0004d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.LovePartnerRelationUtility.ExistingMostLikedLovePartnerRel (Verse.Pawn p, System.Boolean allowDead) [0x0005d] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Thought_OpinionOfMyLover.get_BaseMoodOffset () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at (wrapper dynamic-method) RimWorld.Thought.RimWorld.Thought.MoodOffset_Patch1(RimWorld.Thought)
at (wrapper dynamic-method) RimWorld.ThoughtHandler.RimWorld.ThoughtHandler.MoodOffsetOfGroup_Patch0(RimWorld.ThoughtHandler,RimWorld.Thought)
at (wrapper dynamic-method) RimWorld.ThoughtHandler.RimWorld.ThoughtHandler.TotalMoodOffset_Patch0(RimWorld.ThoughtHandler)
at RimWorld.Need_Mood.get_CurInstantLevel () [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at BetterColonistBar.BreakLevelCache.UpdateCache (Verse.Pawn pawn) [0x0013b] in <ca57a4e623584e9ab4c7194d31a92966>:0
at BetterColonistBar.BreakLevelCache.UpdateCache () [0x0000c] in <ca57a4e623584e9ab4c7194d31a92966>:0
at RimWorldUtility.CacheableBase`3[TType,TTime,TInterval].ForceUpdate () [0x00028] in <4ffe6cf15066488ebc2a07b027cfba72>:0
at BetterColonistBar.BCBManager.UpdateColonistBar () [0x0007d] in <ca57a4e623584e9ab4c7194d31a92966>:0