[1.1.57] Factorio crashes during cropping when using "genshin-impact-skin" mod (Linux)

This subforum contains all the issues which we already resolved.
DarkShadow44
Filter Inserter
Filter Inserter
Posts: 353
Joined: Thu Jun 01, 2017 12:05 pm
Contact:

[1.1.57] Factorio crashes during cropping when using "genshin-impact-skin" mod (Linux)

Post by DarkShadow44 »

I'm using Arch Linux, running the standalone factorio 1.1.57.
I did a fresh download, default settings, no mods, and then installed this mod: genshin-impact skin
As long as that mod is active, the game will crash during croppng images phase. Removing the mod removes the crash.

pngcheck explains why the game is crashing:
./genshin-impact-skin/images/ningguang/145.png EOF while reading IDAT data
./genshin-impact-skin/images/ningguang/144.png EOF while reading IDAT data
./genshin-impact-skin/images/ningguang/143.png EOF while reading IDAT data

Admittedly, this is complaining on a high comfort level, but would you mind catching that error and giving a message like "mod has broken picture", similar to how you handle lua crashes?

Since the log doesn't contain a stacktrace, I also captured a stacktrace with gdb:

Code: Select all

   2.251 Parallel Sprite Loader initialized (threads: 15)
terminate called after throwing an instance of 'RuntimeError'
  what():  bad adaptive filter value
terminate called recursively

Thread 51 "PreloadWorker" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff5dffb640 (LWP 116983)]
0x00007ffff79c334c in __pthread_kill_implementation () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff79c334c in __pthread_kill_implementation () from /usr/lib/libc.so.6
#1  0x00007ffff79764b8 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff7960534 in abort () from /usr/lib/libc.so.6
#3  0x00000000006a4f99 in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#4  0x0000000001f4c986 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48
#5  0x0000000001fef479 in __cxa_call_terminate (ue_header=0x7fff3c9368e0) at ../../../../libstdc++-v3/libsupc++/eh_call.cc:54
#6  0x0000000001f4c163 in __cxxabiv1::__gxx_personality_v0 (version=<optimized out>, actions=6, exception_class=5138137972254386944, ue_header=0x7fff3c9368e0, context=<optimized out>)
    at ../../../../libstdc++-v3/libsupc++/eh_personality.cc:685
#7  0x0000000001ff67cc in _Unwind_RaiseException_Phase2 (exc=0x7fff3c9368e0, context=0x7fff5dff9bd0, frames_p=0x7fff5dff9cc0) at ../../../libgcc/unwind.inc:64
#8  0x0000000001ff6fa0 in _Unwind_RaiseException (exc=0x7fff3c9368e0) at ../../../libgcc/unwind.inc:136
#9  0x0000000001f4cb37 in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x20b9da0 <typeinfo for RuntimeError>, dest=0x7687c0 <RuntimeError::~RuntimeError()>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:90
#10 0x00000000004c6a08 in handlePngLibError (pngStruct=0x1c8bc, errorMsg=0x20178b7 "bad adaptive filter value") at /tmp/factorio-build-s2MpP5/src/Graphics/PngLoad.cpp:38
#11 0x0000000001a8e5e1 in png_error(const png_struct_def * __restrict__, const char *) (png_ptr=0x7fff3c000b70, error_message=0x20178b7 "bad adaptive filter value") at /tmp/factorio-build-s2MpP5/libraries/png/pngerror.c:83
#12 0x0000000000c6d09d in png_read_row () at /tmp/factorio-build-s2MpP5/libraries/png/pngread.c:545
#13 png_read_image () at /tmp/factorio-build-s2MpP5/libraries/png/pngread.c:747
#14 preloadPng () at /tmp/factorio-build-s2MpP5/src/Graphics/PngLoad.cpp:118
#15 SpriteLoaders::CrossPlatformImageLoader::preload (this=0x1c8bc) at /tmp/factorio-build-s2MpP5/src/Graphics/CrossPlatformImageLoader.cpp:15
#16 0x000000000181b169 in PreloadWorker::preload () at /tmp/factorio-build-s2MpP5/src/Graphics/ParallelSpriteLoader.cpp:60
#17 PreloadWorker::compute()::{lambda()#1}::operator()() const () at /tmp/factorio-build-s2MpP5/src/Graphics/ParallelSpriteLoader.cpp:40
#18 std::__invoke_impl<void, PreloadWorker::compute()::{lambda()#1}>(std::__invoke_other, PreloadWorker::compute()::{lambda()#1}&&) () at /home/build/gcc-11.2/include/c++/11.2.0/bits/invoke.h:61
#19 std::__invoke<PreloadWorker::compute()::{lambda()#1}>(PreloadWorker::compute()::{lambda()#1}&&) () at /home/build/gcc-11.2/include/c++/11.2.0/bits/invoke.h:96
#20 std::thread::_Invoker<std::tuple<PreloadWorker::compute()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) () at /home/build/gcc-11.2/include/c++/11.2.0/bits/std_thread.h:253
#21 std::thread::_Invoker<std::tuple<PreloadWorker::compute()::{lambda()#1}> >::operator()() () at /home/build/gcc-11.2/include/c++/11.2.0/bits/std_thread.h:260
#22 std::thread::_State_impl<std::thread::_Invoker<std::tuple<PreloadWorker::compute()::{lambda()#1}> > >::_M_run() (this=0x1c8bc) at /home/build/gcc-11.2/include/c++/11.2.0/bits/std_thread.h:211
#23 0x0000000001fc5820 in std::execute_native_thread_routine (__p=0xb65c150) at ../../../../../libstdc++-v3/src/c++11/thread.cc:82
#24 0x00007ffff79c15c2 in start_thread () from /usr/lib/libc.so.6
#25 0x00007ffff7a46584 in clone () from /usr/lib/libc.so.6
(gdb) 
Attachments
mods.7z
(82.83 MiB) Downloaded 131 times
factorio-current.log
(2.9 KiB) Downloaded 122 times
Oxyd
Former Staff
Former Staff
Posts: 1428
Joined: Thu May 07, 2015 8:42 am
Contact:

Re: [1.1.57] Factorio crashes during cropping when using "genshin-impact-skin" mod (Linux)

Post by Oxyd »

Thanks, fixed in 1.1.58.
Post Reply

Return to “Resolved Problems and Bugs”