[Dominik][0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

This subforum contains all the issues which we already resolved.
Post Reply
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2700
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

[Dominik][0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

Post by boskid »

Ref:
- 74252 - uses similar custom fluid fuzzer in control.lua
- 74116 - this issue may be reproduced by this script

Steps to reproduce:
  1. Load "fluid_fuzzer-crash.zip" (more waiting, in case of early save corruption) or "fluid_fuzzer-crash-b.zip" (less waiting)
    fluid_fuzzer-crash.zip
    (169.13 KiB) Downloaded 124 times
    fluid_fuzzer-crash-b.zip
    (170.61 KiB) Downloaded 134 times
  2. Increase speed to x64
  3. Wait some time (65s for first save, 5s for second save)
  4. Crash
    log

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2700
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

Post by boskid »

[0.17.64]
74269-manual-reproduction.gif
74269-manual-reproduction.gif (493.63 KiB) Viewed 3718 times
-- edit:
issue looks to be around building pipe-to-ground ghost (may be similar to 74252), where unconnected pipe-to-ground pair is now broken: left one connects to ghost but right one connects(not exactly because of fluid mixing) to left one. This state is not stable save-loadable, because after save-load, right pipe-to-ground will disconnect.

This also produces some heavy-mode desync when right fluid system is changed somehow (part of gif where i build additional pipe above existing one). With heavy-mode enabled, this may crash after building pipe above existing pipe with water, without heavy-mode it will crash on removing pipe with water on assembler output.
log of heavy mode crashing game
-- edit:
Another crash when testing pipe-to-ground ghost:
log of crash in entity get selection box
-- edit:
And another:
crash in FluidBox notifyBlockedUndergroundConnectionsOfDestroy
-- edit:
And yet another one:
reproduction
crash in consistency
-- edit:
Factorio Pandora's Box:
reproduction
crash compatible connection is disconnected

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2700
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

Post by boskid »

Just LOL: new vanilla feature: underground connection from pipe-to-ground directly to pipe, and diagonal!
74269-dangling-pointer.gif
74269-dangling-pointer.gif (519.44 KiB) Viewed 3683 times
Most likely after removal of pipe-to-ground in center, right pipe-to-ground points to "related pipe-to-ground" that is already removed. New pipe that is placed when created gets same address in memory as removed pipe-to-ground and so connection is drawn diagonal to regular pipe

User avatar
steinio
Smart Inserter
Smart Inserter
Posts: 2638
Joined: Sat Mar 12, 2016 4:19 pm
Contact:

Re: [0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

Post by steinio »

Can you please stop breaking the game :D
Image

Transport Belt Repair Man

View unread Posts

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2700
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

Post by boskid »

steinio wrote:
Tue Aug 13, 2019 6:29 pm
Can you please stop breaking the game :D
I will when this bug report gets assigned to someone (@Dominik?) - then i will know devs admit it is a bug with "enough reproduction" (and laugh) (and huge spike on crash tracker)

Dominik
Former Staff
Former Staff
Posts: 658
Joined: Sat Oct 12, 2013 9:08 am
Contact:

Re: [Dominik][0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

Post by Dominik »

Yes, this is very closely related to the 74252 but still a separate issue. I should have thought of these ghost things.

I was on a holiday. I come back and find this mayhem. Want to go back.

Jap2.0
Smart Inserter
Smart Inserter
Posts: 2368
Joined: Tue Jun 20, 2017 12:02 am
Contact:

Re: [Dominik][0.17.63] FluidSystem.cpp:171: connection.isConnected() was not true

Post by Jap2.0 »

Dominik wrote:
Thu Aug 15, 2019 1:19 pm
I was on a holiday. I come back and find this mayhem. Want to go back.
This whole fluid system rework has been way more fun than you expected, hasn't it?
There are 10 types of people: those who get this joke and those who don't.

Post Reply

Return to “Resolved Problems and Bugs”