Hi again,
I have an available train station and a train scheduled to go there reports "destination full" even though there is a valid path to it. I need to set the train to manual and back to automatic to make it go there. Same-ish issue as here: viewtopic.php?f=11&t=98310
Details regarding my setup: 40 trains with two stops - 39 outpost stations and 1 outpost source station:
I have build a last outpost containing a train and send the trail to source station. At that point I expect a train, which was already waiting at the outpost source station, to automatically go to latest outpost, yet it reports destination full. This happened to me for the second time yet. Unable to reproduce the issue on demand. Here I attach my savefile containing the bug https://drive.google.com/file/d/1axuXJE ... JOvjG/view
Latest 1.1.101 game version, windows, steam. No mods other than rate calculator and flib. More images here:
Footnote: This is my 2nd atempt posting this. I am doing my best to help improve the game, but my first post got deleted, likely because I replied in the linked post above in the resolved bugs section. Next time I am begging you - consider moving the reply into a new post. Or just notify me, that I need to do it myself rather than deleting it. Thank you from the bottom of my hearth.
[boskid][1.1.101] Train incorrectly reports "Destination full"
- husnikadam
- Fast Inserter
- Posts: 111
- Joined: Mon May 21, 2018 1:56 pm
- Contact:
Re: [boskid][1.1.101] Train incorrectly reports "Destination full"
Thanks for the report. Issue is now fixed for 1.1.102.
I was able to reproduce the issue consistently, it is related to train stop being built from a blueprint (it has a station name already when a ghost is revived) and it is related to entities build order (a train stop was built before a rail next to that train stop).
Because train stop was built before a rail next to it, fault was that it was not triggering limit logic that would try to bring a train, for obvious reasons: since it is not attached to a rail, it would be a no_path, however in this case it is important to temporarily force related trains into no_path state because in this state a train will actively try to search paths when rails are placed compared to a destination_full state in which case train was not woken up by rails being built because in that state it is expected to be notified by the train stop itself when it becomes not full. Since the train stop was not full at the beginning and it was not raising any notifications when rails were later built, a train was never told there is a non full train stop that is reachable.
I was able to reproduce the issue consistently, it is related to train stop being built from a blueprint (it has a station name already when a ghost is revived) and it is related to entities build order (a train stop was built before a rail next to that train stop).
Because train stop was built before a rail next to it, fault was that it was not triggering limit logic that would try to bring a train, for obvious reasons: since it is not attached to a rail, it would be a no_path, however in this case it is important to temporarily force related trains into no_path state because in this state a train will actively try to search paths when rails are placed compared to a destination_full state in which case train was not woken up by rails being built because in that state it is expected to be notified by the train stop itself when it becomes not full. Since the train stop was not full at the beginning and it was not raising any notifications when rails were later built, a train was never told there is a non full train stop that is reachable.
Re: [boskid][1.1.101] Train incorrectly reports "Destination full"
Does the fix have any effect on performance if there is a trainstop with no rails for a long period of time? Just curious.boskid wrote: ↑Mon Jan 08, 2024 8:19 am in this case it is important to temporarily force related trains into no_path state because in this state a train will actively try to search paths when rails are placed compared to a destination_full state in which case train was not woken up by rails being built because in that state it is expected to be notified by the train stop itself when it becomes not full. Since the train stop was not full at the beginning and it was not raising any notifications when rails were later built, a train was never told there is a non full train stop that is reachable.
My mods: Multiple Unit Train Control, Smart Artillery Wagons
Maintainer of Vehicle Wagon 2, Cargo Ships, Honk
Maintainer of Vehicle Wagon 2, Cargo Ships, Honk
Re: [boskid][1.1.101] Train incorrectly reports "Destination full"
Given how this question is stated: No.
This additional limit logic trigger will just cause some trains to switch from destination_full state into no_path state, but as long as a train stop is not attached to any rails it will be skipped by the trains pathfinder searches and so if there are no valid goals (train stop not connected to a rail is not a valid goal) the trains pathfinder will early return and will have no measurable effect.
If that train stop becomes attached to a rail then it would be a different story because in that case every time a rail is built but without making that train stop reachable it will trigger trains pathfinder to try find a path to a now valid goal but if there is no path it will fail only after visiting entire network which is expensive.