bbradson / Performance-Fish

Performance Mod for RimWorld
Mozilla Public License 2.0
423 stars 34 forks source link

Potential CTD issue with Psycasts Expanded #19

Closed Pursec closed 2 months ago

Pursec commented 7 months ago

Getting a CTD when running Psycasts Expanded with Performance Fish, brought up the crash log to the VE team and was redirected here believing its an issue with Perf Fish. Crash and Player Log attached. Apologies for other mod errors such as VFX in the player log (this was caused by an unneeded mod) and RimWorld.JobGiver_OptimizeApparel (caused by improper outfitt assignments for Animals with Animal Gear) These are unrelated.

CTD occurs when evaluating a dictionary in PsycastsExpanded.GenRadialCached.RadialDistinctThingsAround(). Any help into the matter/if it is truly an issue on the Performance Fish side is greatly appreciated. Stack Trace from Player.Log:

========== OUTPUTTING STACK TRACE ==================

0x000001B1CBFCD4F5 (Mono JIT Code) FisheryLib.Equality:Equals<VanillaPsycastsExpanded.GenRadialCached/Key> (VanillaPsycastsExpanded.GenRadialCached/Key,VanillaPsycastsExpanded.GenRadialCached/Key)
0x000001B1CBFCC4DB (Mono JIT Code) PerformanceFish.System.ValueTypeEqualityComparer`1<VanillaPsycastsExpanded.GenRadialCached/Key>:Equals (VanillaPsycastsExpanded.GenRadialCached/Key,VanillaPsycastsExpanded.GenRadialCached/Key)
0x000001B1CBFC761D (Mono JIT Code) System.Collections.Generic.Dictionary`2<VanillaPsycastsExpanded.GenRadialCached/Key, System.Collections.Generic.HashSet`1<Verse.Thing>>:FindEntry (VanillaPsycastsExpanded.GenRadialCached/Key)
0x000001B1CBFC73A3 (Mono JIT Code) System.Collections.Generic.Dictionary`2<VanillaPsycastsExpanded.GenRadialCached/Key, System.Collections.Generic.HashSet`1<Verse.Thing>>:TryGetValue (VanillaPsycastsExpanded.GenRadialCached/Key,System.Collections.Generic.HashSet`1<Verse.Thing>&)
0x000001B1CBFC7003 (Mono JIT Code) VanillaPsycastsExpanded.GenRadialCached:RadialDistinctThingsAround (Verse.IntVec3,Verse.Map,single,bool)
0x000001B1CBFC621B (Mono JIT Code) VanillaPsycastsExpanded.StatPart_NearbyFoci:AllFociNearby (Verse.Thing,Verse.Pawn)
0x000001B1CBFC5D1B (Mono JIT Code) VanillaPsycastsExpanded.StatPart_NearbyFoci:TransformValue (RimWorld.StatRequest,single&)
0x000001AC4C2CF65D (Mono JIT Code) (wrapper dynamic-method) RimWorld.StatWorker:RimWorld.StatWorker.FinalizeValue_Patch1 (RimWorld.StatWorker,RimWorld.StatRequest,single&,bool)
0x000001AFED060B29 (Mono JIT Code) (wrapper dynamic-method) RimWorld.StatWorker:RimWorld.StatWorker.GetValue_Patch0 (RimWorld.StatWorker,RimWorld.StatRequest,bool)
0x000001B1CB48088B (Mono JIT Code) RimWorld.StatWorker:GetValue (Verse.Thing,Verse.Pawn,bool)
0x000001B1CB4807A3 (Mono JIT Code) RimWorld.StatExtension:GetStatValueForPawn (Verse.Thing,RimWorld.StatDef,Verse.Pawn,bool)
0x000001B239148E73 (Mono JIT Code) RimWorld.JobDriver_Meditate:<MakeNewToils>b__15_1 ()
0x000001B1CB9BB7ED (Mono JIT Code) Verse.AI.ToilFailConditions/<>c__DisplayClass1_0`1<T_REF>:<FailOn>b__0 ()
0x000001AC5974C0C8 (Mono JIT Code) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
0x000001B0D190AE9B (Mono JIT Code) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.DriverTick_Patch0 (Verse.AI.JobDriver)
0x000001AFECFD8A23 (Mono JIT Code) (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0 (Verse.AI.Pawn_JobTracker)
0x000001AFECFD98F0 (Mono JIT Code) (wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch1 (Verse.Pawn)
0x000001B1CB9005B0 (Mono JIT Code) Verse.TickList:Tick ()
0x000001AFED061203 (Mono JIT Code) (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager)
0x000001B1CB8FB64B (Mono JIT Code) Verse.TickManager:TickManagerUpdate ()
0x000001B0D179414B (Mono JIT Code) (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch5 (Verse.Game)
0x000001B0D183F493 (Mono JIT Code) (wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)
0x000001AC4900D7B0 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007FF918CBE270 (mono-2.0-bdwgc) mono_get_runtime_build_info
0x00007FF918C42AE2 (mono-2.0-bdwgc) mono_perfcounters_init
0x00007FF918C4BB3F (mono-2.0-bdwgc) mono_runtime_invoke
0x00007FF9176F606D (UnityPlayer) UnityMain
0x00007FF9176F3443 (UnityPlayer) UnityMain
0x00007FF9176DC603 (UnityPlayer) UnityMain
0x00007FF9176DC6BD (UnityPlayer) UnityMain
0x00007FF917468110 (UnityPlayer) UnityMain
0x00007FF9175B63C7 (UnityPlayer) UnityMain
0x00007FF9175B6463 (UnityPlayer) UnityMain
0x00007FF9175B88BC (UnityPlayer) UnityMain
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF91736751E)
0x00007FF91736751E (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF91736627A)
0x00007FF91736627A (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF91736A32C)
0x00007FF91736A32C (UnityPlayer) (function-name not available)
0x00007FF91736DE1B (UnityPlayer) UnityMain
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FF6C45F11F2)
0x00007FF6C45F11F2 (RimWorldWin64) (function-name not available)
0x00007FF97F16257D (KERNEL32) BaseThreadInitThunk
0x00007FF980E0AA58 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

error.log Player.log

bbradson commented 6 months ago

Could you provide a minimal modlist and reproduction steps? It's not easy to fix something that requires other mods I don't have and the error itself isn't very descriptive. 'A dynamic link library (DLL) initialization routine failed.' suggests something to do with load order or mismatched mod versions somewhere

bbradson commented 2 months ago

Closing this now as it's not reproducible for me. Feel free to reopen the issue with more information when possible