RimWorld

RimWorld

RimThreaded
dread_ 10 Apr, 2021 @ 10:04am
ErrorLog
Get some version of these messages from time to time, I think these are related to this mod (or rather some incompatibility with some other mod I guess):

Exception ticking world pawn Phocas. Suppressing further errors. System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException (System.ExceptionResource resource) [0x0000b] in <567df3e0919241ba98db88bec4c6696f>:0
at System.Collections.Generic.List`1+Enumerator[T].MoveNextRare () [0x00013] in <567df3e0919241ba98db88bec4c6696f>:0
at System.Collections.Generic.List`1+Enumerator[T].MoveNext () [0x0004a] in <567df3e0919241ba98db88bec4c6696f>:0
at System.Linq.Enumerable.TryGetFirst[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate, System.Boolean& found) [0x0004f] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Linq.Enumerable.FirstOrDefault[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at TD_Enhancement_Pack.Learn_Patch.Postfix (RimWorld.SkillRecord __instance, System.Single xp) [0x00036] in <c5f8a9e4c44b499ca78ae23841a65df9>:0
at (wrapper dynamic-method) RimWorld.SkillRecord.RimWorld.SkillRecord.Learn_Patch2(RimWorld.SkillRecord,single,bool)
at RimWorld.SkillRecord.Interval () [0x00093] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_SkillTracker.SkillsTick () [0x0008f] in <c36f9493c9844ddaa7fb5c788416098f>:0
at Verse.Pawn.Tick () [0x00160] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimThreaded.RimThreaded.ExecuteTicks () [0x00562] in <0159967a552640fa8217f400cfa096c6>:0
Verse.Log:Verse.Log.Error_Patch2(String, Boolean)
Verse.Log:ErrorOnce(String, Int32, Boolean)
RimThreaded.RimThreaded:ExecuteTicks()
RimThreaded.RimThreaded:ProcessTicks(ThreadInfo)
RimThreaded.RimThreaded:InitializeThread(ThreadInfo)
RimThreaded.<>c__DisplayClass80_0:<CreateWorkerThread>b__0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()

Any ideas what mod might be the culprit? From the looks of it, I don't seem to have any of the mods in the incompatible list (though frankly, I have a ton of mods).
< >
Showing 1-15 of 19 comments
pgames-food 10 Apr, 2021 @ 11:59am 
hi dread,
it could be related to the td enhancement mod

if you are using that, try toggling the "Level-up arrows indicate skill learning in Character Tab" option.. if possible. it could be that particular feature which is causing it?

(also as a test, if you try removing that mod, does the error go away?)
(also, have a look in mod options of this RimThreaded mod (RT), and can you see the td enhancement mod mentioned in the Potential Conflicts area?
nikos  [developer] 10 Apr, 2021 @ 3:53pm 
Indeed, TD enhancement skill arrows will cause issues when viewing the bio tab, other than that its ok.

The other errors dont really seem all that serious. Unless they affect gameplay in some way
dread_ 11 Apr, 2021 @ 10:53am 
Okay turning off the arrows helped in that regard. I still get some (other) errors from time to time, but by far not as many as before. When I get one, I will post an update here.
Some other issues I think are related to this mod (rather, the combination of this mod with my ~100 other mods):
I have trouble with the bestowing ceremony. I right click the bestower, I get the message 'ceremony started' but my pawn just walks off. I can circumvent that by restarting the game, then it works. There were some warnings (though no errors), that I forgot to copy before restarting (will do that next time I get a level up).
Despite these issues, I really enjoy this mod. My computer is a potatoe and slow af anyway, but with multicore usage, at least I get somewhat decent fps/tps.
nikos  [developer] 11 Apr, 2021 @ 12:42pm 
the bestowing bug you described is another known issue.

Please spend some time reading the wiki:
https://github.com/cseelhoff/RimThreaded/wiki
pgames-food 12 Apr, 2021 @ 1:08am 
cool you got 1 bug out of the way.
yeah its aways good to check the wiki - nikos has better memory than me - i think its becuase their computer runs on nik o/s :)
pgames-food 15 Apr, 2021 @ 7:22pm 
btw nikos posted an update on the main thread here:
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2222907981

(bestowing should be fixed in a new version being worked on)
dread_ 17 Apr, 2021 @ 8:03am 
Great job on that bestowing fix!

Sadly, still having some issues. That ticking thing still occurs from time to time, also sometimes have issues with dead enemies and even bullets fired. Most of the time, a restart solves the problems (for a while). Also I tend to just ignore them (turn off messages, restart when it gets too severe/some actual ingame issues arise, like stuff can't be built etc.).
The most annoying problem I have right now is ingame stutters:

Exception ticking Antelope (at (157, 0, 116)): System.Threading.ThreadAbortException
at RimThreaded.JobDriver_Patch.DriverTick (Verse.AI.JobDriver __instance) [0x00378] in <0159967a552640fa8217f400cfa096c6>:0
at (wrapper dynamic-method) Verse.AI.JobDriver.Verse.AI.JobDriver.DriverTick_Patch1(Verse.AI.JobDriver)
at Verse.AI.Pawn_JobTracker.JobTrackerTick () [0x00169] in <c36f9493c9844ddaa7fb5c788416098f>:0
at Verse.Pawn.Tick () [0x00098] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimThreaded.RimThreaded.ExecuteTicks () [0x00105] in <0159967a552640fa8217f400cfa096c6>:0
Verse.Log:Error(String, Boolean)
RimThreaded.RimThreaded:ExecuteTicks()
RimThreaded.RimThreaded:ProcessTicks(ThreadInfo)
RimThreaded.RimThreaded:InitializeThread(ThreadInfo)
RimThreaded.<>c__DisplayClass80_0:<CreateWorkerThread>b__0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()

Thread: System.Threading.Thread did not finish within 5000ms. Restarting thread...
Verse.Log:Error(String, Boolean)
RimThreaded.RimThreaded:MonitorThreads()
RimThreaded.<>c:<.cctor>b__77_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()



The problem with the second one is - the game hangs for 5 (= 5000ms) seconds whenever it occurs. Most of the time, its a one time occurence (hangs for 5 sec, than works fine again) but sometimes it gets in an endless stuttering loop.
pgames-food 17 Apr, 2021 @ 8:54pm 
ah ok, if that antelope is hanging around the outer edges of your base/map, you could try a few things meanwhile..

1) to zap it in dev mode (to destroy it completely)
(and then to try respawning an antelope back into your map)

2) to try tweaking your timeout MS to be slightly smaller say 1second less (4000ms) to see

