Regular deadlocks on Linux



  • Since recently, Chivalry regularly deadlocks on Debian Testing/Stretch after a few minutes of gameplay, seemingly at random.
    I attached gdb, which produced these backtraces:

    (gdb) thread 1
    [Switching to thread 1 (Thread 0xf6ea5a00 (LWP 6191))]
    #0 0xf77bbd49 in __kernel_vsyscall ()
    (gdb) bt
    #0 0xf77bbd49 in __kernel_vsyscall ()
    #1 0xf773bff5 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
    #2 0x08eb32fd in FEventLinux::Wait (this=0x3685bba0, WaitTime=100)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Linux/Src/LinuxThreading.cpp:276
    #3 0x08fb4eec in FFrameEndSync::Sync (this=this@entry=0x9d0bf88 FEngineLoop::Tick()::FrameEndSync, bAllowOneFrameThreadLag=1)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Launch/Src/LaunchEngineLoop.cpp:1730
    #4 0x08faca5e in FEngineLoop::Tick (this=this@entry=0x9d0ade0 <GEngineLoop>)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Launch/Src/LaunchEngineLoop.cpp:4178
    #5 0x08fb3e9c in EngineTick () at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Launch/Src/Launch.cpp:194
    #6 GuardedMain (CmdLine=0x9573510 L"", hInInstance=hInInstance@entry=0x0, hPrevInstance=hPrevInstance@entry=0x0, nCmdShow=nCmdShow@entry=0)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Launch/Src/Launch.cpp:342
    #7 0x080a930d in main (argc=1, argv=0xffbf3464)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Linux/Src/Linux.cpp:765

    All other threads:
    (gdb) thread 7
    [Switching to thread 7 (Thread 0xf3499b40 (LWP 6197))]
    #0 0xf77bbd49 in __kernel_vsyscall ()
    (gdb) bt
    #0 0xf77bbd49 in __kernel_vsyscall ()
    #1 0xf773bc2b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
    #2 0x08eb3430 in FEventLinux::Wait (this=0xb4cf300, WaitTime=4294967295)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Linux/Src/LinuxThreading.cpp:267
    #3 0x08eb527b in FQueuedThreadLinux::Run (this=this@entry=0xb41e1b0)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Linux/Src/LinuxThreading.cpp:398
    #4 0x08eb52cf in FQueuedThreadLinux::_ThreadProc (pThis=0xb41e1b0)
    at /samba/ue3builds/TBS-BUILD/TeamCity/buildAgent/work/d5ad2b9a423bb0e2/Development/Src/…/…/Development/Src/Linux/Src/LinuxThreading.cpp:384
    #5 0xf77362da in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
    #6 0xf71b091e in clone () from /lib/i386-linux-gnu/libc.so.6

    There don’t appear to be any logs neither in the .local nor the steamapps directory, if they’d be useful let me know where to find them.



  • @Z____ Can you please post your system specs?

    Are you saying your game freezes during gameplay?



  • @Reithur
    OS: Debian testing stretch
    Kernel: x86_64 Linux 4.6.0-1-amd64
    CPU: Intel Core i5-6500 CPU @ 3.6GHz
    GPU: Gallium 0.4 on AMD BONAIRE (DRM 2.43.0 / 4.6.0-1-amd64, LLVM 3.8.1)
    RAM: 1941MiB / 7910MiB

    Yes, it freezes during gameplay.



  • @Z____ You’re on a testing branch, so I have no idea how much that could be affecting your performance in general aside from saying that we don’t support testing branches.

    Reducing Ragdolls & Decals usually improves performance by reducing CPU bottlenecking, as does reducing the number of background processes your system is running.

    Have you ever tried verifying your game files to ensure that you’re not missing any assets?



  • Here’s a console log as well:
    Loading library: libPhysXCooking.so
    Result of loading library libPhysXCooking.so: 0xacb7a00
    Loading library: PhysXUpdateLoader.so
    ERROR: PhysXUpdateLoader.so: cannot open shared object file: No such file or directory
    Result of loading library PhysXUpdateLoader.so: 0x0
    Loading library: libPhysXCore.so
    Result of loading library libPhysXCore.so: 0xacb7780

    The error doesn’t actually seem to be the cause, as logs from others on this forum show that this is printed in a normal run.

    I’ve got a hunch that you could solve this by compiling with a more recent Linux build of UE3.

    @Reithur

    You’re on a testing branch…

    ⹂Testing” is perhaps somewhat misleading. Debian Testing is what’s generally used for home computers. I believe Debian-derivatives (e.g. Ubuntu) are generally based on Debian Testing. Debian Stable is instead for servers.

    Reducing Ragdolls & Decals…

    It’s deadlocking, not chugging. Deadlocks occur when two or more threads are waiting for one another, as the backtrace shows is happening. This isn’t a matter of the processor being too weak, during the deadlock the processor usage of udkgame-linux is 0% because all threads are waiting.

    Have you ever tried verifying…

    The files are all intact.



  • @Z____ Do you have the latest drivers for your AMD card? Also recommend disabling/removing Raptr; it’s been giving a lot of people trouble.

    As for the rest, I’ll talk to our programmers and see what they say.



  • @Reithur
    I’ve got the latest Mesa drivers, yes.