[1.0.0] Error during data stage, really long table passed to data:extend
Posted: Thu Oct 15, 2020 4:30 pm
Apologies in advance if this was already reported/fixed (reporting for someone else).
They were running code which was basically:
local new_items = {}
for _, item in pairs(data.raw.item) do
local newitem = table.deepcopy(item)
newitem.name = prefix..newitem.name
table.insert(new_items, newitem)
end
data:extend(new_items)
except they did the data:extend call wrong (e.g. tried {new_items}, as they are inexperienced and trying to learn things).
First error is okay, but it causes a game error:
I asked if they had modified any core graphics, and they said no.
They were running code which was basically:
local new_items = {}
for _, item in pairs(data.raw.item) do
local newitem = table.deepcopy(item)
newitem.name = prefix..newitem.name
table.insert(new_items, newitem)
end
data:extend(new_items)
except they did the data:extend call wrong (e.g. tried {new_items}, as they are inexperienced and trying to learn things).
First error is okay, but it causes a game error:
Code: Select all
2.206 Error ModManager.cpp:1514: Failed to load mod "name": __name__/data.lua:1: __core__/lualib/dataloader.lua:18: Missing type in the following prototype definition {...very long table...}
stack traceback, disabling mod
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\imagedraworder.cpp (60): ImageDrawOrder::ImageDrawOrder
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\drawqueue.cpp (117): addImageDrawOrder
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\drawqueue.cpp (1488): DrawQueue::drawGuiSprite
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\textdrawsection.cpp (349): <lambda_3c5abba85a67a5ff8d952458d07c586f>::operator()
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\textdrawsection.cpp (389): TextDrawSection::drawSection
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\textrenderer.cpp (1140): TextRenderer::drawTextLines
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\guigraphics.cpp (264): GuiGraphics::drawTextLines
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\resizabletext.cpp (75): agui::ResizableText::drawTextArea
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\label.cpp (179): agui::Label::drawText
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (148): agui::Widget::paint
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1292): agui::Widget::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1278): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\layout.cpp (83): agui::Layout::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1278): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\scrollpane.cpp (676): agui::ScrollPane::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1278): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\layout.cpp (83): agui::Layout::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1278): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\frame.cpp (104): agui::Frame::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1278): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1300): agui::Widget::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\widget\widget.cpp (1278): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-jhy8mv\libraries\agui\gui.cpp (843): agui::Gui::render
c:\cygwin64\tmp\factorio-build-jhy8mv\src\graphics\guirenderer.cpp (79): GuiRenderer::prepare
c:\cygwin64\tmp\factorio-build-jhy8mv\src\mainloop.cpp (974): MainLoop::prepare
c:\cygwin64\tmp\factorio-build-jhy8mv\src\mainloop.cpp (634): MainLoop::mainLoopStep
c:\cygwin64\tmp\factorio-build-jhy8mv\src\mainloop.cpp (379): MainLoop::run
c:\cygwin64\tmp\factorio-build-jhy8mv\src\main.cpp (1123): wmain
f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl (288): __scrt_common_main_seh
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFA8CF37BD4)
00007FFA8CF37BD4 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFA8F18CE51)
00007FFA8F18CE51 (ntdll): (filename not available): RtlUserThreadStart
Stack trace logging done
11.015 Error ImageDrawOrder.cpp:63: Invalid sprite reference. Sprite: __core__/graphics/questionmark.png {x = 0, y = 0, w = 0, h = 0}, 0x000001f3f135d288, owner: default:utility-sprites
Logger::writeStacktrace skipped.
11.015 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.
51.021 Uploading log file
51.046 Error CrashHandler.cpp:258: Heap validation: success.
51.068 Creating crash dump.
52.752 CrashDump success