thijsvanloef / palworld-server-docker

A Docker Container to easily run a Palworld dedicated server.
https://hub.docker.com/r/thijsvanloef/palworld-server-docker
MIT License
2.43k stars 295 forks source link

Can not start palworld docker ( threadtools.cpp ) #352

Closed derbananenkoenig closed 8 months ago

derbananenkoenig commented 8 months ago

Describe the bug

Server does not startup on first start:

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

Actual behavior

Screenshots

OS information

Hardware information

cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : QEMU Virtual CPU version 2.3.0 stepping : 3 microcode : 0x1 cpu MHz : 3408.022 cache size : 4096 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 4 wp : yes flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl eagerfpu pni cx16 hypervisor lahf_lm abm rsb_ctxsw bogomips : 6816.04 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:

processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : QEMU Virtual CPU version 2.3.0 stepping : 3 microcode : 0x1 cpu MHz : 3408.022 cache size : 4096 KB physical id : 1 siblings : 1 core id : 0 cpu cores : 1 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 4 wp : yes flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl eagerfpu pni cx16 hypervisor lahf_lm abm rsb_ctxsw bogomips : 6816.04 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:

docker-compose.yml contents

# docker-compose.yml contents here
version: '2.2'
services:
   palworld:
      image: thijsvanloef/palworld-server-docker:latest
      restart: unless-stopped
      container_name: palworld-server
      ports:
        - 8211:8211/udp
        - 27015:27015/udp
      environment:
         - PUID=1009
         - PGID=986
         - PORT=8211
         - PLAYERS6=
         - SERVER_PASSWORD="xxxxxxx"
         - MULTITHREADING=false
         - RCON_ENABLED=true
         - RCON_PORT=25575
         - TZ=UTC
         - ADMIN_PASSWORD="xxxxxxx"
         - COMMUNITY=true
         - SERVER_NAME="Haralds palserver"
      volumes:
         - ./data:/palworld/

Container/Host Logs

palworld-server | *****EXECUTING USERMOD*****
palworld-server | chown: cannot access '/home/steam/server/backup.sh': No such file or directory
palworld-server | chown: cannot access '/home/steam/server/restore.sh': No such file or directory
palworld-server | chown: cannot access '/home/steam/server/update.sh': No such file or directory
palworld-server | *****GENERATING CONFIGS*****
palworld-server | Compiling PalWorldSettings.ini...
palworld-server | Compiling PalWorldSettings.ini done!
palworld-server | *****STARTING INSTALL/UPDATE*****
palworld-server | tid(34) burning pthread_key_t == 0 so we never use it
palworld-server | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
palworld-server | Logging directory: '/home/steam/Steam/logs'
palworld-server | src/tier0/threadtools.cpp (4213) : Probably deadlock or failure waiting for thread to initialize.
palworld-server | [  0%] Checking for available updates...
palworld-server | Thread failed to initialize
palworld-server | src/tier0/threadtools.cpp (4213) : Probably deadlock or failure waiting for thread to initialize.
palworld-server | Thread failed to initialize

Additional context

Diyagi commented 8 months ago

ValveSoftware/steam-for-linux#7190

muri235 commented 8 months ago

Does this help? It helped me with exactly this issue.

sudo apt-get update
sudo apt-get install lib32gcc1 libcurl4
derbananenkoenig commented 8 months ago

Hey,

thank you very much for your response. Unfortunantely it did not help. I am running a centos7 system and have issued the following commands and installed the libs i thought would be the right match:

yum install glibc.i686 libstdc++.i686

yum install libcurl libcurl.i686 libcurl-devel.i686 libcurl-devel.x86_64

