Page 1 of 1

[Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Fri Mar 15, 2019 2:12 am
by Staplergun
Fast replace pipe-to-ground crash.

Steps:

1.) Load mod and map
2.) Find this:
Image
3.) Fast replace with item "1-to-3 Forward Pipe"
Image
4.) ???
Image
5.) Profit!!

Re: [0.17.12] Crash after pipe-to-ground fast replace

Posted: Fri Mar 15, 2019 2:14 am
by Staplergun
Game also crashes if you freshly place the pipe without the other one under it:

Image

Re: [0.17.12] Crash after pipe-to-ground fast replace/regular place

Posted: Fri Mar 15, 2019 2:17 am
by Staplergun
Removing the pipe on the right, then placing the pipe on the left, then the pipe on the right allows it to work without crashing.

Image

Re: [0.17.12] Crash after pipe-to-ground fast replace/regular place

Posted: Fri Mar 15, 2019 2:18 am
by Staplergun
Fast replacing the original pipe (1-to-2) with the pipe (1-to-3) without the pipe on the right does not crash.

Image

Rotating the above pipe shown in the image causes an instant process termination to desktop without bug report.

Re: [0.17.12] Crash on rotate again with underground pipes

Posted: Fri Mar 15, 2019 5:44 am
by Recon777
I have narrowed down a scenario which reproduces part of the problem.
But note that my example here seems to be SEPARATE from the pure rotation bug where you get a crash by rotating a connection 3 times. Anyway, I have a very simple example below which you should be able to reproduce easily and reliably.

First, set up the following items.
Image

Next, CTRL-R to rotate the underground connections of the 1-2 pipe to ground, in order that it connects to both of the other items.
Image

The situation here is that we have an underground connection flowing along all three items. And the middle pipe has an above-ground connection facing south.

Next, place a 1-3 pipe to ground as illustrated below. This will crash the game. Crash Log
Image

What is going on here is that the 1-3 pipe is severing the existing connection between the center and the south pipes and simultaneously creating a new connection between the 1-3 pipe and the southern pipe WHILE ALSO joining with the pipe whose connection it severed.

I think this is the key because if the aboveground connection was not simultaneously made, it does not crash the game. As seen below.
Image Image

Also, if you do not have the existing connection to the south pipe before placing the 1-3 aboveground connected pipe, and THEN rotate the south pipe so that it makes the connection to the 1-3 pipe, it does not crash the game. See below.
Image Image Image

Note that the final picture above is the exact scenario which WILL crash the game if the 1-3 pipe is placed last. If I were to pick up the 1-3 pipe right now and then replace it again where it was, the game would crash. This is because picking up the pipe reestablishes the original pre-crash scenario with the south pipe connection, which is then broken once I place the 1-3pipe back down.

Note ALSO that if I fast-replace the 1-3 pipe with a Tier 2 1-3 pipe, which is identical except for its maximum length, that it DOES crash the game. I have tested this, and it may account for why Staplergun is getting a fast-replace crash bug in this report.

What is very odd that I don't understand is the fact that if you put a single normal pipe as a buffer, the crash never happens
Image Image

Re: [Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Fri Mar 15, 2019 11:58 am
by Dominik
Oh well, ok. Honestly it has never occurred to me and probably not to anyone that it would be possible to replace different types of pipes to ground :)
Thanks for the detailed reports :)
I found some base game bug I found now but I will get back to this soon.

Re: [Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Wed Mar 20, 2019 2:20 am
by Recon777
Dominik wrote: Fri Mar 15, 2019 11:58 am Oh well, ok. Honestly it has never occurred to me and probably not to anyone that it would be possible to replace different types of pipes to ground :)
Thanks for the detailed reports :)
I found some base game bug I found now but I will get back to this soon.
Excellent. Keep us posted!

Also, I don't think "replace with different type of pipe" is the issue, since in my example, the game can crash with nothing being replaced.

Re: [Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Wed Mar 20, 2019 3:04 pm
by Dominik
Recon777 wrote: Wed Mar 20, 2019 2:20 am Also, I don't think "replace with different type of pipe" is the issue, since in my example, the game can crash with nothing being replaced.
Yes. Which is great. One less level of complexity.
But from what I have seen so far, the problem can be very tricky, it fails in a low level place where problems normally don't occur.

Re: [Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Wed Mar 20, 2019 11:59 pm
by Recon777
Dominik wrote: Wed Mar 20, 2019 3:04 pm
Recon777 wrote: Wed Mar 20, 2019 2:20 am Also, I don't think "replace with different type of pipe" is the issue, since in my example, the game can crash with nothing being replaced.
Yes. Which is great. One less level of complexity.
But from what I have seen so far, the problem can be very tricky, it fails in a low level place where problems normally don't occur.
That sounds ominous. :o
I hope the fix doesn't have too many serious ripple effects if it's deep in the code in places you all thought were solid.

Re: [Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Thu Mar 21, 2019 10:44 am
by Dominik
Muhehehee it looks like the complicated fix of the other issue solved this one too.
So positive ripple effects. Nice, but rare thing.

Re: [Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Wed Mar 25, 2020 12:58 am
by Miiohau
Dominik wrote: Thu Mar 21, 2019 10:44 am Muhehehee it looks like the complicated fix of the other issue solved this one too.
So positive ripple effects. Nice, but rare thing.
When did that fix get deployed because I had a similar issue in 0.17.79
I replaced a stone pipe to ground I had marked for upgrade to a ceramic pipe to ground with said ceramic pipe to ground. The game froze and then crashed. Log and dump attached. I tried to attach the most recent save but the server returned a parse error. I have made a local copy of the save in case this is new issue.

Re: [Dominik][0.17.12][Mod] Crash after pipe-to-ground fast replace/regular place

Posted: Wed Mar 25, 2020 2:29 am
by Loewchen
Miiohau wrote: Wed Mar 25, 2020 12:58 am
Dominik wrote: Thu Mar 21, 2019 10:44 am Muhehehee it looks like the complicated fix of the other issue solved this one too.
So positive ripple effects. Nice, but rare thing.
When did that fix get deployed because I had a similar issue in 0.17.79
I replaced a stone pipe to ground I had marked for upgrade to a ceramic pipe to ground with said ceramic pipe to ground. The game froze and then crashed. Log and dump attached. I tried to attach the most recent save but the server returned a parse error. I have made a local copy of the save in case this is new issue.
If you can reproduce this with the latest version of the game make a new report please.