What did you do?
I set up an assembler that's set to produce 2 items, gears and pipes. All the outputs are done with inserters who have a filter whitelist for a specific item of the process (metal, gear, pipe). The assembler has "set recipe" activated and with the help of 2 decider combinators a signal is sent to produce the item with less items on the reader belt segments
The belts have conditions set that they block if all 3 belts output belts (iron, pipes, steel - steel isn't relevant for the bug) don't have 4 items on the reader belt segment.
What happened?
1. Either the pipes or the gear belt fills up which stops that one inserter from dropping its item because of "target full"
2. This stops the other filter inserter.
3. Which means the reader belt segment status does not change anymore
4. Which fills up the assembler's internal buffer and it stops working
5. complete deadlock
What did you expect to happen instead? It might be obvious to you, but do it anyway!
I expected the second filter inserter to continue its job and not stop working, just because the first filter inserter can't get rid of its item.
Does it happen always, once, or sometimes?
yes, it might take some time for the setup to run until one of the belts fills enough but once the back-filling occured the above mentioned sequence happens every time.
I provided a save file where the deadlock already happened. If the belts are emptied and the system is started again the back-filling occurs some time later and the inserters stop working.
As far as I can tell this does not happen with inserters that have no filter set.
2 filter inserters deadlock because one has target full
2 filter inserters deadlock because one has target full
- Attachments
-
- bug report.zip
- (3.62 MiB) Downloaded 10 times
Re: 2 filter inserters deadlock because one has target full
Thanks for the report however that is working as intended. You must empty the output inventory trash items before it will continue extracting from the normal result.
If you want to get ahold of me I'm almost always on Discord.
Re: 2 filter inserters deadlock because one has target full
The issue is, that one filter inserter has the "target full" state and the other gets stuck in "waiting for source items" while the assembler has "output full".
The second inserter is "waiting for source item" even though the assembler complains that the output is full with the items that inserter says it is waiting for.
The second inserter is "waiting for source item" even though the assembler complains that the output is full with the items that inserter says it is waiting for.
Last edited by nubnax on Sat Oct 26, 2024 8:24 pm, edited 1 time in total.
Re: 2 filter inserters deadlock because one has target full
You must remove the pipes before the inserter is allowed to remove the gears.
If you want to get ahold of me I'm almost always on Discord.