Page 1 of 1

[0.17.79] recursive LocalisedString overflows stack

Posted: Sun Jan 19, 2020 7:04 pm
by justarandomgeek

Code: Select all

/c local ls = {""} ls[2]=ls game.print(ls)
I would expect to get an error due to this being deeper than the 20 levels max depth, but instead the game crashes with a stacktrace that just repeats parseLocalisedString forever:

Code: Select all

ERROR: Factorio crashed due to Stack overflow.
  42.119 Time travel logging:
  42.117 Player 0 ran command: local ls = {""} ls[2]=ls game.print(ls)
Generating symbolized stacktrace, please wait ...
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD7D1C744)
00007FFAD7D1C744 (ntdll): (filename not available): ZwDelayExecution
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD5546931)
00007FFAD5546931 (KERNELBASE): (filename not available): SleepEx
f:\dd\vctools\crt\crtw32\stdcpp\thr\cthread.c (68): _Thrd_sleep
c:\cygwin64\tmp\factorio-build-shnskz\src\util\crashhandler.cpp (443): CrashHandler::SehHandler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD55FF67A)
00007FFAD55FF67A (KERNELBASE): (filename not available): UnhandledExceptionFilter
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD7D24AF2)
00007FFAD7D24AF2 (ntdll): (filename not available): memset
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD7D0C6D6)
00007FFAD7D0C6D6 (ntdll): (filename not available): _C_specific_handler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD7D211FF)
00007FFAD7D211FF (ntdll): (filename not available): _chkstk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD7CEA289)
00007FFAD7CEA289 (ntdll): (filename not available): RtlRaiseException
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFAD7D1FE6E)
00007FFAD7D1FE6E (ntdll): (filename not available): KiUserExceptionDispatcher
c:\cygwin64\tmp\factorio-build-shnskz\libraries\lua\lstring.c (140): internshrstr
c:\cygwin64\tmp\factorio-build-shnskz\src\util\luahelper.cpp (3204): LuaHelper::parseLuaBindableObject
c:\cygwin64\tmp\factorio-build-shnskz\src\util\luahelper.cpp (1167): LuaHelper::parseLocalisedString
c:\cygwin64\tmp\factorio-build-shnskz\src\util\luahelper.cpp (1197): LuaHelper::parseLocalisedString
... 999 lines ...
c:\cygwin64\tmp\factorio-build-shnskz\src\util\luahelper.cpp (1197): LuaHelper::parseLocalisedString
ERROR: StackWalk64-Endless-Callstack!, GetLastError: 0 (Address: 00007FF7DD6A06F2)
  44.393 Error Util.cpp:97: 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.
  47.236 Uploading log file

Re: [0.17.79] recursive LocalisedString overflows stack

Posted: Tue Jan 21, 2020 12:21 pm
by Klonan
Stop hitting yourself