Verbose Engineering

by FoxSylv

Decompile resources into their letters, and rebuild everything from those letters.

Overhaul
9 days ago
2.0
234
Manufacturing

g Crash on "replacing" decompiler with burner decompiler

10 days ago

Hi,

Encountered a hard crash to desktop when placing a burner decompiler over top of an electric decompiler, such that it invokes the usual "replace existing machine of the same type" logic. This occurs when the existing decompiler has letters in its output in excess of 1 row.

I suspect this has something to do with the burner decompiler having only 1 inventory row of output, whereas the electric decompiler has 2; it's probably trying to shove those existing letters into the too-small output buffer when replacing.

Incidentally, is it intended that the burner has fewer rows? It means that decompiling a burner decompiler loses some letters by truncation, which feels a bit off since it's kinda the only option early in the game.

Thanks,

MrNo

10 days ago
(updated 10 days ago)

It occurred to me that at the moment of the crash it was telling me about a log file; I can't see a way to attach a file here, so here's a copy of the contents:

0.001 2025-12-15 00:35:03; Factorio 2.0.72 (build 84292, linux64, steam, space-age)
0.001 Operating system: Linux
0.000 Initializing Steam API.
0.001 Program arguments: "/home/mrno/.local/share/Steam/steamapps/common/Factorio/bin/x64/factorio"
0.001 Config path: /home/mrno/.factorio/config/config.ini
0.001 Read data path: /home/mrno/.local/share/Steam/steamapps/common/Factorio/data
0.001 Write data path: /home/mrno/.factorio [360176/937291MB]
0.001 Binaries path: /home/mrno/.local/share/Steam/steamapps/common/Factorio/bin
0.013 System info: [CPU: AMD Ryzen 7 5700G with Radeon Graphics, 16 cores, RAM: 15787 MB]
0.014 Environment: DISPLAY=:0 WAYLAND_DISPLAY=<unset> DESKTOP_SESSION=cinnamon XDG_SESSION_DESKTOP=cinnamon XDG_CURRENT_DESKTOP=X-Cinnamon SDL_VIDEODRIVER=<unset> GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
0.069 Display options: [FullScreen: true] [VSync: true] [UIScale: automatic (100.0%)] [Native DPI: true] [Screen: 255] [Special: lmw] [Lang: en]
0.132 Video driver: x11
0.133 Available displays: 1
0.133 [0]: LU28R55 29" - {[0,0], 3840x2160, SDL_PIXELFORMAT_RGB888, 60Hz}
0.360 Initialised OpenGL:[0] Mesa Intel(R) Graphics (BMG G21); driver: 4.6 (Core Profile) Mesa 25.0.7-0ubuntu0.24.04.2
0.360 [Extensions] s3tc:yes; KHR_debug:yes; ARB_clear_texture:yes, ARB_copy_image:yes, ARB_pipeline_statistics_query:yes, ARB_gl_spirv:yes, ARB_ES2_compatibility:yes
0.360 [Version] 4.6
0.404 Graphics settings preset: very-high
0.404 Dedicated video memory size 12216 MB (detected from Intel(R) Graphics (BMG G21); VendorID: 0x8086; DeviceID: 0xe20b)
0.428 Graphics options: [Graphics quality: high] [Video memory usage: all] [DXT: high-quality]
0.428 [Max threads (load/render): 32/8] [Max texture size: 0] [Tex.Stream.: false] [Rotation quality: normal] [Other: STDCWTl] [B:0,C:0,S:100]
0.451 [Audio] Driver:pulseaudio, Device:Default device, Depth:16, Frequency:44100, Channels:2, Interpolation:linear
0.613 Info ModManager.cpp:446: FeatureFlag expansion-shaders = false
0.613 Info ModManager.cpp:446: FeatureFlag freezing = false
0.613 Info ModManager.cpp:446: FeatureFlag quality = true
0.613 Info ModManager.cpp:446: FeatureFlag rail-bridges = true
0.613 Info ModManager.cpp:446: FeatureFlag segmented-units = false
0.613 Info ModManager.cpp:446: FeatureFlag space-travel = false
0.613 Info ModManager.cpp:446: FeatureFlag spoiling = false
0.707 Loading mod settings blueprint-sandboxes 3.2.2 (settings.lua)
0.710 Loading mod settings Verbose-Engineering 1.0.0 (settings.lua)
0.711 Loading mod settings blueprint-sandboxes 3.2.2 (settings-final-fixes.lua)
0.715 Loading mod core 0.0.0 (data.lua)
0.735 Loading mod base 2.0.72 (data.lua)
0.934 Loading mod blueprint-sandboxes 3.2.2 (data.lua)
0.942 Loading mod elevated-rails 2.0.72 (data.lua)
0.974 Loading mod JeenInfiniteReach 2.0.0 (data.lua)
0.981 Loading mod quality 2.0.72 (data.lua)
1.001 Loading mod Verbose-Engineering 1.0.0 (data.lua)
1.019 Loading mod base 2.0.72 (data-updates.lua)
1.032 Loading mod blueprint-sandboxes 3.2.2 (data-updates.lua)
1.039 Loading mod quality 2.0.72 (data-updates.lua)
1.055 Loading mod Verbose-Engineering 1.0.0 (data-updates.lua)
1.069 Loading mod blueprint-sandboxes 3.2.2 (data-final-fixes.lua)
1.078 Loading mod Verbose-Engineering 1.0.0 (data-final-fixes.lua)
1.133 Checksum for core: 3316885848
1.133 Checksum of base: 1879415942
1.133 Checksum of blueprint-sandboxes: 1035981240
1.133 Checksum of elevated-rails: 70351106
1.133 Checksum of JeenInfiniteReach: 451783983
1.133 Checksum of quality: 1142589254
1.133 Checksum of Verbose-Engineering: 2132280882
1.373 Prototype list checksum: 3066354912
1.417 Loading sounds...
2.113 Info PlayerData.cpp:66: Local player-data.json unavailable
2.113 Info PlayerData.cpp:69: Cloud player-data.json available, timestamp 1765772871
2.120 Post-data load graphics options: [Light occlusion: no]
2.319 Initial atlas bitmap size is 16384
2.339 Created an atlas bitmap (size 16384x16368) [none]
2.359 Created an atlas bitmap (size 16384x16384) [none]
2.359 Created an atlas bitmap (size 8192x5620) [none]
2.360 Created an atlas bitmap (size 16384x9184) [low-object]
2.364 Created an atlas bitmap (size 16384x12096) [corpse-decay]
2.364 Created an atlas bitmap (size 8192x4884) [decal]
2.365 Created an atlas bitmap (size 8192x5984) [mipmap, linear-minification, linear-magnification, linear-mip-level]
2.367 Created an atlas bitmap (size 4096x1632) [smoke, mipmap, linear-minification, linear-magnification]
2.374 Created an atlas bitmap (size 16384x6288) [terrain, mipmap, linear-minification, linear-mip-level]
2.374 Created an atlas bitmap (size 8192x2544) [terrain-effect-map, mipmap, linear-minification, linear-mip-level]
2.374 Created an atlas bitmap (size 4096x3104) [mipmap]
2.375 Created an atlas bitmap (size 8192x2592) [icon, not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level]
2.376 Created an atlas bitmap (size 8192x5168) [alpha-mask]
2.392 Created an atlas bitmap (size 16384x16376) [shadow, linear-magnification, alpha-mask]
2.393 Created an atlas bitmap (size 16384x5328) [shadow, linear-magnification, alpha-mask]
2.393 Created an atlas bitmap (size 8192x2352) [shadow, mipmap, linear-magnification, alpha-mask]
2.393 Created an atlas bitmap (size 4096x176) [icon-background, not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level, ]
2.393 Loading 3D bitmaps.
2.405 Texture processor created (4096). GPU accelerated compression Supported: yes, Enabled: yes/yes. Test passed. YCoCgDXT PSNR: 35.83, BC3 PSNR: 33.82
2.517 Parallel sprite loader initialized (threads: 13, bitmaps: 4898)
13.312 Sprites loaded
13.328 Generated mipmaps (4) for atlas [3] of size 16384x9184
13.331 Generated mipmaps (3) for atlas [6] of size 8192x5984
13.334 Generated mipmaps (3) for atlas [7] of size 4096x1632
13.338 Generated mipmaps (3) for atlas [8] of size 16384x6288
13.342 Generated mipmaps (3) for atlas [9] of size 8192x2544
13.435 Generated mipmaps (3) for atlas [10] of size 4096x3104
13.438 Generated mipmaps (5) for atlas [11] of size 8192x2592
13.442 Generated mipmaps (3) for atlas [15] of size 8192x2352
13.462 Custom mipmaps uploaded (2422)
13.510 Video memory usage: 1862.29 MB (Atlases: 1850.75 MB, Textures: 11.54 MB)
13.527 Custom inputs active: 3
13.689 Factorio initialised
13.692 Steam Storage Quota: 23463/23841
73.806 Loading map /home/mrno/.factorio/saves/verbose.zip: 5138644 bytes.
73.822 Loading level.dat: 9878498 bytes.
73.822 Info Scenario.cpp:154: Map version 2.0.72-0
73.986 Loading blueprint storage: Local timestamp 1765663300, Cloud timestamp 1765663298
74.012 Loading script.dat: 2099 bytes.
74.014 Checksum for script __level
/control.lua: 3792629764
74.020 Checksum for script blueprint-sandboxes/control.lua: 3412743437
74.021 Checksum for script Verbose-Engineering/control.lua: 3465005880
74.022 Script @blueprint-sandboxes/scripts/isolation.lua:22: Detected isolation level: none
83.111 Error CrashHandler.cpp:641: Received SIGSEGV
Factorio crashed. Generating symbolized stacktrace, please wait ...
src/Util/StacktraceToStream.cpp (52): walkStackAndPrintToStream
src/Util/StacktraceToStream.cpp (60): printStacktraceToStream
src/Util/Logger.cpp (336): writeStacktrace
src/Util/Logger.cpp (381): logStacktrace
src/Util/CrashHandler.cpp (181): writeStackTrace
src/Util/CrashHandler.cpp (644): commonSignalHandler
src/Util/CrashHandler.cpp (652): SignalHandler
0x77e848c4532f
src/Item/ItemStack.cpp (833): swapWith
src/Item/ItemStack.hpp (181): swapWith
src/Item/ItemStack.cpp (1030): transferReal
src/Item/ItemStack.cpp (1008): transferWithoutStackLimit
src/Entity/Furnace.cpp (746): transferToRecipeResult
src/Entity/Furnace.cpp (94): fastReplaceSetup
src/GameStateManualBuilder.cpp (347): fastReplaceEntity
src/ManualBuilder.cpp (1542): checkNonGhostFastReplace
src/ManualBuilder.cpp (1500): checkFastReplace
src/ManualBuilder.cpp (1435): checkFastReplace
src/ManualBuilder.cpp (346): build
src/ManualBuilder.cpp (109): buildFromInputAction
src/CommonInputHandler.cpp (164): actionPerformed
src/GameActionHandler.cpp (406): actionPerformed
src/Input/InputSource.cpp (75): flushToListeners
src/Input/InputSource.cpp (67): flushActions
src/Input/PlayerInputSource.cpp (523): flushActions
src/GameActionHandler.cpp (439): update
src/MainLoop.cpp (1378): gameUpdateStep
src/MainLoop.cpp (1228): gameUpdateLoop
/opt/gcc-13.2.0/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../include/c++/13.2.0/bits/std_function.h (591): operator()
src/Util/WorkerThread.cpp (70): loop
/tmp/tmp.dlP10F34z6/objdir/../gcc-13.2.0/libstdc++-v3/src/c++11/thread.cc (104): execute_native_thread_routine
0x77e848c9caa3
0x77e848d29c6b
0xffffffffffffffff
Stack trace logging done
85.462 Error CrashHandler.cpp:190: Map tick at moment of crash: 558581
85.462 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.
91.336 Uploading log file
91.388 Info SystemUtil.cpp:842: Started /home/mrno/.local/share/Steam/steamapps/common/Factorio/bin/x64/factorio; trampoline PID: 141966

