Page 1 of 1

[kovarex] [0.15.31] trains that run out of fuel occupy one block in front.

Posted: Sat Aug 12, 2017 4:05 am
by triffid_hunter
Noticed this in a multiplayer the other day, a train ran out of fuel in a siding so the main line was not physically blocked, however it held the next couple of signals reserved so no other train could pass that section of track even though it had no fuel and could not move.

Please make trains that run out of fuel release reserved blocks until they are refueled

Re: [0.15.31] trains that run out of fuel keep tracks ahead rese

Posted: Sat Aug 12, 2017 6:59 am
by Loewchen
Can not reproduce, post a save file of the latest version with the player next to a train in that condition.

Edit:I think I managed to create this state:
Cheat 15.1.zip
(5.48 MiB) Downloaded 159 times
, but it occupies only one block more in front of the train.

Re: [0.15.31] trains that run out of fuel occupie one block in front.

Posted: Tue Jan 30, 2018 5:29 pm
by pyrachi
I've run into this issue before - but with a busy train depot so it was far more difficult to identify why the chain signal was red and far harder to trace down the train causing it.


In the picture the train at A has no fuel, is set to automatic, and is scheduled to go to the train stop at B. The chain signal at C is red even though no trains occupy any of the rail segments ahead of it:
Visualization of the problem
Visualization of the problem
out-of-fuel.jpg (169.52 KiB) Viewed 3161 times

As best as I can tell, automatic trains have some sort of path reservation functionality: they can reserve rail segments ahead of them so that other trains will treat them as occupied. This works great when the trains are moving to prevent collisions, but the reservations do not appear to be released when the trains are out of fuel and have zero velocity.

Steps to repro
1. Use this :
blueprint string
2. Place a locomotive at combinator A. No fuel.
3. Schedule the train to go to the train stop at B.
4. Switch train to automatic.
5. Observe that the chain signal at C is now red even though no trains occupy any of the rail segments ahead of it.

Note: I reproduced this on 0.16.20.

Re: [kovarex] [0.15.31] trains that run out of fuel occupie one block in front.

Posted: Thu Feb 01, 2018 3:10 am
by kovarex
Yes, the signal reserving logic doesn't take into account the fact, that the train might run out of fuel.
We should make a logic, that deletes the path (and unreserves the signals) when the train runs out of fuel.

Re: [kovarex] [0.15.31] trains that run out of fuel occupy one block in front.

Posted: Thu Feb 01, 2018 8:22 am
by kovarex
I was thinking about it, and I believe, that for the sake of inner integrity of the system and simplicity, I will keep it as it is.

Re: [kovarex] [0.15.31] trains that run out of fuel occupy one block in front.

Posted: Thu Feb 01, 2018 3:54 pm
by PadreSperanza
just asking but:

For me it is like the train must reserve the track because it is placed over a chain signal. What happens when you remove the signal under the train? I mean a train in chain-signal-block must reserve all tracks in his way to the next normal signal, that's how it must work and how it does right now seen in the picture.

The only way the train must unreserve the tracks is when it runs out of fuel before the first chain signal not after it went over. Did you test this fact?