[1.0.0] Error during data stage, really long table passed to data:extend

This subforum contains all the issues which we already resolved.
Honktown
Smart Inserter
Smart Inserter
Posts: 1045
Joined: Thu Oct 03, 2019 7:10 am
Contact:

[1.0.0] Error during data stage, really long table passed to data:extend

Post by Honktown »

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:

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
   
I asked if they had modified any core graphics, and they said no.
I have mods! I guess!
Link
Rseding91
Factorio Staff
Factorio Staff
Posts: 14595
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [1.0.0] Error during data stage, really long table passed to data:extend

Post by Rseding91 »

Do you have any way to reproduce the crash? A mod I can install that crashes on startup?
If you want to get ahold of me I'm almost always on Discord.
Honktown
Smart Inserter
Smart Inserter
Posts: 1045
Joined: Thu Oct 03, 2019 7:10 am
Contact:

Re: [1.0.0] Error during data stage, really long table passed to data:extend

Post by Honktown »

Here is a mod for it. Reproducible with base+this on my machine (Factorio 1.0 Windows website download zip version).
Attachments
breakerror_0.0.1.zip
(868 Bytes) Downloaded 113 times
I have mods! I guess!
Link
Post Reply

Return to “Resolved Problems and Bugs”