[2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Bugs that are actually features.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 518
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

[2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Post by Yoyobuae »

What did you do?
I have two pumps feeding into a pipeline, one pump feeds crude oil and one pump feeds water, and then this pipeline connected to both inputs of an oil refinery with Adv Oil Processing recipe set.

There's a circuit connecting the oil refinery, a pipe and both pumps with the following circuit settings:
  • Oil refinery: "Output: Read contents" is the only thing enabled
  • Pipe: "Output: Mode of operation" is set to "Read pipeline contents"
  • Right Pump: "Input: Enable If" condition is set to "Crude-oil < 250"
  • Left Pump: "Input: Enable If" condition is set to "Water < 125"
Savefile:
Cannot read fluid content of pumps.zip
(529.35 KiB) Downloaded 10 times

Blueprint:

What happened?
Both pumps activate (since the pipe and oil refineries are initially empty) as expected.

In this case, water "wins" and takes the pipeline and flows into the oil refinery. Different runs might have oil "win" first instead (this is expected).

240 units of water in total flows thru the left pump and into the pipeline/oil refinery:
Screenshot_20260804_105749.png
Screenshot_20260804_105749.png (223.32 KiB) Viewed 236 times

150 units of water flow into the oil refinery filling up the input buffer:
Screenshot_20260804_105118.png
Screenshot_20260804_105118.png (308.45 KiB) Viewed 236 times

90 units of water are left sitting on the pipeline, with nowhere to go:
Screenshot_20260804_105423.png
Screenshot_20260804_105423.png (183.08 KiB) Viewed 236 times

400 units of crude oil are stuck inside the right pump:
Screenshot_20260804_105552.png
Screenshot_20260804_105552.png (202.99 KiB) Viewed 236 times
The oil refinery cannot begin crafting due to lack of crude oil, crude oil cannot reach the oil refinery due to water in pipeline, water in pipeline cannot go away since input buffer in oil refinery is full, input buffer cannot empty out because oil refinery cannot craft. IE. it's deadlocked.
What did you expect to happen instead?
I expected the pumps to be limited by the circuit conditions I set, maybe going a bit over the limit but not overshooting the target amount by 90 or even 400.

With the Factorio as it currently stands (as of version 2.1.12) it is impossible to set circuit conditions such that this setup can work.

The crux of the problem is the impossibility of accounting for the contents inside the fluid pump itself. So each pump might overshoot the target fluid amounts by 1~400 fluid units, randomly.
Does it happen always, once, or sometimes?
That's the weird part, with a small setup like this then it will certainly happen nearly always. But scaling the same setup to 8~10 oil refineries then it might never happen (assuming the circuit conditions are set just right).

It just feels wrong there's a random amount of fluid inside each pump that's invisible to the circuit network, even thru the "Read pipeline contents" feature. Pumps are required to control fluid flow thru pipelines, so this source of randomness cannot be easily avoided either.
User avatar
raiguard
Factorio Staff
Factorio Staff
Posts: 822
Joined: Wed Dec 13, 2017 8:29 pm
Contact:

Re: [2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Post by raiguard »

Thanks for the report, but this is not a bug. The "pipeline" only includes the pipes, not the pumps.
Don't forget, you're here forever.
robot256
Smart Inserter
Smart Inserter
Posts: 1448
Joined: Sun Mar 17, 2019 1:52 am
Contact:

Re: [2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Post by robot256 »

Even if it had worked like you expected, it would still overshoot by 0-20 units of fluid every time. The pump only checks the circuit condition once per tick and moves up to 20 units of fluid per tick ((1200/sec) / (60 ticks/sec)). Sushi pipes only work when you have circuit-controlled filtered purge pumps to remove each fluid before adding a new one.
My mods: Multiple Unit Train Control, RGB Pipes, Shipping Containers, Rocket Log, Smart Artillery Wagons.
Maintainer of Auto Deconstruct, Cargo Ships, Vehicle Wagon, Honk, Shortwave.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 518
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: [2.1.12] "Read pipeline contents" circuit connection does not read the content of pumps feeding into pipeline

Post by Yoyobuae »

raiguard wrote: Tue Aug 04, 2026 6:16 pm Thanks for the report, but this is not a bug. The "pipeline" only includes the pipes, not the pumps.
But there's no way at all to include the pumps in circuit network calculations, because pumps lack a "Read contents" feature.
robot256 wrote: Wed Aug 05, 2026 1:54 pm Even if it had worked like you expected, it would still overshoot by 0-20 units of fluid every time. The pump only checks the circuit condition once per tick and moves up to 20 units of fluid per tick ((1200/sec) / (60 ticks/sec)). Sushi pipes only work when you have circuit-controlled filtered purge pumps to remove each fluid before adding a new one.
0-20 is way better than 0~400. 20x better in fact.
Post Reply

Return to “Not a bug”