[1.1.110][Linux], Seg fault on launch [FIXED]

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
raonowin
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun Oct 06, 2024 6:27 pm
Contact:

[1.1.110][Linux], Seg fault on launch [FIXED]

Post by raonowin »

when upgrading from 1.1.94 to fix a crash with mods when trying to multiplayer i found that 1.1.110 segfaults immediately on launch

versions 1.1.107 1.1.109 and 1.1.110 all crash on launch (Via steam, terminal and GDB and strace), 107 and 110 running in terminal and GDB both give almost identical segfaults / back traces
Version 1.1.104 runs. I could not test 105 and 106, and i did not test 108

No logs are created by the game before it crashes.


I found a tech support post someone else had that seems similar identical to my issue, but wanted to provide a bug report and my issue isnt quite the same.
viewtopic.php?f=49&t=115495

Code: Select all

username@linux-asdf:/flash/SteamLibrary/steamapps/common/Factorio/bin/x64> ./factorio 
Segmentation fault (core dumped)
username@linux-asdf:/flash/SteamLibrary/steamapps/common/Factorio/bin/x64> gdb ./factorio 
GNU gdb (GDB; SUSE Linux Enterprise 15) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Registered pretty printers for UE classes
Reading symbols from ./factorio...
(gdb) r
Starting program: /flash/SteamLibrary/steamapps/common/Factorio/bin/x64/factorio 
Missing separate debuginfos, use: zypper install glibc-debuginfo-2.38-150600.14.14.2.x86_64
Missing separate debuginfo for /flash/SteamLibrary/steamapps/common/Factorio/bin/x64/../../lib/libsteam_api.so
Try: zypper install -C "debuginfo(build-id)=f9acf5a2502b99671abe674b7b47deb1327dbda9"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000000001edf4c0 in std::codecvt<char16_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const ()
Missing separate debuginfos, use: zypper install libFLAC8-debuginfo-1.3.2-150000.3.14.1.x86_64 libX11-6-debuginfo-1.8.7-150600.1.2.x86_64 libXau6-debuginfo-1.0.8-1.26.x86_64 libXcursor1-debuginfo-1.1.15-1.18.x86_64 libXext6-debuginfo-1.3.3-1.30.x86_64 libXfixes3-debuginfo-6.0.0-150400.1.4.x86_64 libXinerama1-debuginfo-1.1.3-1.22.x86_64 libXrandr2-debuginfo-1.5.1-2.17.x86_64 libasound2-debuginfo-1.2.10-150600.2.3.x86_64 libcap2-debuginfo-2.63-150400.3.3.1.x86_64 libgcc_s1-debuginfo-14.2.0+git10526-150000.1.3.3.x86_64 libgcrypt20-debuginfo-1.10.3-150600.1.23.x86_64 libgl-amdgpu-pro-oglp-dri-debuginfo-23.40-1741712.x86_64 libjitterentropy3-debuginfo-3.4.1-150000.1.12.1.x86_64 liblz4-1-debuginfo-1.9.4-150600.1.4.x86_64 liblzma5-debuginfo-5.4.1-150600.1.2.x86_64 libogg0-debuginfo-1.3.2-150000.3.4.1.x86_64 libopenssl-1_1-devel-debuginfo-1.1.1w-150600.5.6.1.x86_64 libopenssl1_1-debuginfo-1.1.1w-150600.5.6.1.x86_64 libpulse0-debuginfo-17.0-150600.2.3.x86_64 libsndfile1-debuginfo-1.0.28-150000.5.20.1.x86_64 libspeex1-debuginfo-1.2-150000.3.5.2.x86_64 libstdc++6-debuginfo-14.2.0+git10526-150000.1.3.3.x86_64 libsystemd0-debuginfo-254.18-150600.4.15.10.x86_64 libvorbisenc2-debuginfo-1.3.6-150000.4.5.2.x86_64 libxcb1-debuginfo-1.13-150000.3.11.1.x86_64 libz1-debuginfo-1.2.13-150500.4.3.1.x86_64
(gdb) bt
#0  0x0000000001edf4c0 in std::codecvt<char16_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const ()
#1  0x00000000016686c2 in std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::_M_ready() ()
#2  0x00000000016701f4 in void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_bracket_matcher<false, false>(bool) ()
#3  0x0000000001646d99 in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_atom() ()
#4  0x000000000160f916 in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative() ()
#5  0x000000000159119c in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction() ()
#6  0x0000000001646cb3 in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_atom() ()
#7  0x000000000160f916 in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative() ()
#8  0x000000000160f9cb in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative() ()
#9  0x000000000160f9cb in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative() ()
#10 0x000000000159119c in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction() ()
#11 0x0000000001b00adf in std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_Compiler(char const*, char const*, std::locale const&, std::regex_constants::syntax_option_type) [clone .constprop.0] ()
#12 0x0000000001b0bbf1 in std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::_M_compile(char const*, char const*, std::regex_constants::syntax_option_type) [clone .constprop.0] ()
#13 0x0000000001a862de in std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::basic_regex(char const*, std::regex_constants::syntax_option_type) [clone .constprop.0] ()
#14 0x0000000000664bcd in __static_initialization_and_destruction_0() [clone .lto_priv.0] ()
#15 0x0000000001f88c9d in __libc_csu_init ()
#16 0x00007ffff6a40f8f in __libc_start_main_impl () from /lib64/libc.so.6
#17 0x00000000006a5f49 in _start ()
(gdb) quit
A debugging session is active.

	Inferior 1 [process 18812] will be killed.

