Page 1 of 1

[StrangePan][2.0.5] Crash placing modded spidertron "double value not in range for fixed point number: nan"

Posted: Fri Oct 18, 2024 5:32 pm
by Xorimuth
Getting the following crash when placing my modded spidertron with legs that have no collision. (`leg.collision_box = nil` or `leg = {layers = {}}`). Uncommenting out either of these prevents the crash. They are set in prototypes/dummy-spidertron.lua:16

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.

Re: [StrangePan][2.0.5] Crash placing modded spidertron "double value not in range for fixed point number: nan"

Posted: Mon Oct 21, 2024 12:21 pm
by StrangePan
Leave it to modders to find all the edge cases in the engine ;)
Thanks for the report!