https://youtu.be/hTklp6Quxwk A video that explores the issue. Ca. 7 minutes long.
Some trains will get stopped by the "actuator" of a set of wired-together chain+rail signals. Some will not get stopped in what appears to be exactly the same situation.
I am not sure why this is the case.
I have a save that will allow you to explore the issue within the game. It places you right on top of the offending set of signals. The first train will pass by north to south without issues, but the second one will get blocked. If you manually drive it past the signal, the next set of trains are fine again.
While the save does have mods, I do not think that any of these are the reason for this behavior, as it happens in vanilla as well. It also only happens on these "back connected" sets of rails. See the video for clarity. Feel free to fly through the video if there is an explanation you don't need.^^
[boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
[boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Last edited by gghf on Fri Oct 02, 2020 1:37 pm, edited 2 times in total.
Re: [1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Provided save file has only 3 trains and the map looks quite different from what is in the video (a lot less rails).
Re: [1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Very sorry, I'd accidentally selected the wrong save.
I've fixed the OP with a link to the correct one.
I've fixed the OP with a link to the correct one.
Re: [boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Now how to fix this so the previous fix from 0.17.49
is still true. Basically the issue is because train repaths, when doing so it clears all signal reservations, so when the new path is found, train is unable to reserve this signal back since the signal has pending close request from circuit network. I think train will need to stash reservations so in case of repath this signal is able to be reserved back even when it has flag to be reserved by circuit network.- Fixed that rail signal disabled by circuit network didn't prevent train passing by it if it guards a block that is already reserved/occupied by the same train. (71839)
Re: [boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Ok, the issue is now fixed for the next release (1.1.0). It also covers another issue that i noticed which is tightly related to this.
Code: Select all
- Fixed that train could get stuck within chain signal section when exit signal is requested to close by circuit network and train is forced to repath. (https://forums.factorio.com/90015)
- Fixed that train would not immediately reserve signals in chain signal section after repath when there are no signals within braking distance.
Re: [boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
You're awesome, thank you.
You know you have a system with huge potential for player-agency if you still find edge-cases years and years into development...
You know you have a system with huge potential for player-agency if you still find edge-cases years and years into development...
Re: [boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Just to clarify - will this fix this issue too? I ask because they seem to be the same problem - a train being forced to repath when a wire condition tried to close signals which the train has already reserved - but that version involves no chain signals, just regular signals, and your fix note specifically says "within chain signal section".
Re: [boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
If there are no chain signals then it is completly unrelated. I was fixing quite a lot of issues with trains and repathing for 1.1, one of them was that train would not reacquire signals immediately making them close by circuit network and forcing train to hard stop - in 1.1 if a train repaths it will be able to reacqure signals it had reserved before repath, even when they are scheduled to be closed by circuit network.macdjord wrote: ↑Wed Oct 28, 2020 9:35 pm Just to clarify - will this fix this issue too? I ask because they seem to be the same problem - a train being forced to repath when a wire condition tried to close signals which the train has already reserved - but that version involves no chain signals, just regular signals, and your fix note specifically says "within chain signal section".
Re: [boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Now I'm confused, because you just told me both 'no, it's unrelated' and 'yes, the exact issue you're talking about is fixed'. Here is a post which explains how to trigger the bug, and here is a screenshot of such a setup. Is it fixed or not?boskid wrote: ↑Wed Oct 28, 2020 10:53 pm If there are no chain signals then it is completly unrelated. I was fixing quite a lot of issues with trains and repathing for 1.1, one of them was that train would not reacquire signals immediately making them close by circuit network and forcing train to hard stop - in 1.1 if a train repaths it will be able to reacqure signals it had reserved before repath, even when they are scheduled to be closed by circuit network.
Re: [boskid][1.0.0] Inconsistent Train behavior around a wired set of chain + rail signal in the same situation.
Its kind of late for me today, there were like 5 different issues with really tiny details distinguishing them apart and i am not interested in verifying if a description in a form of an image (would have to reproduce it by myself which i wont: save files are the best) was covered by one of those fixes (that is: by which one exactly). Will it be fixed? yes because of the fixes related to reacquiring signals. Is this related to this bug report? i do not care.
Only case that i am aware that may not be fixed completly is when a train extends its path due to braking point approaching waypoint: in this case rail signal logic restarts and may not reacquire rail signals properly if they are requested to be closed by circuit network. Every other repath case i was able to find and add a proper guards to prevent circuit network from closing a signal.