3) to see if that issue only happens on higher forced speeds (like >> and >>>?)
dread_ 18 Apr, 2021 @ 12:38am 
Oh, that is no actual Antelope, but a pawn with that name, so I'd rather avoid killing him :D
It's usually him and his wife that make these issues. Not sure if it is related, but both of them have the count title.
I found that drafting and undrafting seems to help sometimes, else a restart does the trick.
I'll try to change the timeout settings, and to answer point 3, yes it usually happens on speed 3 - except for battles I use the highest speed
pgames-food 18 Apr, 2021 @ 12:42am 
oh ok, yes dont zap him indeed :)

ok yeah if you can try to lower the speed slightly when having that it might help a bit until the direct cause can be found
pgames-food 18 Apr, 2021 @ 12:44am 
btw theres always arguing going :)

"Verse.AI.JobSlaveDriver.Verse.Wife.Nagging_Patch1(Verse.TidyTheRoom)
at Verse.AI.Pawn_Antelope
during Verse.Pawn.Getting.Ticked.Off () [0x00098]" :lunar2019grinningpig: - joke
nikos  [developer] 18 Apr, 2021 @ 7:16pm 
do you have a throne room with 2 thrones? and do the errors occur when they meditate?
we got a error about that, but its not confirmed. im wondering if you are having that issue
dread_ 18 Apr, 2021 @ 11:38pm 
Yeah, actually quite a lot of thrones in there, Not entirely sure if its always when they meditate, but that might be the case
dread_ 19 Apr, 2021 @ 8:19am 
I think that is indeed the issue. I set them all to 0% desired psy focus, so nobody meditated - the game ran for hours without any issue. To test the hypothesis, I set it back to 100% - and just seconds later I get it again:

Thread: System.Threading.Thread did not finish within 5000ms. Restarting thread...
Verse.Log:Error(String, Boolean)
RimThreaded.RimThreaded:MonitorThreads()
RimThreaded.<>c:<.cctor>b__77_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()

