Preparation steps: Create a loop of belts with a priority splitter prioritizing back onto the belt. Saturate one lane with items.
To trigger the issue: Place one belt segment behind the splitter.
Expected behavior: items keep circulating with no items getting output on the unprioritized side.
Actual: An item will be output on the un-prioritized side.
I can only sporadically recreate this issue with yellow belts. I can't get it to happen with blues because they just keep overflowing even without doing anything. Removing the belt segment will also cause an item to be output. The inserter is not necessary; removing it and placing the belt segment will also trigger this, but requires that the test setup be primed again (naturally the belt is no longer saturated).
Attached is a save and a short clip demonstrating the issue. And the log file, forgot that the first time around.
[1.1.107] Placing belts near a saturated priority splitter can cause overflow.
-
- Burner Inserter
- Posts: 5
- Joined: Sat Oct 03, 2015 3:32 am
- Contact:
[1.1.107] Placing belts near a saturated priority splitter can cause overflow.
- Attachments
-
- factorio-current.log
- (5.34 KiB) Downloaded 34 times
-
- beltdemo.mp4
- (9.27 MiB) Downloaded 59 times
-
- belttest.zip
- (1.67 MiB) Downloaded 37 times
-
- Burner Inserter
- Posts: 5
- Joined: Sat Oct 03, 2015 3:32 am
- Contact:
Re: [1.1.107] Placing belts near a saturated priority splitter can cause overflow.
So, I figured it was related to the optimizations described in https://factorio.com/blog/post/fff-176 where placing the new belt segment causes it to rebuild the datastructures that keep track of runs of belts and that somehow makes it pop out. I can't think of any other thing where adding stuff behind a belt would change downstream behavior. Maybe rebuilding those structures makes the splitter buffer eject?
I appreciate the link to 287, tho. I didn't even consider looking at debug options to see if anything was different.
I appreciate the link to 287, tho. I didn't even consider looking at debug options to see if anything was different.