[0.17.79] Crash while saving, in lua (table expected)
Posted: Tue Dec 03, 2019 6:32 am
There's an old mod I absolutely love, Logistics Wagons, which was abandoned a long time ago. I have been working on updating it to 0.17 which has been going well and it work except...
When I place a wagon, drive the train, stop the train, save, drive the train, stop the train, save - it crashes on this second save. This isn't the game just throwing a lua error, it's doing a hard crash to desktop.
The log file gives virtually unusable information related to this error as follows (log is excerpted from the last valid save and the end of the crash):
The start of the second save (triggering the crash) is timestamped 119.552 which tells me "table expected" but what is shows isn't linked to anything (ie, table expected what, where, etc).
I am assuming the error is somewhere in the process of removing the proxy chest and updating the serialization for the second save, but I can't see what the issue is.
The mod is too big for a forum attachment apparently so a dropbox link is below, any help would be very much appreciated.
https://www.dropbox.com/s/bkdfg7oxnbp22 ... .0.7z?dl=0
When I place a wagon, drive the train, stop the train, save, drive the train, stop the train, save - it crashes on this second save. This isn't the game just throwing a lua error, it's doing a hard crash to desktop.
The log file gives virtually unusable information related to this error as follows (log is excerpted from the last valid save and the end of the crash):
Code: Select all
107.121 Info AppManagerStates.cpp:1802: Saving finished
110.217 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.217 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.219 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.219 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.219 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.219 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.220 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.220 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.220 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.220 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.223 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.223 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.223 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.223 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.223 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.223 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
110.224 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:removeProxy()
110.224 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:emptyProxy()
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.805 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -84.3359375 108
113.805 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.805 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -77.3359375 108
113.805 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.805 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -70.3359375 108
113.805 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.805 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -56.3359375 108
113.805 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.805 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -49.3359375 108
113.805 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.805 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.806 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -42.3359375 108
113.806 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.806 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.806 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.806 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -35.3359375 108
113.806 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.806 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.806 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.806 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -28.3359375 108
113.806 Script @__LogisticsWagons__/control.lua:14: Proxy created
113.806 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:createProxy() :: lw-logistic-chest-storage-provider-trans
113.806 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:getProxyPosition()
113.806 Script @__LogisticsWagons__/control.lua:14: Creating lw-logistic-chest-storage-provider-trans at -63.3359375 108
113.806 Script @__LogisticsWagons__/control.lua:14: Proxy created
119.539 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.539 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.541 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.541 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.544 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.544 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.545 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.545 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.546 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.546 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.548 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.548 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.550 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.550 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.550 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.550 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.551 Script @__LogisticsWagons__/control.lua:14: ProxyWagon:updateDataSerialization()
119.552 ((((t))->tt_) == (((5) | (1 << 6)))) table expected
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-build-kcbfya\libraries\stackwalker\stackwalker.cpp (924): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\logger.cpp (537): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\logger.cpp (544): Logger::logStacktrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\crashhandler.cpp (184): CrashHandler::writeStackTrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\crashhandler.cpp (612): CrashHandler::SignalHandler
minkernel\crts\ucrt\src\appcrt\misc\signal.cpp (541): raise
minkernel\crts\ucrt\src\appcrt\startup\abort.cpp (71): abort
c:\cygwin64\tmp\factorio-build-kcbfya\libraries\lua\lstate.c (280): lua_traceandabort
c:\cygwin64\tmp\factorio-build-kcbfya\libraries\lua\lapi.c (1224): lua_next
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\luahelper.cpp (374): LuaHelper::clearTable
c:\cygwin64\tmp\factorio-build-kcbfya\src\script\luaobject.cpp (62): LuaObject::refresh
c:\cygwin64\tmp\factorio-build-kcbfya\src\script\luagamescript.cpp (687): LuaGameScript::saveScriptState
c:\cygwin64\tmp\factorio-build-kcbfya\src\script\luacontext.cpp (234): LuaContext::save
c:\cygwin64\tmp\factorio-build-kcbfya\src\scenario\scenario.cpp (880): Scenario::saveAs
c:\cygwin64\tmp\factorio-build-kcbfya\src\scenario\parallelscenariosaver.cpp (99): ParallelScenarioSaver::doSave
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (230): std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl RazerChromaController::*)(void),RazerChromaController *>,std::default_delete<std::tuple<void (__cdecl RazerChromaController::*)(void),RazerChromaController *> > > >::_Go
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (209): std::_Pad::_Call_func
minkernel\crts\ucrt\src\appcrt\startup\thread.cpp (115): thread_start<unsigned int (__cdecl*)(void * __ptr64)>
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000000007701652D)
000000007701652D (kernel32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000000007724C521)
000000007724C521 (ntdll): (filename not available): RtlUserThreadStart
Stack trace logging done
124.305 Error CrashHandler.cpp:189: Map tick at moment of crash: 7486773
124.305 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.
132.881 Error CrashHandler.cpp:245: Heap validation: success.
132.882 Creating crash dump.
133.028 CrashDump success
Code: Select all
119.552 ((((t))->tt_) == (((5) | (1 << 6)))) table expected
The mod is too big for a forum attachment apparently so a dropbox link is below, any help would be very much appreciated.
https://www.dropbox.com/s/bkdfg7oxnbp22 ... .0.7z?dl=0