9 days ago

I've been trying to reproduce this for like 15 minutes with your mod list in a testing world, and I still don't know what happened. What's happening on my end is that the excess items are dumped directly into my inventory, or onto the ground if there isn't enough space.

The fact that the entire game crashed makes me think that it's some Factorio bug, but I'll try to work around it anyways by making the decompilers all have the same result inventory size regardless. Let me know if v1.0.1 doesn't fix the issue.

9 days ago
(updated 9 days ago)

It did, indeed, resolve the problem.

Weird that it would have different behavior on different systems though. Some implementation detail in the Linux edition perhaps? Unless you're also running that.

I hadn't thought it through all the way, but on testing i see that downgrading chests drops excess items into inventory / ground as expected.

Maybe it had something to do with the inventory being full? Do you remember if you had a bunch of stuff in there while trying to reproduce? Kinda out-there cause, tho, given that chests clearly operate properly.

In case it's of interest, the above log was me reproducing on an SP copy of the save after this bug crashed our MP game a couple of times (always crashing me, as the host, when another player did the replacement)

9 days ago

I also use linux, so it's not that (although from what i can see in the log, you use x11 and I use wayland, but I don't really know how that would cause the crash), A full list of what I tried:
- Replacing it at a distance with the longer reach mod you had active.
- Replacing it while I had an inventory full of transport belts
- Replacing it when it had full module slots
- Replacing it with an upgrade planned via the upgrade planner
- Replacing it with only some of the 2nd row results pre-removed
In any case, I'm glad that the mod isn't crashing any more >w<

9 days ago

Yeah, that sounds pretty complete.

If you have a way for me to send a save, and are interested, I'd be happy to upload one.

It works, tho, so I'm good.

Thanks!

New response