[Klonan] [2.0.11] Train interrupt wildcard signal mixing

This subforum contains all the issues which we already resolved.
Post Reply
C__
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Oct 26, 2024 10:53 pm
Contact:

[Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by C__ »

When using an interrupt with the wildcard signal, it mixes signals to (incorrectly) satisfy the interrupt condition and activate the interrupt.

Steps to reproduce:
1) Load attached save "TrainInterruptWildCardMixingSignals.zip"
2) Set the train directly below the engineer (at station "gearwheel Waiting Station") to automatic
3) Add a sulfur signal to the constant combinator.
4) The interrupt "Intermediates" activates and adds two stops to the waiting train, going to advanced circuits manufacturing and to advanced circuits processing.

The interrupt is meant to check if there is a pickup station and a dropoff station available for certain items. If there is a slot for the train in both the pickup and dropoff for that train, the interrupt will activate. See attached image "Interrupt.png" for clarification. The current condition is that for the sulfur, the condition "Wildcard Manufacturing" is not full evaluates to true, while "Wildcard Processing" is not full evaluates to false. And for the Advanced Circuits, that the condition "Wildcard Manufacturing" is not full evaluates to false, while "Wildcard Processing" is not full evaluates to true. See attached images for the status of the sulfur and advanced circuits stations.

The observed behaviour is that the condition for the first condition of the interrupt ("Wildcard Manufacturing" is not full) is satisfied for sulfur but not the advanced circuits, while the second condition ("Wildcard Processing" is not full) is satisfied for advanced circuits, but not for the sulfur. The Interrupt activates with the wildcard set to advanced circuits, and then remain stationary because the advanced circuits manufacturing station is full. In a way, the wilcard mixes the sulfur and advanced ciruits to satisfy the condition of the interrupt.

What I expect to happen is that for both sulfur and advanced circuits, the condition of the interrupt evaluates to false. For sulfur due ("Sulfur Processing" is not full) evaluating to false, and for advanced ciruits due to ("Advanced Circuits Manufacturing" is not full) evaluating to false. As a result the interrupt does not activate and the train remain at the station.

This is because of the description given ingame:
When used in schedule interrupt, it will match the first signal that passes all (emphasis mine) wait conditions and replace the signal with that signal. (See attached image "Wildcard signal desciption.png"")

So checks for the Sulfur signal-> interrupt condition evaluates to false, and checks for the Advanced circuit signal -> interrupt condition evaluates to false.
Attachments
factorio-current.log
Log file
(13.11 KiB) Downloaded 3 times
Image showing the wildcard signal desciption
Image showing the wildcard signal desciption
Wildcard signal description.png (100.42 KiB) Viewed 607 times
Image showing the status of the adavanced circuit stations
Image showing the status of the adavanced circuit stations
FactorioAdvancedCircuitsStations.png (7.75 KiB) Viewed 607 times
Image showing the status of the sulfur stations
Image showing the status of the sulfur stations
FactorioSulfurStations.png (7.45 KiB) Viewed 607 times
Image showing the interrupt
Image showing the interrupt
Interrupt.png (303.56 KiB) Viewed 607 times
TRainInterruptWildCardMixingSignals.zip
Savefile used to reproduce the issue
(8.56 MiB) Downloaded 4 times

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5204
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by Klonan »

Hello,

Thank you for the report,
It should be fixed for the next release

Criperum
Inserter
Inserter
Posts: 40
Joined: Thu Jan 26, 2017 7:22 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by Criperum »

Still experiencing this bug in 2.0.12
As you can see the train has request temp station. It cannot reach it because it's full. But interruption should not fire in first place in the situation
Attachments
interrupt.png
interrupt.png (328.31 KiB) Viewed 449 times

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5204
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by Klonan »

Hi,

Can you provide the updated save game?

C__
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Oct 26, 2024 10:53 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by C__ »

Klonan wrote:
Mon Oct 28, 2024 12:32 pm
Hello,

Thank you for the report,
It should be fixed for the next release
Thanks for the quick update and fix! I haven't even made it to space yet, but I can tell the love the team has for factorio with all the new QoL features.
Criperum wrote:
Mon Oct 28, 2024 8:37 pm
Still experiencing this bug in 2.0.12
As you can see the train has request temp station. It cannot reach it because it's full. But interruption should not fire in first place in the situation
Hi Criperum,
I encountered a similar result as shown in your picture. Maybe this example can help diagnose it.

Initial situation:
There are two trains with the "Order" interupt and waiting at a depot. The water provide station has two train slots available and the water request station has zero available train slots. In other words, the water provide station is not full, while the water request station is full. The interrupt does not trigger.
  • The water request station now request a train. The interrupt triggers on the first train and it heads to the water provide station.
  • The water request now only has one available train slot. Note that, since the first train is not yet heading towards the water request station, that station still has an available train slot and therefore the station is not full!
  • Since both stations still have a train slot and are therefore not full, the interrupt triggers on the second train and it heads towards the water provide station
  • The first train leaves the water provide station and heads towards the water request station. The water request station has no available train slots and is now full.
  • The second train has full cargo, but since the water request station is full it waits until there is a train slot available
The result is that the second train is now waiting for the water request station to not be full, which is similar to what I can see on your picture.

I'm not saying this happened to you, but perhaps this might be the case. I would argue that in my example above the interrupt was triggered correctly on both occasions (so not a bug). I hope this helps.

Criperum
Inserter
Inserter
Posts: 40
Joined: Thu Jan 26, 2017 7:22 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by Criperum »

My ordering system is in initial state and i have only one working liquid train. So there is no race condition between them
Attachments
Space Age Save 2.zip
(8.33 MiB) Downloaded 4 times

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5204
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by Klonan »

Criperum wrote:
Tue Oct 29, 2024 7:25 am
My ordering system is in initial state and i have only one working liquid train. So there is no race condition between them
I can't seem to reproduce the issue from the save game, even when I turn both trains on,
They seem to correctly only activate when both the provide and request are open

Criperum
Inserter
Inserter
Posts: 40
Joined: Thu Jan 26, 2017 7:22 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by Criperum »

It just takes time to happen. But i'm sure it happens. I'll try to catch the moment and make a video

falconfused
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sun Oct 27, 2024 8:47 pm
Contact:

Re: [Klonan] [2.0.11] Train interrupt wildcard signal mixing

Post by falconfused »

@Klonan,
As per the reply on Oct 28, the second train is being scheduled to the requester station before the first train completes its first stop at the provider station. The "is full" interrupt logic always checks the trains "on the way" and there's no way to have it check "trains with this stop."
Is there a way to put "trains with this stop" onto the circuit network? Similar to how the button "Read train count" already can output the number of trains "on the way" to the variable "C"?
10-30-2024, 18-06-35.png
10-30-2024, 18-06-35.png (194.32 KiB) Viewed 28 times
This would open more logic options to enable and disable train stops based on trains scheduling future stations.

As always, many thanks for your (and all the devs') work on the game and the many frequent bug fixes as we get through the first couple weeks!

Post Reply

Return to “Resolved Problems and Bugs”