Quit anyway? (y or n) y
username@linux-asdf:/flash/SteamLibrary/steamapps/common/Factorio/bin/x64> ldd factorio
	linux-vdso.so.1 (0x00007fff6f826000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fd1c67f6000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fd1c67f3000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd1c67e1000)
	libsteam_api.so => /flash/SteamLibrary/steamapps/common/Factorio/bin/x64/./../../lib/libsteam_api.so (0x00007fd1c6791000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fd1c664e000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fd1c6400000)
	libGL.so.1 => /opt/amdgpu-pro/lib64/libGL.so.1 (0x00007fd1c635b000)
	libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007fd1c6000000)
	libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fd1c5c00000)
	libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007fd1c5800000)
	libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007fd1c6252000)
	libpulse.so.0 => /usr/lib64/libpulse.so.0 (0x00007fd1c5fab000)
	libpulse-simple.so.0 => /usr/lib64/libpulse-simple.so.0 (0x00007fd1c6647000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fd1c5ec1000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd1c6644000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fd1c5400000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fd1c6836000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fd1c6618000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fd1c5000000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd1c6225000)
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fd1c4c00000)
	libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fd1c4800000)
	libpulsecommon-17.0.so => /usr/lib64/pulseaudio/libpulsecommon-17.0.so (0x00007fd1c5e39000)
	libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007fd1c5bad000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fd1c4400000)
	libsndfile.so.1 => /usr/lib64/libsndfile.so.1 (0x00007fd1c5b30000)
	libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007fd1c5a2f000)
	libFLAC.so.8 => /usr/lib64/libFLAC.so.8 (0x00007fd1c4000000)
	libogg.so.0 => /usr/lib64/libogg.so.0 (0x00007fd1c3c00000)
	libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00007fd1c3800000)
	libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00007fd1c3400000)
	libspeex.so.1 => /usr/lib64/libspeex.so.1 (0x00007fd1c3000000)
	libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007fd1c621a000)
	libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007fd1c56bb000)
	liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007fd1c5e15000)
	liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007fd1c5674000)
	libzstd.so.1 => /usr/lib64/libzstd.so.1 (0x00007fd1c5341000)
	libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007fd1c564e000)
System info
gcc version 11.3.0
GLIBCXX_3.4.1 through GLIBCXX_3.4.33

openSUSE 15.6
Ryzen 5800X
32GB ECC DDR4
Radeon 6800 XT



Please advise if any other info would be helpful.
Last edited by raonowin on Sun Nov 17, 2024 7:31 pm, edited 1 time in total.
yscialom
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sun Jun 02, 2024 12:21 pm
Contact:

Re: [1.1.110][Linux], Seg fault on launch

Post by yscialom »

Hello, I have what appears to be the exact same error: a SIGSEGV on std::codecvt::do_unshift.

I've tried uninstalling/reinstalling the game. I tried removing all my local files. I tried running the game with AppArmor disabled. I tried running it in a minimal environment (env -i HOME=$HOME ./factorio), I tried disabling the Steam overlay. Nothing worked.

Any help appreciated.

Note: related (same stacktrace: viewtopic.php?f=49&t=115495)

---

Addition informations
I'm on Ubuntu 24.10 and had the same issue a few months back on Ubuntu 24.04 (LTS).
My system have libc6 v2.40-1ubuntu3 and libstdc++6 v14.2.0-4ubuntu2.

Here is the last ~30 lines of a strace factorio:

Code: Select all

poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="\1\0\n\0\1\0\200\2\350\1\0\0\0\0\0\0\1\0\1\0\0\0\0\0\0\0\0\0\n\0\0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\10\0\0\0\0\0\215\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="\20\1\5\0\v\0\200\2UTF8_STRING\0", iov_len=20}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 20
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\t\0\0\0\0\0;\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="\20\0\5\0\t\0\200\2CLIPBOARDNG\0", iov_len=20}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 20
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\n\0\0\0\0\0\214\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="\20\0\5\0\t\0\200\2XSEL_DATANG\0", iov_len=20}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 20
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\v\0\0\0\0\0[\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{iov_base="\20\0\3\0\4\0\200\2INCR", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\f\0\0\0\0\0\31\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(5, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
+++ killed by SIGSEGV (core dumped) +++
[1]    6359 segmentation fault (core dumped)  strace ./factorio 2 | 
       6360 done                              tail -30
yscialom
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sun Jun 02, 2024 12:21 pm
Contact:

Re: [1.1.110][Linux], Seg fault on launch

Post by yscialom »

Installing Space Age resolved the issue for me.
raonowin
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun Oct 06, 2024 6:27 pm
Contact:

Re: [1.1.110][Linux], Seg fault on launch [FIXED]

Post by raonowin »

2.0.19(experimental) and 2.0.15 (Stable) Both work for me with no issues and fixed the problem.
Note i have space age expansion.


I had to remove --force-opengl=true from my command line to get it to launch as i used that+ proton 9.x to run the win version until it was fixed.


thanks
Post Reply

Return to “Technical Help”