It is easy enough to workaround by just not setting that on the legs, but the problem is that loading 1.1 saves that already have these spidertrons in crashes in the same way immediately. If I migrate away from them in a json migration then the saves can happily load, but these 'dummy' spidertrons are dynamically generated from whichever spidertron prototypes are created by other mods. And now that lua-in-json migrations are gone... I can't add arbitrary dummy spidertrons to my json migration
To reproduce:
Load attached mod, place "Travelling spidertron" from editor, and crash will happen instantly.
Or for the migration case: Load Spidertron Enhancements mod in 1.1, place "Travelling spidertron" from editor, save, load in 2.0, crash will happen instantly.
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 (58): logStackTrace
src/Util/Logging.cpp (97): logAndAbortOrThrow
src/Util/Logging.cpp (89): logAndAbortOrThrow
src/Entity/SpiderLegPrototype.cpp (0): draw
src/Entity/SpiderLeg.cpp (93): drawInternal
src/Entity/SpiderEngine.cpp (358): draw
src/Entity/SpiderVehicle.cpp (368): draw
src/Graphics/EntityRenderer.cpp (414): prepareRow
src/Graphics/EntityRenderer.cpp (300): threadJob
src/Graphics/EntityRenderer.cpp (178): operator()
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/__functional/invoke.h (394): __invoke<(lambda at /var/folders/66/_kmq1p313sn21hq50sykcbv80000gn/T/factorio-build-XXXXXX.noXKSuXr/src/Graphics/EntityRenderer.cpp:178:44) &>
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/__functional/invoke.h (487): __call<(lambda at /var/folders/66/_kmq1p313sn21hq50sykcbv80000gn/T/factorio-build-XXXXXX.noXKSuXr/src/Graphics/EntityRenderer.cpp:178:44) &>
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/__functional/function.h (185): operator()
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/__functional/function.h (356): operator()
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/__functional/function.h (510): operator()
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/__functional/function.h (1156): operator()
src/Util/WorkerThread.cpp (72): loop
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/__functional/invoke.h (359): __invoke<void (WorkerThread::*)(), WorkerThread *, void>
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/thread (282): __thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread *, 2UL>
/opt/homebrew/opt/llvm@16/bin/../include/c++/v1/thread (293): __thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread *> >
0x18271ef93
Stack trace logging done
32.370 Error FixedPointNumber.hpp:31: double value not in range for fixed point number: nan
32.370 Error CrashHandler.cpp:643: Received 6
Logger::writeStacktrace skipped.
32.370 Error CrashHandler.cpp:190: Map tick at moment of crash: 302
32.370 Uploading log file
32.416 Info SystemUtil.cpp:877: Started /Users/tburrows/Library/Application Support/Steam/steamapps/common/Factorio/factorio.app/Contents/MacOS/factorio; trampoline PID: 40916
32.417 Error Util.cpp:95: Unexpected error occurred. If you're running the latest version of the game you can help us solve the problem by posting the contents of the log file on the Factorio forums.
Please also include the save file(s), any mods you may be using, and any steps you know of to reproduce the crash.