[root@xxx palworld]# docker-compose up
Starting palworld-server ... done
Attaching to palworld-server
palworld-server | *****EXECUTING USERMOD*****
palworld-server | usermod: no changes
palworld-server | chown: cannot access '/home/steam/server/backup.sh': No such file or directory
palworld-server | chown: cannot access '/home/steam/server/restore.sh': No such file or directory
palworld-server | chown: cannot access '/home/steam/server/update.sh': No such file or directory
palworld-server | *****GENERATING CONFIGS*****
palworld-server | Compiling PalWorldSettings.ini...
palworld-server | Compiling PalWorldSettings.ini done!
palworld-server | *****STARTING INSTALL/UPDATE*****
palworld-server | tid(28) burning pthread_key_t == 0 so we never use it
palworld-server | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
palworld-server | Logging directory: '/home/steam/Steam/logs'
palworld-server | Looks like steam didn't shutdown cleanly, scheduling immediate update check
palworld-server | src/tier0/threadtools.cpp (4213) : Probably deadlock or failure waiting for thread to initialize.
palworld-server | Thread failed to initialize
palworld-server | [  0%] Checking for available updates...
palworld-server | src/tier0/threadtools.cpp (4213) : Probably deadlock or failure waiting for thread to initialize.
palworld-server | Thread failed to initialize
^CGracefully stopping... (press Ctrl+C again to force)
Stopping palworld-server ... done
muri235 commented 8 months ago

Hey,

thank you very much for your response. Unfortunantely it did not help. I am running a centos7 system and have issued the following commands and installed the libs i thought would be the right match:

yum install glibc.i686 libstdc++.i686

yum install libcurl libcurl.i686 libcurl-devel.i686 libcurl-devel.x86_64

[root@xxx palworld]# docker-compose up
Starting palworld-server ... done
Attaching to palworld-server
palworld-server | *****EXECUTING USERMOD*****
palworld-server | usermod: no changes
palworld-server | chown: cannot access '/home/steam/server/backup.sh': No such file or directory
palworld-server | chown: cannot access '/home/steam/server/restore.sh': No such file or directory
palworld-server | chown: cannot access '/home/steam/server/update.sh': No such file or directory
palworld-server | *****GENERATING CONFIGS*****
palworld-server | Compiling PalWorldSettings.ini...
palworld-server | Compiling PalWorldSettings.ini done!
palworld-server | *****STARTING INSTALL/UPDATE*****
palworld-server | tid(28) burning pthread_key_t == 0 so we never use it
palworld-server | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
palworld-server | Logging directory: '/home/steam/Steam/logs'
palworld-server | Looks like steam didn't shutdown cleanly, scheduling immediate update check
palworld-server | src/tier0/threadtools.cpp (4213) : Probably deadlock or failure waiting for thread to initialize.
palworld-server | Thread failed to initialize
palworld-server | [  0%] Checking for available updates...
palworld-server | src/tier0/threadtools.cpp (4213) : Probably deadlock or failure waiting for thread to initialize.
palworld-server | Thread failed to initialize
^CGracefully stopping... (press Ctrl+C again to force)
Stopping palworld-server ... done

Ah, sorry, then, the compatibility-packages should be one of:

yum install compat-libstdc++-296.i686
yum install compat-libstdc++-33.i686
derbananenkoenig commented 8 months ago

You are amazing, thank you for trying to help.

I have installed what was available, but it still did not do the trick .

compat-libstdc++-33.i686 : Compatibility standard C++ libraries compat-libstdc++-33.x86_64 : Compatibility standard C++ libraries

Cheers

muri235 commented 8 months ago

Okay, sorry I can't test for myself because I don't have any CentOS Server rn. But the last thing that comes into my mind would be to try allowing to install all packages, not only "optimal" packages by changing the /etc/yum.conf

multilib_policy=all

instead of

multilib_policy=best

Sorry if this also doesn't help.

sonroyaalmerol commented 8 months ago

This is probably an issue of incompatibilities (syscall collisions) with the kernel version of your Docker's host system which would explain the deadlocks. CentOS 7 has an ancient kernel version (3.10 is the latest I believe) and is incompatible with most libraries nowadays.

I suggest you upgrade to a newer operating system as CentOS 7 is reaching its end-of-life (EOL) this year. Shipping older libraries inside the containers to support EOL kernels wouldn't make sense for us either.