ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.79k stars 273 forks source link

Palworld Server not working, segfault #1935

Open ShapeShifter499 opened 1 day ago

ShapeShifter499 commented 1 day ago

I'm trying to set up a Palworld Server on a Raspberry Pi 4, model with 8GB Ram. It's only going to serve a few people so it should work. I see the Palworld Server used to work in prior versions of Box86/Box64 but with version 3.0 installed from PI-Apps-Coders, box64-rpi4arm64_0.3.1+20241013T063305.b6cd19b-1_arm64.deb. I see a segmentation fault.

~/palworldserver $ ./PalServer.sh
The file already exists: /home/palworld/palworldserver/Pal/Binaries/Linux/steamclient.so
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Running on Cortex-A72 with 4 Cores
Will use Hardware counter measured at 54.0 MHz emulating 3.4 GHz
Params database has 91 entries
Box64 with Dynarec v0.3.1 b6cd19b7 built on Oct 13 2024 06:21:54
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 20 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
Looking for /home/palworld/palworldserver/Pal/Binaries/Linux/PalServer-Linux-Shipping
argv[1]="Pal"
Rename process to "PalServer-Linux-Shipping"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using emulated /home/palworld/palworldserver/Pal/Binaries/Linux/../../../Engine/Binaries/ThirdParty/Steamworks/Steamv153/x86_64-unknown-linux-gnu/libsteam_api.so
Using emulated /home/palworld/palworldserver/Pal/Binaries/Linux/../../../Engine/Binaries/Linux/libEOSSDK-Linux-Shipping.so
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Using emulated /usr/lib/box64-x86_64-linux-gnu/libgcc_s.so.1
Shutdown handler: initalize.
5.1.1-0+++UE5+Release-5.1 1008 0
Disabling core dumps.
Using emulated steamclient.so
Warning: Weak Symbol _ITM_RU1 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f062dd158 (0xb4fa90)
Warning: Weak Symbol _ZGTtnam not found, cannot apply R_X86_64_JUMP_SLOT @0x3f062dd160 (0xb4fa90)
Warning: Weak Symbol _ITM_memcpyRtWn not found, cannot apply R_X86_64_JUMP_SLOT @0x3f062dd168 (0xb4fa90)
Warning: Weak Symbol _ITM_RU8 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f062dd170 (0xb4fa90)
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
Using native(wrapped) crashhandler.so
CAppInfoCacheReadFromDiskThread took 12 milliseconds to initialize
Setting breakpad minidump AppID = 2394010
Error loading needed lib libsteam.so
Warning: Cannot dlopen("libsteam.so"/0x3f0003f7d9, 2)
[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
Error loading needed lib libSDL3.so.0
Warning: Cannot dlopen("libSDL3.so.0"/0x3f04aea16a, 2)
Game version is v0.3.9.59545
Signal 11 caught.
Malloc Size=262146 LargeMemoryPoolOffset=262162 
CommonUnixCrashHandler: Signal=11
Malloc Size=131160 LargeMemoryPoolOffset=393352 
Malloc Size=131160 LargeMemoryPoolOffset=524536 
posix_spawnp(0x7f9521d604, "/home/palworld/palworldserver/Engine/Binaries/Linux/CrashReportClient", (nil), 0x7f9521d7b8, 0x7f9521d988, 0x7fb5279518), IsX86=1 / fullpath="/home/palworld/palworldserver/Engine/Binaries/Linux/CrashReportClient"
 => posix_spawn(0x7f9521d604, "/usr/local/bin/box64", (nil), 0x7f9521d7b8, 0x7f952500e0 ["/usr/local/bin/box64", "/home/palworld/palworldserver/Engine/Binaries/Linux/CrashReportClient", "-Abslog="/home/palworld/palworldserver/Pal/Saved/Logs/Pal-CRC.log""...:5], 0x606caeb0)
posix_spawn returned 0
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Running on Cortex-A72 with 4 Cores
Will use Hardware counter measured at 54.0 MHz emulating 3.4 GHz
Params database has 91 entries
Box64 with Dynarec v0.3.1 b6cd19b7 built on Oct 13 2024 06:21:54
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 21 Env var
BOX64 LIB PATH: BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
Looking for /home/palworld/palworldserver/Engine/Binaries/Linux/CrashReportClient
argv[1]="-Abslog="/home/palworld/palworldserver/Pal/Saved/Logs/Pal-CRC.log""
argv[2]="-Unattended"
argv[3]="-ImplicitSend"
argv[4]=""/home/palworld/palworldserver/Pal/Saved/Crashes/crashinfo-Pal-pid-3443-B9CB6159C81148DE8A262533BDEFC3F0/""
Rename process to "CrashReportClient"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Using emulated /usr/lib/box64-x86_64-linux-gnu/libgcc_s.so.1
LogPakFile: Display: Found Pak file ../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak attempting to mount.
LogPakFile: Display: Mounting pak file ../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak.
LogPakFile: Display: Mounted Pak file '../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak', mount point: '../../../Engine/'
LogICUInternationalization: ICU TimeZone Detection - Raw Offset: -8:00, Platform Override: ''
LogInit: Build: ++UE5+Release-5.1-CL-0
LogInit: Engine Version: 5.1.1-0+++UE5+Release-5.1
LogInit: Compatible Engine Version: 5.1.0-0+++UE5+Release-5.1
LogInit: Net CL: 0
LogInit: OS: Debian GNU/Linux 12 (bookworm) (6.6.51+rpt-rpi-v8), CPU: Box64 on Cortex-A72 @1.80 GHz, GPU: UnknownVendor
LogInit: Compiled (64-bit): Aug 23 2024 15:01:02
LogInit: Compiled with Clang: 13.0.1 (https://github.com/llvm/llvm-project 75e33f71c2dae584b13a7d1186ae0a038ba98838)
LogInit: Build Configuration: Shipping
LogInit: Branch Name: ++UE5+Release-5.1
LogInit: Command Line:  -Abslog="/home/palworld/palworldserver/Pal/Saved/Logs/Pal-CRC.log" -Unattended -ImplicitSend "/home/palworld/palworldserver/Pal/Saved/Crashes/crashinfo-Pal-pid-3443-B9CB6159C81148DE8A262533BDEFC3F0/" -unattended
LogInit: Base Directory: /home/palworld/palworldserver/Engine/Binaries/Linux/
LogInit: Allocator: Mimalloc
LogInit: Installed Engine Build: 1
LogInit: Presizing for max 100000 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
LogInit: Object subsystem initialized
LogConfig: Applying CVar settings from Section [ConsoleVariables] File [Engine]
[2024.10.13-13.22.52:247][  0]LogInit: Unix hardware info:
[2024.10.13-13.22.52:247][  0]LogInit:  - we are the first instance of this executable
[2024.10.13-13.22.52:248][  0]LogInit:  - this process' id (pid) is 3489, parent process' id (ppid) is 3443
[2024.10.13-13.22.52:248][  0]LogInit:  - we are not running under debugger
[2024.10.13-13.22.52:248][  0]LogInit:  - machine network name is 'kumo02-wykasha-pal'
[2024.10.13-13.22.52:249][  0]LogInit:  - user name is 'palworld' (palworld)
[2024.10.13-13.22.52:249][  0]LogInit:  - we're logged in locally
[2024.10.13-13.22.52:249][  0]LogInit:  - we're running with rendering
[2024.10.13-13.22.52:249][  0]LogInit:  - CPU: GenuineIntel 'Box64 on Cortex-A72 @1.80 GHz' (signature: 0x40661)
[2024.10.13-13.22.52:250][  0]LogInit:  - Number of physical cores available for the process: 4
[2024.10.13-13.22.52:250][  0]LogInit:  - Number of logical cores available for the process: 4
[2024.10.13-13.22.52:250][  0]LogInit:  - Cache line size: 64
[2024.10.13-13.22.52:250][  0]LogInit:  - GPU Brand Info: UnknownVendor
[2024.10.13-13.22.52:251][  0]LogInit:  - Memory allocator used: Mimalloc
[2024.10.13-13.22.52:251][  0]LogInit:  - This binary is optimized with LTO: no, PGO: no, instrumented for PGO data collection: no
[2024.10.13-13.22.52:251][  0]LogInit:  - This is an internal build.
[2024.10.13-13.22.52:252][  0]LogCore: Skipped benchmarking clocks because the engine is running in a standalone program mode - CLOCK_MONOTONIC will be used.
[2024.10.13-13.22.52:253][  0]LogInit: Unix-specific commandline switches:
[2024.10.13-13.22.52:253][  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
[2024.10.13-13.22.52:253][  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
[2024.10.13-13.22.52:253][  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
[2024.10.13-13.22.52:253][  0]LogInit:  -filemapcachesize=NUMBER - set the size for case-sensitive file mapping cache
[2024.10.13-13.22.52:253][  0]LogInit:  -useksm - uses kernel same-page mapping (KSM) for mapped memory (OFF)
[2024.10.13-13.22.52:253][  0]LogInit:  -ksmmergeall - marks all mmap'd memory pages suitable for KSM (OFF)
[2024.10.13-13.22.52:253][  0]LogInit:  -preloadmodulesymbols - Loads the main module symbols file into memory (OFF)
[2024.10.13-13.22.52:253][  0]LogInit:  -sigdfl=SIGNAL - Allows a specific signal to be set to its default handler rather then ignoring the signal
[2024.10.13-13.22.52:253][  0]LogInit:  -crashhandlerstacksize - Allows setting crash handler stack sizes (204800)
[2024.10.13-13.22.52:253][  0]LogInit:  -noexclusivelockonwrite - disables marking files created by the engine as exclusive locked while the engine has them opened
[2024.10.13-13.22.52:253][  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
[2024.10.13-13.22.52:254][  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
[2024.10.13-13.22.52:254][  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
[2024.10.13-13.22.52:254][  0]LogInit:  - Physical RAM available (not considering process quota): 8 GB (7809 MB, 7997412 KB, 8189349888 bytes)
[2024.10.13-13.22.52:255][  0]LogInit:  - VirtualMemoryAllocator pools will grow at scale 1.4
[2024.10.13-13.22.52:255][  0]LogInit:  - MemoryRangeDecommit() will be a no-op (re-run with -vmapoolevict to change)
[2024.10.13-13.22.52:255][  0]LogInit:  - PageSize 4096
[2024.10.13-13.22.52:255][  0]LogInit:  - BinnedPageSize 65536
[2024.10.13-13.22.52:420][  0]LogUObjectArray: 419 objects as part of root set at end of initial load.
[2024.10.13-13.22.52:420][  0]LogUObjectAllocator: 89056 out of 0 bytes used by permanent object pool.
[2024.10.13-13.22.52:420][  0]LogUObjectArray: CloseDisregardForGC: 0/0 objects in disregard for GC pool
[2024.10.13-13.22.52:427][  0]LogPaths: Warning: No paths for game localization data were specifed in the game configuration.
[2024.10.13-13.22.52:429][  0]LogInit: Using OS detected language (en-GB).
[2024.10.13-13.22.52:429][  0]LogInit: Using OS detected locale (en-GB).
[2024.10.13-13.22.52:430][  0]LogInit: Warning: No paths for engine localization data were specifed in the engine configuration.
[2024.10.13-13.22.52:439][  0]LogTextLocalizationManager: No localization for 'en-GB' exists, so 'en' will be used for the language.
[2024.10.13-13.22.52:439][  0]LogTextLocalizationManager: No localization for 'en-GB' exists, so 'en' will be used for the locale.
[2024.10.13-13.22.52:446][  0]LogInit: Using OS detected language (en-GB).
[2024.10.13-13.22.52:446][  0]LogInit: Using OS detected locale (en-GB).
[2024.10.13-13.22.52:446][  0]LogTextLocalizationManager: No localization for 'en-GB' exists, so 'en' will be used for the language.
[2024.10.13-13.22.52:446][  0]LogTextLocalizationManager: No localization for 'en-GB' exists, so 'en' will be used for the locale.
[2024.10.13-13.22.52:467][  0]LogPackageLocalizationCache: Processed 2 localized package path(s) for 1 prioritized culture(s) in 0.006470 seconds
[2024.10.13-13.22.52:472][  0]CrashReportCoreLog: CrashReportClientVersion=1.0
[2024.10.13-13.22.52:473][  0]CrashReportCoreLog: CrashReportReceiver disabled
[2024.10.13-13.22.52:473][  0]CrashReportCoreLog: DataRouterUrl: https://o1291919.ingest.sentry.io/api/6513339/unreal/4a1a3921f51f4975b4cf8dd19022cb20/
[2024.10.13-13.22.52:519][  0]CrashReportCoreLog: Initial state = Unknown UploadState value
[2024.10.13-13.22.52:519][  0]CrashReportCoreLog: Initial state = Unknown UploadState value
[2024.10.13-13.22.52:539][  0]LogCrashDebugHelper: DepotName: //UE5/Release-5.1
[2024.10.13-13.22.52:539][  0]LogCrashDebugHelper: BuiltFromCL: 0
[2024.10.13-13.22.52:539][  0]LogCrashDebugHelper: EngineVersion: 5.1.1-0+++UE5+Release-5.1
[2024.10.13-13.22.52:540][  0]LogCrashDebugHelper: BuildVersion: ++UE5+Release-5.1-CL-0
[2024.10.13-13.22.53:534][  0]CrashReportCoreLog: Got 3 pending files to upload from 'crashinfo-Pal-pid-3443-B9CB6159C81148DE8A262533BDEFC3F0'
[2024.10.13-13.22.53:534][  0]CrashReportCoreLog: State change from Ready to SendingFiles
[2024.10.13-13.22.53:535][  0]CrashReportCoreLog: CompressAndSendData have 3 pending files
[2024.10.13-13.22.53:537][  0]CrashReportCoreLog: CompressAndSendData compressing 152 bytes ('/home/palworld/palworldserver/Pal/Saved/Crashes/crashinfo-Pal-pid-3443-B9CB6159C81148DE8A262533BDEFC3F0/CrashReportClient.ini')
[2024.10.13-13.22.53:538][  0]CrashReportCoreLog: CompressAndSendData compressing 4555 bytes ('/home/palworld/palworldserver/Pal/Saved/Crashes/crashinfo-Pal-pid-3443-B9CB6159C81148DE8A262533BDEFC3F0/CrashContext.runtime-xml')
[2024.10.13-13.22.53:538][  0]CrashReportCoreLog: CompressAndSendData compressing 434 bytes ('/home/palworld/palworldserver/Pal/Saved/Crashes/crashinfo-Pal-pid-3443-B9CB6159C81148DE8A262533BDEFC3F0/Diagnostics.txt')
[2024.10.13-13.22.53:758][  0]LogInit: Using libcurl 7.83.1
[2024.10.13-13.22.53:759][  0]LogInit:  - built for Linux
[2024.10.13-13.22.53:760][  0]LogInit:  - supports SSL with OpenSSL/1.1.1n
[2024.10.13-13.22.53:760][  0]LogInit:  - supports HTTP deflate (compression) using libz 1.2.12
[2024.10.13-13.22.53:760][  0]LogInit:  - other features:
[2024.10.13-13.22.53:761][  0]LogInit:      CURL_VERSION_SSL
[2024.10.13-13.22.53:761][  0]LogInit:      CURL_VERSION_LIBZ
[2024.10.13-13.22.53:761][  0]LogInit:      CURL_VERSION_IPV6
[2024.10.13-13.22.53:761][  0]LogInit:      CURL_VERSION_ASYNCHDNS
[2024.10.13-13.22.53:761][  0]LogInit:      CURL_VERSION_LARGEFILE
[2024.10.13-13.22.53:768][  0]LogInit:  CurlRequestOptions (configurable via config and command line):
[2024.10.13-13.22.53:769][  0]LogInit:  - bVerifyPeer = false  - Libcurl will NOT verify peer certificate
[2024.10.13-13.22.53:769][  0]LogInit:  - bUseHttpProxy = false  - Libcurl will NOT use HTTP proxy
[2024.10.13-13.22.53:769][  0]LogInit:  - bDontReuseConnections = false  - Libcurl will reuse connections
[2024.10.13-13.22.53:769][  0]LogInit:  - MaxHostConnections = 16  - Libcurl will limit the number of connections to a host
[2024.10.13-13.22.53:769][  0]LogInit:  - LocalHostAddr = Default
[2024.10.13-13.22.53:769][  0]LogInit:  - BufferSize = 65536
[2024.10.13-13.22.53:780][  0]CrashReportCoreLog: Sending HTTP request: https://o1291919.ingest.sentry.io/api/6513339/unreal/4a1a3921f51f4975b4cf8dd19022cb20/?AppID=CrashReporter&AppVersion=5.1.1-0%2B%2B%2BUE5%2BRelease-5.1&AppEnvironment=Release&UploadType=crashreports&UserID=25c7a1a4376b4877ad6f9cfeef5cec8f-000003e9%7C%7C25c7a1a4376b4877ad6f9cfeef5cec8f
Signal 11 caught.
Malloc Size=262146 LargeMemoryPoolOffset=262162 
CrashHandler: Signal=11
[2024.10.13-13.22.54:015][  0]LogCore: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to read memory at address 0x000000000000000a

[2024.10.13-13.22.54:016][  0]LogCore: Fatal error!

0x1f313184fe731e1d !UnknownFunction()

[2024.10.13-13.22.54:029][  0]LogExit: Executing StaticShutdownAfterError
[2024.10.13-13.22.54:030][  0]LogCore: FUnixPlatformMisc::RequestExit(1)
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
3457|SIGSEGV @0x7fb59009f0 (???(/lib/aarch64-linux-gnu/libc.so.6+0x809f0)) (x64pc=0x30052a93/"???", rsp=0x7f9521e1c0, stack=0x7f95354000:0x7f95374000 own=0x7f95354000 fp=0xffffffff), for accessing 0x3e900000d73 (code=-6/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RSP-0x20:0x0000000060c00300 RSP-0x18:0x0000007f9521e588 RSP-0x10:0x0000000060671eb0 RSP-0x08:0x0000000000000181
RSP+0x00:0x0000000006bd00e7 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000000000000000 RSP+0x18:0x0000000000000000
RAX:0x0000000000000000 RCX:0x0000000000000000 RDX:0x0000000000000000 RBX:0x0000000060c00300 
RSP:0x0000007f9521e1c0 RBP:0x00000000ffffffff RSI:0x0000007f9521e268 RDI:0x000000000000000b 
 R8:0x0000007f9521d988  R9:0x0000007fb5279518 R10:0x0000000000000000 R11:0x0000000000000000 
R12:0x0000000000000000 R13:0x0000007f95222868 R14:0x0000007f9521e588 R15:0x0000007f9521e268 
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053  x64opcode=C3 00 00 CC 4C 4F B5 7F (opcode=3140041f)
Segmentation fault
ShapeShifter499 commented 1 day ago

Workaround for now is to install Box64 version 2.7 064eb3c