Page 1 of 1

[0.12.4][hanziq] Trains not recalculating route at signal

Posted: Tue Aug 25, 2015 6:24 pm
From my understanding of the latest patch notes, when a train is stopped at a signal, it will eventually recalculate and find a new way out. I've got two examples in my most recent game where I think that should have happened, but instead the train has stopped indefinitely. I've looked around for any similar reports and been unable to find anything, and I'm pretty sure this isn't a case of bad signalling causing this, but feel free to correct me if I'm wrong.

First, I have the stuck in a roundabout:
Stuck in roundabout
roundabout-stuck.PNG (1005.9 KiB) Viewed 3794 times
For whatever reason, the train has decided to enter the roundabout and make a 360 circle. Since the entire inside of the roundabout is chain signals, it's blocking itself. So first, I'm not sure why the train has decided to make a 360 degree turn inside the roundabout. But it has a valid escape path: out on the top left track. I would think that after 30 seconds it would go out that way instead of remaining stuck in this loop. I imagine in this case if I replaced the two chain signals on the loop that are between the double tracking with block signals it would fix this particular issue, but I would still think it should timeout after 30 seconds and find another way out. Of note, this network is designed such that if it went to the left, it would be able to come back around, either by turning around in another roundabout, or just using another stretch of track to reach its destination (this is a large sprawling redundant network.

And second, I have a train stuck in another loop type thing:
Stuck in a turnaround
turnaround-stuck.PNG (781.17 KiB) Viewed 3794 times
This one is maybe a little more confusing as to what's going on. I have a 1 way loop that shares the same entry and exit track, I use these as "passenger stations" on my network. It's signalled so that if a train is parked there (like the train at the bottom) other trains won't be able to even turn onto the tracks. The hope is that they would see this is an invalid path and pick some other place to turnaround. However this train on top decided it wanted to turnaround in my passenger station, and so blocked the whole network waiting to make a turn it never could.

Of final note, my train network isn't a "looping" network, trains leave train stations and enter the network going the correct direction, because all stations have entrances and exits from both directions. Less frequently used stations get modified roundabouts (like the kind in the first image, trains can go straight through without disturbing each other, but trains entering or leaving should reserve the whole roundabout) while more frequently used stations and intersections use non-looping junctions. But probably because of how many trains I have (over 50) and how many of them are travelling over the mainline in my base, and how redundant my network is, trains often end up wanting to turn themselves around to reach their destinations, particularly in the area of my base.

I've attached the two saves that produced these deadlocks. They're both the same game, just saved where I was standing at the deadlock, created right before I manually cleared the deadlock. Unfortunately replay is disabled so I can't go back and look at how these trains got stuck the way they did. I do have some mods installed, but they're mostly convenience mods:
RailTanker 1.0.1
TheFatController 0.2.4
blueprint-string 2.0.3
trainstats 1.0.0

Re: [0.12.4][hanziq] Trains not recalculating route at signal

Posted: Thu Aug 27, 2015 10:20 am
by HanziQ
I fixed the second problem, it was a corner case for trains with just 1 station in their schedule, it was not applying the pathfinding penalty.
With the first problem, I'll get back to you on that, I have tried a simple solution, but it became more complicated along the way, so I need to do some testing.

Re: [0.12.4][hanziq] Trains not recalculating route at signal

Posted: Fri Aug 28, 2015 8:18 pm
The more I think about the top problem, the more I think that might actually be a signalling problem and not a "bug." The more I think about it, the more I can't come up with a reason for the two signals in between the double track on the roundabout to be chain signals rather than block signals. And if they were block signals this wouldn't happen. Maybe a chain signal that can loop into itself is just a bad idea?

Re: [0.12.4][hanziq] Trains not recalculating route at signal

Posted: Tue Oct 13, 2015 9:33 am
by HanziQ
I'm going to call the top problem not a bug, the block the train is in is occupied, therefore it shouldn't be able to be reserved by any train, even the one, that's currently occupying it. Allowing it would definitely cause some problems, I'll try looking at this for 0.13 with other train refactoring. The other problem was solved, so moving to solved bugs.