Page 1 of 1

[Rseding91] [0.17.63] Attempting to sweep SubSpritePool while sub sprites are still being used.

Posted: Wed Aug 07, 2019 4:01 am
by EnigmaticAussie
Troubleshooting a mod not starting the game.
"Disable mods" GUI appears.
Make minor changes in mod code.
Select Restart
Game Crashes out

Code: Select all

Mods to be disabled:
• space-exploration
• Squeak Through
 301.241 Info AppManager.cpp:1211: Restarting Factorio
 301.241 Restarting for reason other than update. Setting execute permission skipped.
 301.241 Info AppManager.cpp:1245: Executable path: /home/adrian/.steam/steam/steamapps/common/Factorio/bin/x64/factorio
 301.390 Steam API shutdown.
Factorio crashed. Generating symbolized stacktrace, please wait ...
Raw stacktrace: 0xb2fc98, 0xcfa1cd, 0x9e1369, 0x9fae5f, 0xf18c4d, 0xf18c82, 0xf19204, 0xf194fa, 0xfc4206, 0xfc4f70, 0xfc5fb3, 0xfc63ae, 0x52ee70, 0, 0x540d1e
 308.034 Warning Logger.cpp:518: Symbols.size() == 22, usedSize == 14
#0  0x0000000000cfa1cd in std::__uniq_ptr_impl<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::_M_ptr() const at /usr/include/c++/8/bits/unique_ptr.h:150
#1  0x00000000009e1369 in std::unique_ptr<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::get() const at /usr/include/c++/8/bits/unique_ptr.h:343
#2  0x00000000009fae5f in std::unique_ptr<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::operator->() const at /usr/include/c++/8/bits/unique_ptr.h:337
#3  0x0000000000f18c4d in Logger::flush() at /tmp/factorio-build-MpOFGX/src/Util/Logger.cpp:558
#4  0x0000000000f18c82 in Logger::logStacktrace(StackTraceInfo*) at /tmp/factorio-build-MpOFGX/src/Util/Logger.cpp:544
#5  0x0000000000f19204 in Logging::flush() at /tmp/factorio-build-MpOFGX/src/Util/Logging.cpp:69
#6  0x0000000000f194fa in Logging::logAndAbortOrThrow(char const*, unsigned int, LogLevel, std::string const&) at /tmp/factorio-build-MpOFGX/src/Util/Logging.cpp:103
#7  0x0000000000fc4206 in Logging::logAndAbortOrThrow(char const*, unsigned int, LogLevel, char const*, ...) at /tmp/factorio-build-MpOFGX/src/Util/Logging.cpp:93
#8  0x0000000000fc4f70 in SubSpritePool::sweep() at /tmp/factorio-build-MpOFGX/src/Graphics/Sprite.cpp:48
#9  0x0000000000fc5fb3 in SubSpritePool::~SubSpritePool() at /tmp/factorio-build-MpOFGX/src/Graphics/Sprite.cpp:31
#10 0x0000000000fc63ae in Sprite::deletePool(SubSpritePool*) at /tmp/factorio-build-MpOFGX/src/Graphics/Sprite.cpp:66
#11 0x000000000052ee70 in GlobalContext::clearResources() at /tmp/factorio-build-MpOFGX/src/GlobalContext.cpp:846
#12 (nil) in GlobalContext::~GlobalContext() at /tmp/factorio-build-MpOFGX/src/GlobalContext.cpp:853
#13 0x0000000000540d1e in AppManager::restartApp(bool, std::vector<std::string, std::allocator<std::string> >) at /tmp/factorio-build-MpOFGX/src/AppManager.cpp:1260 (discriminator 1)
#14 (nil) in InModsLoadErrorGui::process(AppManager*) at /tmp/factorio-build-MpOFGX/src/AppManagerStates.cpp:3041
#15 (nil) in AppManager::process() at /tmp/factorio-build-MpOFGX/src/AppManager.cpp:234
#16 0x0000000100000000 in MainLoop::prePrepare() at /tmp/factorio-build-MpOFGX/src/MainLoop.cpp:530
#17 0x0000000000000001 in MainLoop::mainLoopStep(WorkerThread&, MainLoop::HeavyMode) at /tmp/factorio-build-MpOFGX/src/MainLoop.cpp:632
#18 (nil) in MainLoop::run(Filesystem::Path const&, Filesystem::Path const&, bool, bool, std::function<void ()>, Filesystem::Path const&, MainLoop::HeavyMode) at /tmp/factorio-build-MpOFGX/src/MainLoop.cpp:377
#19 (nil) in main at /tmp/factorio-build-MpOFGX/src/Main.cpp:1359 (discriminator 3)
#20 0x0000000100000002 in ?? at ??:0
#21 (nil) in _start at ??:?
Stack trace logging done
 313.651 Warning Logger.cpp:518: Symbols.size() == 17, usedSize == 13
 313.651 Error Sprite.cpp:48: Attempting to sweep SubSpritePool while sub sprites are still being used.
Logger::writeStacktrace skipped.
 313.651 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.
 315.396 Error CrashHandler.cpp:603: Received SIGSEGV
Logger::writeStacktrace skipped.
 315.396 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.

Re: [Rseding91] [0.17.63] Attempting to sweep SubSpritePool while sub sprites are still being used.

Posted: Wed Aug 07, 2019 3:52 pm
by Rseding91
Thanks for the report. Do you have any way to reproduce the crash? When I test the steps you gave it doesn't error for me.

Re: [Rseding91] [0.17.63] Attempting to sweep SubSpritePool while sub sprites are still being used.

Posted: Thu Aug 08, 2019 12:40 am
by EnigmaticAussie
I've tried to replicate it using a different mod, and it's not ever happened again.

I will attempt to recreate the exact steps to make this happen.

Re: [Rseding91] [0.17.63] Attempting to sweep SubSpritePool while sub sprites are still being used.

Posted: Thu Aug 08, 2019 1:09 am
by EnigmaticAussie
1. Sync mods with attached save - steps require space exploration version 0.1.132
2. Load will fail as a Space Exploration entity (se-condenser-turbine) has overlapping fluidboxes.

3. DO NOT CLOSE THE GUI

4. Edit `prototypes/entity/condenser-turbine.lua` line 348 - modify to:

Code: Select all

{ type="output", position = {0, 1.5} },
or similar

5. Press "Restart" on "mods to disable gui.

(You may have to repeat steps 3-5 until you get a crash (I had to repeat the steps 2-3 times the second go around))

Game crashes.

Re: [Rseding91] [0.17.63] Attempting to sweep SubSpritePool while sub sprites are still being used.

Posted: Thu Aug 08, 2019 3:38 am
by Rseding91
I still can't reproduce the crash. The "edit the file" part literally can't effect if it crashes because it's crashing on exiting and it won't even try to read the changed file while exiting.

Re: [Rseding91] [0.17.63] Attempting to sweep SubSpritePool while sub sprites are still being used.

Posted: Thu Aug 08, 2019 3:56 am
by EnigmaticAussie
It (semi) consistently crashes for me using the steps above.

I'll see if I can get it to crash on another machine.