Description
When I remove some specific deconstruction requests that overlap some construction ghosts over water, the game hard crashes. This is running on a headless Linux server for the record. I haven't been able to isolate the test case so it's unclear if these exact circumstances are necessary or if some other combination of factors leads to the crash.Reproduction Steps
Load the attached save, enter editor, and look south of the center of the map. You'll find a ghost of a furnace stack. Taking out a deconstruction planner and removing the deconstruction requests for any of the fish or crossing belts will pretty consistently cause the crash.Stack Trace
Code: Select all
Factorio crashed. Generating symbolized stacktrace, please wait ...
src/Util/StacktraceToStream.cpp (52): walkStackAndPrintToStream
src/Util/StacktraceToStream.cpp (60): printStacktraceToStream
src/Util/Logger.cpp (334): writeStacktrace
src/Util/Logger.cpp (379): logStacktrace
src/Util/Logging.cpp (59): logStackTrace
src/Util/Logging.cpp (107): logAndAbortOrThrow
src/Util/Logging.cpp (96): logAndAbortOrThrow
_Z19ReleaseAssertFailedPKcjS0_
src/Undo/RemovedEntityUndoAction.cpp (39): RemovedEntityUndoAction
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/unique_ptr.h (1070): make_unique<RemovedEntityUndoAction, Entity *&, NamedBool<PartOfGameStateTag> &, LatencyState *&, Player *&>
src/Undo/UndoItem.cpp (146): entityRemoved
src/Undo/UndoItem.cpp (377): entityRemoved
src/Entity/Entity.cpp (527): operator()
src/Entity/Entity.cpp (617): removeConflictingGhostsAndCorpses
src/Entity/Entity.cpp (2203): onDeconstructionCancelled
src/Entity/TransportBeltConnectable.cpp (884): onDeconstructionCancelled
src/Entity/Entity.cpp (0): cancelDeconstruction
src/Input/DeconstructLogic.cpp (471): tryCancellingDeconstructionFor
src/Input/DeconstructLogic.cpp (444): cancel
src/Input/DeconstructLogic.cpp (86): cancel
src/CommonInputHandler.cpp (336): cancelDeconstruct
src/CommonInputHandler.cpp (164): actionPerformed
src/GameActionHandler.cpp (406): actionPerformed
src/Input/InputSource.cpp (75): flushToListeners
src/Input/InputSource.cpp (67): flushActions
_ZN19NetworkInputHandler12flushActionsEb7MapTick
src/Net/NetworkInputHandler.cpp (116): tryToApplyNextTickClosure
src/Net/ServerMultiplayerManager.cpp (759): updateMultiplayerInputInternal
src/Net/MultiplayerManagerBase.cpp (166): updateMultiplayerInput
src/MainLoop.cpp (1463): gameUpdateStep
src/MainLoop.cpp (1272): gameUpdateLoop
src/MainLoop.cpp (708): mainLoopStepHeadless
src/MainLoop.cpp (410): run
src/CommandLineMultiplayer.cpp (295): hostMultiplayerGameInternal
src/CommandLineMultiplayer.cpp (350): hostCommandLineMultiplayerGame
src/Main.cpp (720): fmain
src/Main.cpp (1423): main
0x7f119c547d8f
__libc_start_main
_start
0xffffffffffffffff
Stack trace logging done
24151.800 Error RemovedEntityUndoAction.cpp:39: !target->isToBeDeleted() was not true
24151.800 Error CrashHandler.cpp:643: Received 6
Logger::writeStacktrace skipped.
24151.800 Error CrashHandler.cpp:190: Map tick at moment of crash: 1443470