[1.3] [KV] Infinite Storage [ModSync RW]

Started by Kiame, December 16, 2017, 07:45:52 PM

Previous topic - Next topic

Kiame

Quote from: Canute on July 25, 2018, 02:10:23 PM
You should wrote a new Novell
The neverending unstable modding story or
How the game break's a mod faster then modder can fix it. :-)

Haha

I am actually amazed how little Infinite Storage has been broken over the last month. It's my most complex mod yet it's only really been broken once (now twice).

rawrfisher

Mods that break frequently should only be updated once a week to save time lol
Professional jerk
Want something broken let me know

Kiame

Quote from: rawrfisher on July 25, 2018, 01:17:27 PM
Getting these errors since the latest update.

I'm guessing the exceptions were thrown when a pawn was trying to craft? I've tested building an inf storage, adding things to it, and having pawns remove mats for crafting and it seems to be working correctly with build "RimWorld 1.0.1975 rev1032"

rawrfisher

It is possible that the issue is a symptom of a different problem
Professional jerk
Want something broken let me know

KnewOne

It appears that pawns do not craft with items inside these 1-block storages. Is it intentional?
1974 dev

Kiame

Pawns should be taking stored items, something may have gotten broken in one of the updates

rawrfisher

It has been like that since 74 kiame.  I was talking about this issue before.  I rest my case I think this behavior is a symptom of a different mod causeing issues
Professional jerk
Want something broken let me know

Kiame

Yep works on my side. If both of you can post a list of active mods (easiest way is to post a stack trace via hugslib) i'll compare the two against my mod list and that might narrow down the culprit

rawrfisher

Quote from: Kiame on July 30, 2018, 10:28:43 PM
Yep works on my side. If both of you can post a list of active mods (easiest way is to post a stack trace via hugslib) i'll compare the two against my mod list and that might narrow down the culprit

https://git.io/fNVhD

Theres an output log

Bell threw exception in WorkGiver ConstructDeliverResourcesToFrames: System.NullReferenceException: Object reference not set to an instance of an object
at System.Collections.Generic.GenericComparer`1<string>.Compare (string,string) <0x00081>
at System.Collections.Generic.SortedDictionary`2/NodeHelper<string, System.Collections.Generic.LinkedList`1<Verse.Thing>>.Compare (string,System.Collections.Generic.RBTree/Node) <0x00099>
at System.Collections.Generic.RBTree.Lookup<string> (string) <0x00092>
at System.Collections.Generic.SortedDictionary`2<string, System.Collections.Generic.LinkedList`1<Verse.Thing>>.TryGetValue (string,System.Collections.Generic.LinkedList`1<Verse.Thing>&) <0x0005c>
at InfiniteStorage.Building_InfiniteStorage.TryGetValue (Verse.ThingDef,Verse.Thing&) <IL 0x0000e, 0x0004c>
at InfiniteStorage.Patch_ItemAvailability_ThingsAvailableAnywhere.Postfix (bool&,RimWorld.ItemAvailability,Verse.ThingCountClass,Verse.Pawn) <IL 0x0006f, 0x001be>
at (wrapper dynamic-method) RimWorld.ItemAvailability.ThingsAvailableAnywhere_Patch1 (object,Verse.ThingDefCountClass,Verse.Pawn) <IL 0x000d0, 0x001dc>
at RimWorld.WorkGiver_ConstructDeliverResources.ResourceDeliverJobFor (Verse.Pawn,RimWorld.IConstructible,bool) [0x00089] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\WorkGivers\Construction\WorkGiver_ConstructDeliverResources.cs:67
at RimWorld.WorkGiver_ConstructDeliverResourcesToFrames.JobOnThing (Verse.Pawn,Verse.Thing,bool) [0x00073] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\WorkGivers\Construction\WorkGiver_ConstructDeliverResourceToFrames.cs:40
at RimWorld.WorkGiver_Scanner.HasJobOnThing (Verse.Pawn,Verse.Thing,bool) [0x00005] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\WorkGiver.cs:93
at RimWorld.JobGiver_Work/<TryIssueJobPackage>c__AnonStorey1.<>m__0 (Verse.Thing) [0x00029] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\JobGiver_Work.cs:103
at Verse.GenClosest/<ClosestThingReachable>c__AnonStorey0.<>m__0 (Verse.Thing) [0x00047] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\GenClosest.cs:144
at Verse.GenClosest.ClosestThing_Global (Verse.IntVec3,System.Collections.IEnumerable,single,System.Predicate`1<Verse.Thing>,System.Func`2<Verse.Thing, single>) [0x00091] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\GenClosest.cs:352
at Verse.GenClosest.ClosestThingReachable (Verse.IntVec3,Verse.Map,Verse.ThingRequest,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>,System.Collections.Generic.IEnumerable`1<Verse.Thing>,int,int,bool,Verse.RegionType,bool) [0x001a4] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\GenClosest.cs:152
at RimWorld.JobGiver_Work.TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) [0x00443] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\JobGiver_Work.cs:145

Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
RimWorld.JobGiver_Work:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\JobGiver_Work.cs:214)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:176)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:18)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:245)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Subtree.cs:36)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:18)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Conditionals.cs:25)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:18)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:CheckForJobOverride() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:456)
RimWorld.<LayDown>c__AnonStorey0:<>m__1() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobDrivers\SatisfyNeeds\Toils_LayDown.cs:135)
Verse.AI.JobDriver:DriverTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:345)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:131)
Verse.Pawn:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Pawn\Pawn.cs:557)
Verse.TickList:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:125)
Verse.TickManager:DoSingleTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:303)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:267)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:512)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)

Specific error
Professional jerk
Want something broken let me know

Kiame

Thanks rawrfisher

hmmm i think i only checked for crafting and not building a wall/furniture. I will check that tonight

Kiame

Apologies all around

There is a major bug with removing items for construction of walls/furniture. For some reason SortedDictionary (c# library) is causing a memory access error. I'm exploring different options and will have a fix soon'ish (1-2 days i hope)

rawrfisher

Professional jerk
Want something broken let me know

Kiame

Yep. At this point it looks like it's a Unity bug which I'll need to work around

rawrfisher

Professional jerk
Want something broken let me know

Kiame

[1.0] Update:
The issue with building walls / furniture should now be resolved.