Exception in JobDriver tick for pawn Codex driver=JobDriver_Reign (toilIndex=2) driver.job=(Reign (Job_16290736) A=Thing_GrandThrone1417251 B=(161, 0, 112) C=Thing_GrandThrone1417251)
System.Threading.ThreadAbortException
at System.Collections.Generic.HashSet`1[T].AddIfNotPresent (T value) [0x0002f] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at System.Collections.Generic.HashSet`1[T].Add (T item) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at Verse.Room.ThingCount (Verse.ThingDef def) [0x0003a] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.RoomRequirement_ThingCount.Count (Verse.Room r) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.RoomRequirement_ThingCount.Met (Verse.Room r, Verse.Pawn p) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_RoyaltyTracker+<GetUnmetThroneroomRequirements>d__84.MoveNext () [0x000f6] in <c36f9493c9844ddaa7fb5c788416098f>:0
at System.Linq.Enumerable.Any[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00015] in <351e49e2a5bf4fd6beabb458ce2255f3>:0
at RimWorld.FocusStrengthOffset_ThroneSatisfiesRequirements.CanApply (Verse.Thing parent, Verse.Pawn user) [0x00021] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.CompMeditationFocus.GetStatOffset (Verse.Pawn pawn) [0x00038] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.StatWorker_PossibleCompOffsets.GetValueUnfinalized (RimWorld.StatRequest req, System.Boolean applyPostProcess) [0x0003e] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.StatWorker.GetValue (RimWorld.StatRequest req, System.Boolean applyPostProcess) [0x00043] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.StatWorker.GetValue (Verse.Thing thing, Verse.Pawn pawn, System.Boolean applyPostProcess) [0x00008] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.StatExtension.GetStatValueForPawn (Verse.Thing thing, RimWorld.StatDef stat, Verse.Pawn pawn, System.Boolean applyPostProcess) [0x00006] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.MeditationUtility.PsyfocusGainPerTick (Verse.Pawn pawn, Verse.Thing focus) [0x00018] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.Pawn_PsychicEntropyTracker.GainPsyfocus (Verse.Thing focus) [0x00000] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.JobDriver_Meditate.MeditationTick () [0x0015e] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimWorld.JobDriver_Reign.<MakeNewToils>b__7_4 () [0x000f6] in <c36f9493c9844ddaa7fb5c788416098f>:0
at RimThreaded.JobDriver_Patch.DriverTick (Verse.AI.JobDriver __instance) [0x00318] in <0159967a552640fa8217f400cfa096c6>:0
Verse.Log:Warning(String, Boolean)
Verse.AI.JobUtility:Verse.AI.JobUtility.TryStartErrorRecoverJob_Patch0(Pawn, String, Exception, JobDriver)
RimThreaded.JobDriver_Patch:DriverTick(JobDriver)
Verse.AI.JobDriver:Verse.AI.JobDriver.DriverTick_Patch1(JobDriver)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick()
RimThreaded.RimThreaded:ExecuteTicks()
RimThreaded.RimThreaded:ProcessTicks(ThreadInfo)
RimThreaded.RimThreaded:InitializeThread(ThreadInfo)
RimThreaded.<>c__DisplayClass80_0:<CreateWorkerThread>b__0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()


As a sidenote: It seems the mod does not take its settings into account:

Thread: System.Threading.Thread did not finish within 5000ms.

I did set the Timeout waiting for threads to 3000ms - but it still takes the default 5000ms. After I go into mod settings (not even chagning anything), it uses the actual settings from the config:

Thread: System.Threading.Thread did not finish within 3000ms. Restarting thread...
dread_ 19 Apr, 2021 @ 9:01am 
Originally posted by pgames-food:
3) to see if that issue only happens on higher forced speeds (like >> and >>>?)

After tracking down the issue to meditation (it definitely is related to throne meditation), I set up a meditation schedule and checked on speed 1 - sadly, the problem still occurs. Its usually 2-4 pawns with 2-3 lost threads each, after that its fine (until the next day).

Except... sometimes, the game totally 'loses its threads', so to speak: Basically, all pawns (and animals, and probably everything else like fires, I can only assume because there weren't any when it happend) just freeze. The time still goes forward, I can scroll around, the music still plays, but everything is 'dead', nothing happens.
< >
Showing 1-15 of 19 comments
Per page: 1530 50