Page 1 of 1

[0.18.26] Factorio hangs forever on startup (linux)

Posted: Sat May 23, 2020 1:09 pm
by Berdes
After starting Factorio from Steam (by clicking the big gree "Play" button), it didn't seem to start at all. After some debugging, it looks like it's stuck reading a pipe connected to "lsb_release -ri" that is itself stuck in a futex_wait call.

Stack trace of factorio:

Code: Select all

#0  0x00007f40bd7fea42 in read () from /usr/lib/libc.so.6
#1  0x00007f40bd790a42 in __GI__IO_file_underflow () from /usr/lib/libc.so.6
#2  0x00007f40bd791cc6 in _IO_default_uflow () from /usr/lib/libc.so.6
#3  0x00007f40bd78493c in _IO_getline_info () from /usr/lib/libc.so.6
#4  0x00007f40bd78388a in fgets () from /usr/lib/libc.so.6
#5  0x0000000000850925 in SystemUtil::getDistroName[abi:cxx11]() () at /tmp/factorio-build-tAyw5M/src/Util/SystemUtil.cpp:465
#6  0x0000000000852539 in SystemUtil::getOSVersionString[abi:cxx11]() () at /tmp/factorio-build-tAyw5M/src/Util/SystemUtil.cpp:506
#7  0x0000000000ca1c2b in Logger::logSysInfo () at /tmp/factorio-build-tAyw5M/src/Util/Logger.cpp:260
#8  0x0000000000ca2098 in Logger::Logger () at /tmp/factorio-build-tAyw5M/src/Util/Logger.cpp:136
#9  0x00000000011e2c5d in GlobalContext::init () at /tmp/factorio-build-tAyw5M/src/GlobalContext.cpp:402
#10 0x00000000011ec06b in MainLoop::run(Filesystem::Path const&, Filesystem::Path const&, bool, bool, std::function<void ()>, Filesystem::Path const&, MainLoop::HeavyMode) ()
    at /tmp/factorio-build-tAyw5M/src/MainLoop.cpp:269
#11 0x00000000005b07ac in main () at /tmp/factorio-build-tAyw5M/src/Main.cpp:1087
Stack trace of lsb_release:

Code: Select all

#0  0x00007fa77e92e6ad in syscall () from /usr/lib/libc.so.6
#1  0x00007fa77ea5d60a in ?? () from /home/berdes/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
#2  0x00007fa77ea5d9fa in ?? () from /home/berdes/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
#3  0x00007fa77ea63521 in ?? () from /home/berdes/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
#4  0x00007fa77ea63639 in ?? () from /home/berdes/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
#5  0x00007fa77ea720d0 in ?? () from /home/berdes/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
#6  0x00007fa77e8731de in __cxa_finalize () from /usr/lib/libc.so.6
#7  0x00007fa77ea5a443 in ?? () from /home/berdes/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
#8  0x00007ffe0158f780 in ?? ()
#9  0x00007fa77eca348b in _dl_fini () from /lib64/ld-linux-x86-64.so.2
Backtrace stopped: frame did not save the PC
strace -p <pid of lsb_release> gives the following:

Code: Select all

strace: Process 138074 attached
futex(0x7fa77df285a4, FUTEX_WAIT, 2147483649, NULL
factorio-current.log

Code: Select all

   0.000 2020-05-23 14:00:17; Factorio 0.18.26 (build 51686, linux64, steam)
uname -a

Code: Select all

Linux berdes-desktop 5.6.13-arch1-1 #1 SMP PREEMPT Thu, 14 May 2020 06:52:53 +0000 x86_64 GNU/Linux
Killing the lsb_release process unblocked everything and factorio started normally afterward.

This is the first time I have the issue (but I didn't play factorio on linux many times in the past either). I tried restarting factorio a few times and it also didn't reproduce the issue.

Re: [0.18.26] Factorio hangs forever on startup (linux)

Posted: Wed May 27, 2020 5:10 pm
by posila
Thanks for the report.
Unless it becomes more widespread problem, I think it is not worth trying to handle possibility of lsb_release hanging.

Re: [0.18.26] Factorio hangs forever on startup (linux)

Posted: Sun Jun 28, 2020 8:19 am
by movax20h
I think the issue might be due to LD_PRELOAD. It is virially propagating to all sub-processes, but it is not a good thing to do with steam overlay library. How about cleaning LD_PRELOAD before calling `lsb_release` ?