Project-RimFactory-Revived
Project-RimFactory-Revived copied to clipboard
Started 10 Jobs Spam under certain Conditions
Reported by Bradson
Confirmed by me (I was able to reproduce this once on my own.)
Under Certain Conditions, currently unknown to me a Haul Loop can Occur with items Stored in the DSU.
See: https://gist.github.com/HugsLibRecordKeeper/3d392fe8366656386715cdbe984d3865#file-output_log-txt-L216
Sample Save Provided by Bradson
digitalstorage.zip
It appears to be caused by attempting to stack? two incomplete stacks (in all known cases this was with Packaged Survival Meals, but it might not be restricted to that)
Dropping one of the Incomplete Stacks seems to resolve that issue
Analyzing the Provided Save
The Pawn is stuck on the following Job: HaulToCell (Job_XXXXX) A=Thing_MealSurvivalPack10344 B=(120, 0, 125) jobGiver=RimWorld.JobGiver_Work
Thing_MealSurvivalPack10344
is located at (120, 0, 125)
The Target Cell is (120, 0, 125)
So the Pawn attempts to haul an item to the same cell where it is already located at repentantly
Thing_MealSurvivalPack10344 in the Save
<thing Class="ThingWithComps">
<def>MealSurvivalPack</def>
<id>MealSurvivalPack10344</id>
<map>0</map>
<pos>(120, 0, 125)</pos>
<health>50</health>
<stackCount>7</stackCount>
<questTags IsNull="True" />
<ingredients />
</thing>
MealSurvivalPack10355 in the Save (The other partial Stack)
<thing Class="ThingWithComps">
<def>MealSurvivalPack</def>
<id>MealSurvivalPack10355</id>
<map>0</map>
<pos>(120, 0, 125)</pos>
<health>50</health>
<stackCount>9</stackCount>
<questTags IsNull="True" />
<ingredients />
</thing>
I Currently have no idea why that Job is started in the first place
Job Logging
132821 Kisaragi: JobGiver_Work produced scan Job HaulToCell (Job_33972) A=Thing_MealSurvivalPack10344 B=(120, 0, 125) from RimWorld.WorkGiver_Merge
132821 Kisaragi: StartJob [HaulToCell (Job_33972) A=Thing_MealSurvivalPack10344 B=(120, 0, 125)] lastJobEndCondition=None, jobGiver=RimWorld.JobGiver_Work, cancelBusyStances=False
132821 Kisaragi: JobDriver_HaulToCell ends current job HaulToCell (Job_33972) A=Thing_MealSurvivalPack53764 B=(120, 0, 125) because of toil CarryHauledThingToCell at toils[6].endConditions[0]
132821 Kisaragi: EndCurrentJob HaulToCell (Job_33972) A=Thing_MealSurvivalPack53764 B=(120, 0, 125) condition=Incompletable curToil=CarryHauledThingToCell at toils[6]
132821 Kisaragi: CleanupCurrentJob HaulToCell condition Incompletable
I think the report by xexe
has tem same core issue
maybe a possible solution would be to automatically stack incomplete stacks once the DSU is full. but that could have quite a bit of an performance impact hmm
That issue appears to have solved itself in 1.5 Closing as a result