Page 1 of 1

[0.17.34] Crash creating normal single player game

Posted: Thu May 02, 2019 12:36 am
by Bonghogger
First, multiplayer game works fine for me. I can join any game with reasonable ping.
Second, no mods are on my machine. I like playing the vanilla version just fine.

Now the problem:
I start the game, using menu hit play, new game, play.
No enhancement, no changes, no adjustments, just a normal game.
Hit TAB to begin and... a pause as the game tries to reveal the starting viewable square around the player, as seen in the minimap.
Error message pops up, game freezes, crashes out completely.

Re: [0.17.34] Crash creating normal single player game

Posted: Thu May 02, 2019 2:41 am
by DaleStan
I wonder if something is wrong with one of your blueprints. Does renaming or deleting blueprint-storage.dat make the game start?

If so, I'd upload that file so the devs can see it.

Re: [0.17.34] Crash creating normal single player game

Posted: Thu May 02, 2019 9:27 pm
by TruePikachu
That does seem to be the case, something with a lamp.

Code: Select all

c:\cygwin64\tmp\factorio-build-oacria\src\util\logging.cpp (84): Logging::logAndAbortOrThrow
c:\cygwin64\tmp\factorio-build-oacria\src\circuitnetwork\circuitconnector.cpp (357): CircuitConnector::disconnect
c:\cygwin64\tmp\factorio-build-oacria\src\circuitnetwork\circuitconnector.cpp (730): CircuitConnector::~CircuitConnector
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF77AF144C4)
00007FF77AF144C4 (Factorio): (filename not available): LampControlBehavior::`scalar deleting destructor'
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF77B045801)
00007FF77B045801 (Factorio): (filename not available): Lamp::`scalar deleting destructor'
c:\cygwin64\tmp\factorio-build-oacria\src\blueprint\blueprintentities.cpp (224): BlueprintEntities::clear
c:\cygwin64\tmp\factorio-build-oacria\src\blueprint\blueprint.cpp (38): Blueprint::~Blueprint
c:\cygwin64\tmp\factorio-build-oacria\src\blueprint\blueprintlibrary.cpp (655): BlueprintLibrary::applyTransferBlueprintData
c:\cygwin64\tmp\factorio-build-oacria\src\gameactionhandler.cpp (3840): GameActionHandler::transferBlueprintData
c:\cygwin64\tmp\factorio-build-oacria\src\gameactionhandler.cpp (322): GameActionHandler::actionPerformed
c:\cygwin64\tmp\factorio-build-oacria\src\input\inputhandler.cpp (61): InputHandler::flushActions
c:\cygwin64\tmp\factorio-build-oacria\src\gameactionhandler.cpp (365): GameActionHandler::update
c:\cygwin64\tmp\factorio-build-oacria\src\mainloop.cpp (1139): MainLoop::gameUpdateStep
[…]
 149.131 Error CircuitConnector.cpp:357: Trying to disconnect circuit connector in inconsistent state.
Logger::writeStacktrace skipped.
 149.131 Error CrashHandler.cpp:177: Map tick at moment of crash: 2
Kudos for crashing it on tick 2, however.

Re: [0.17.34] Crash creating normal single player game

Posted: Thu May 02, 2019 11:55 pm
by Bonghogger
@ Dalestan
renaming the blueprint-storage.dat worked.
however, I now have no blueprints.... have I lost them all or?...

Re: [0.17.34] Crash creating normal single player game

Posted: Fri May 03, 2019 12:05 am
by Bonghogger
@ Dalestan
renaming the blueprint-storage.dat worked.
however, I now have no blueprints....
I'm uploading the blueprint file now

@TruePikachu
why kudos on tick 2?

Re: [0.17.34] Crash creating normal single player game

Posted: Fri May 03, 2019 2:24 am
by TruePikachu
It's just silly that you managed to crash the game that soon into a new map. I actually consider it a noteworthy achievement, as someone who likes breaking some types of games.

Renaming the blueprint storage file "removed" your blueprint library, in the sense that it's still in that file, but it was crashing the game. If there isn't any major issue with the data itself, a developer can probably repair the file, and you'll get most if not all of your blueprints back.

I'll just reiterate a piece of advice I give people here: don't depend on the blueprint storage file remaining valid all the time. If a blueprint you have is really important to keep, make a backup of its blueprint string, possibly also throwing it onto a pastebin or such. For example, here's my heavily-engineered 800MW "Beta" reactor. While it's too late for you at this moment, it's almost certain that all of the blueprints can be recovered from the file, and you can start keeping backups once that's been handled.

Re: [0.17.34] Crash creating normal single player game

Posted: Thu May 16, 2019 10:39 am
by kovarex
Hello, thanks for the report.
If you provide the blueprint library file to us, we can take a look on it and try to fix the problem. Until then, there is not much we can do.

Re: [0.17.34] Crash creating normal single player game

Posted: Sun Jun 30, 2019 4:35 pm
by Bonghogger
Thanks to all for the advice and help. If anyone else experiences a problem like this, here is what I did to resolve the issue.

The blueprint file was indeed causing the crashes. However, it wasn't the whole file but a single blueprint within the whole. I can only guess that an interrupted copy and paste or download caused the issue with the single blueprint as I have found it elsewhere in games working fine.

The process I undertook was going through ALL my blueprints until finding the source of dismay! ( as some of you may also have an abundant amount of blueprints you will understand the amount of time it has taken)

Thanks again to all.

Re: [0.17.34] Crash creating normal single player game

Posted: Tue Jul 02, 2019 2:56 am
by slippycheeze
Bonghogger wrote:
Sun Jun 30, 2019 4:35 pm
Thanks to all for the advice and help. If anyone else experiences a problem like this, here is what I did to resolve the issue.

The process I undertook was going through ALL my blueprints until finding the source of dismay! ( as some of you may also have an abundant amount of blueprints you will understand the amount of time it has taken)
Since you wrote for the future, but didn't say how you went through them, I'll help the next poor soul: the fastest way to find the problem is to bisect the content until you narrow down the one causing the problems. The process is simple:
  1. start with all blueprints being "where the problem is"
  2. get rid of half of the blueprints in "where the problem is", either the first or second half of it, split down the middle.
  3. if you still crash, bring them back, and get rid of the other half.
  4. if you still crash, your problem is hard, and/or more than one blueprint. lucky you. this doesn't work any more.
  5. if only one half crashes, "where the problem is" becomes only that half.
  6. go back to step 2.
I hope this helps someone: assuming only one problem you should find it in O(log N) steps on average for N blueprints -- a binary search. If you can't read big-O notation, like most people, that means you have relatively few steps. For most people should be about 8-10 trials worst case to find the problem with anything up to 100 blueprints.