-
-
Notifications
You must be signed in to change notification settings - Fork 247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Void Scrappers v1.37 Unimplemented Opcode (20 00 40 F9) #801
Comments
|
Dynarec off: rico [ /opt/games/void_scrappers ]$ BOX64_DYNAREC=0 ./VoidScrappers.x86_64
Dynarec is off
Running on Cortex-A55 Cortex-A76 with 8 Cores
Params database has 25 entries
Box64 with Dynarec v0.2.3 1d98aa5 built on May 23 2023 00:11:56
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 59 Env var
Looking for ./VoidScrappers.x86_64
Rename process to "VoidScrappers.x86_64"
Using emulated libGalaxy64.so
Using native(wrapped) libopenal.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libX11.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXau.so.6
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libXi.so.6
Using native(wrapped) libGL.so.1
Using native(wrapped) libGLU.so.1
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Registered aabb Extension
[ALSOFT] (EE) Failed to connect PipeWire event context (errno: 112)
INFO:CRASH: Successfully wrote Crashdump to file: /home/rico/.Defold/_crash
ERROR:CRASH: CALL STACK:
ERROR:CRASH: /opt/games/void_scrappers/VoidScrappers.x86_64+2789f5 [0x6789f5]
ERROR:CRASH: ??? [0x30080]
ERROR:CRASH: ??? [0x6bbbdaf0]
ERROR:CRASH:
1377|SIGSEGV @0x34baded4 (???(./VoidScrappers.x86_64+0x34baded4)) (x64pc=0x7fa1133420/???:"???", rsp=0x101ffc308, stack=0x101800000:0x102000000 own=(nil) fp=0x6bbbb750), for accessing 0x7fa1133420 (code=2/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RSP-0x20:0x0000000000000000 RSP-0x18:0x000000010d4c0380 RSP-0x10:0x00000000005a660d RSP-0x08:0x000000010d4c0380
RSP+0x00:0x00000000006de5b9 RSP+0x08:0x0000000057d49fe3 RSP+0x10:0x000000010d4c0380 RSP+0x18:0x0000000057d49fe3
RAX:0x0000007fa1133420 RCX:0x0000000000000004 RDX:0x0000007f75296ed0 RBX:0x000000010d4c0380
RSP:0x0000000101ffc308 RBP:0x000000006bbbb750 RSI:0x0000000000a00007 RDI:0x0000007fa12542f8
R8:0x0000007fa000a178 R9:0x00000000007d66a0 R10:0x000000010d4d50b0 R11:0xfffffffffffffff7
R12:0x0000000000000000 R13:0x0000000000000000 R14:0x000000010d4c1370 R15:0x0000000000696ee0
Segmentation fault (core dumped) |
So it's not an opcode issue. I can reproduce this on my local machine, it's a RISC-V SBC, but it fails exactly the same way. And with some quick debugging, it crashed in the
... where the |
I don't have the game, so cannot test on my side. I suspect it's a wrong jump address at some point, maybe in a wrongly wrapped function with a callback. |
Here is the full log: https://ksco.cool/tWMR, but I don't see anything suspicious. |
That was without dynarec right? |
Yes, it will fails in jitted code if Dynarec is on, which is harder to debug. |
but it may be failling on the same spot? did you tried the ROLLING_LOG there too? |
Yes, it looks pretty much the same, except it segfaulted in |
I'm giving Factorio another try (with QEMU RISC-V and box64 RISC-V Dynarec OFF), and it fails at the exact same line of code. It might be the same kind of issue. Logs:
|
The address is probably from box64 itself, inside |
I suspect it's a structure thta have a different alignment on rv64 than x86_64 (or Arm64), but no idea which one. |
Because I disabled Dynarec (see first line of the log). I'm not sure Factorio can work on ARM64 side too, no device to verify that. Factorio free demo works better than this (it failed at the loading screen, which I think is an opcode problem), the steam version is what doesn't work at all. |
Factorio 1.1.75 gog works fine on aarch64. (I can test the latest 1.1.80 within a day or two) |
Do you have the steam version (with Goldberg emulator)? Are you able to test it? I don’t own this game on gog. |
I don't have steam version. I have gog and drm free version from the official game website. How can I send private message to you, do you have discord/irc/tg etc.? |
Yeah, I have a tg account. Please send me an email. |
Confirmed, the issue of Factorio is unique to the Steam version, the official site full version works just like the demo version. |
Re-Tested for New version or New platformVoid Scrappers, v1.37 (64503), Linux x64, GOG, Engine: Defold Box64 with Dynarec v0.2.7 1c7e620
# export LC_ALL=C
# export TERM=xterm
export PAN_MESA_DEBUG=gl3
# export LD_LIBRARY_PATH=/opt/box-libs/aarch64/:/opt/box-libs/x86_64/
# export BOX64_DYNAREC=0
# export BOX64_NOBANNER=1
# export BOX64_DYNAREC_FASTROUND=0
# export BOX64_DYNAREC_STRONGMEM=1
# export BOX64_DYNAREC_SAFEFLAGS=2
# export BOX64_DYNAREC_BIGBLOCK=0
# export BOX64_DYNAREC_CALLRET=0
# export BOX64_PREFER_EMULATED=1
# export BOX64_PREFER_WRAPPED=1
box64 ./"VoidScrappers.x86_64"
# LIBGL_ALWAYS_SOFTWARE=1 box64 ./"VoidScrappers.x86_64" Error Log, rico [ /opt/games/void_scrappers ]$ PAN_MESA_DEBUG=gl3 BOX64_SHOWSEGV=1 BOX64_SHOWBT=1 BOX64_ROLLING_LOG=1 BOX64_DYNAREC_MISSING=1 box64 ./"VoidScrappers.x86_64"
Rolling log, showing last 16 function call on signals
Dynarec will print missing opcodes
Show Segfault signal even if a signal handler is present
Show a Backtrace when a Segfault signal is caught
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS SHA1 SHA2 PageSize:4096 Running on Cortex-A55 Cortex-A76 with 8 Cores
Will use Hardware counter measured at 24.0 MHz emulating 3.0 GHz
Params database has 66 entries
Box64 with Dynarec v0.2.7 1c7e620 built on Apr 27 2024 16:14:08
BOX64: Detected 48bits at least of address space
Counted 62 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/opt/rustc/bin/:/usr/local/bin/:/usr/bin/:/opt/ant/bin/:/opt/jdk/bin/:/opt/bin/
Looking for ./VoidScrappers.x86_64
Rename process to "VoidScrappers.x86_64"
Using emulated libGalaxy64.so
Using native(wrapped) libopenal.so.1
Using native(wrapped) libXext.so.6
Using native(wrapped) libX11.so.6
Using native(wrapped) libxcb.so.1
Using native(wrapped) libXau.so.6
Using native(wrapped) libXdmcp.so.6
Using native(wrapped) libdl.so.2
Using native(wrapped) libXi.so.6
Using native(wrapped) libGL.so.1
Using native(wrapped) libGLU.so.1
Using native(wrapped) libpthread.so.0
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Registered aabb Extension
0xffffaa9412ec: Dynarec stopped because of x64 Opcode 1F 20 03 D5 FD 7B BE A9 FD 03 00 91 F3 53 01
Last calls
5909|0x584d5f: Calling memcmp(0x717910, 0x6A2A8B28, 0x20, ...) => return 0x0
5909|0x58d813: Calling strlen("__script_main_thread") => return 0x14
5909|0x584d5f: Calling memcmp(0x716DEA, 0x6A2975B8, 0x14, ...) => return 0x0
5909|0x58da58: Calling strlen("__get_url") => return 0x9
5909|0x584d5f: Calling memcmp(0x7178E6, 0x6A2A6C48, 0x9, ...) => return 0x0
5909|0x58d813: Calling strlen("url") => return 0x3
5909|0x584d5f: Calling memcmp(0x719898, 0x6A29AE28, 0x3, ...) => return 0x0
5909|0x601249: Calling strlen("acquire_input_focus") => return 0x13
5909|0x61e940: Calling pthread_spin_lock(0x56842FD8, 0x728E00, 0x85F120, ...) => return 0x0
5909|0x61e9ec: Calling pthread_spin_unlock(0x56842FD8, 0x100, 0x5E, ...) => return 0x0
5909|0x61f78b: Calling pthread_mutex_lock(0x57B0FFA0, 0x100, 0x5E, ...) => return 0x0
5909|0x61eb51: Calling memcpy(0x5CBC82E0, 0xFFFFABACBA80, 0x1, ...) => return 0x5CBC82E0
5909|0x61f81b: Calling pthread_mutex_unlock(0x57B0FFA0, 0xFFFFABACBA80, 0x1, ...) => return 0x0
5909|0x61eba6: Calling pthread_spin_lock(0x56842FD8, 0xFFFFABACBA80, 0x1, ...) => return 0x0
5909|0x61ebbd: Calling pthread_spin_unlock(0x56842FD8, 0xFFFFABACBA80, 0x1, ...) => return 0x0
5909|0x584d5f: Calling memcmp(0x717910, 0x6A2A8B28, 0x20, ...) => return 0x0
NativeBT: ./VoidScrappers.x86_64() [0x34a155b0]
NativeBT: linux-vdso.so.1(__kernel_rt_sigreturn+0) [0xffffabdba7ac]
NativeBT: ./VoidScrappers.x86_64() [0x34f85d98]
NativeBT: ./VoidScrappers.x86_64() [0x349eeab8]
NativeBT: ./VoidScrappers.x86_64(my___libc_start_main+0x23c) [0x34a01dbc]
NativeBT: ./VoidScrappers.x86_64() [0x34a47a7c]
NativeBT: ./VoidScrappers.x86_64() [0x349fd830]
NativeBT: ./VoidScrappers.x86_64() [0x34f84cb0]
NativeBT: ./VoidScrappers.x86_64() [0x349e97b8]
NativeBT: ./VoidScrappers.x86_64() [0x349e4740]
NativeBT: /usr/lib/libc.so.6(+0x28444) [0xffffabbd8444]
NativeBT: /usr/lib/libc.so.6(__libc_start_main+0x98) [0xffffabbd8518]
NativeBT: ./VoidScrappers.x86_64(_start+0x30) [0x349e47b0]
EmulatedBT: ??? [0xffffaa9412e4]
5909|SIGSEGV @0x34f85d98 (???(./VoidScrappers.x86_64+0x785d98)) (x64pc=0xffffaa9412e4/???:"???", rsp=0xffffabacc208, stack=0xffffab2d0000:0xffffabad0000 own=(nil) fp=0x56a205e0), for accessing 0x8a5a25df (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=0x678bf0
RSP-0x20:0x0000000000000000 RSP-0x18:0x000000006a290380 RSP-0x10:0x00000000005a660d RSP-0x08:0x000000006a290380
RSP+0x00:0x00000000006de5b9 RSP+0x08:0x0000000057d49fe3 RSP+0x10:0x000000006a290380 RSP+0x18:0x0000000057d49fe3
RAX:0x0000ffffaa9412e0 RCX:0x0000000000000004 RDX:0x000000006a3b0de0 RBX:0x000000006a290380
RSP:0x0000ffffabacc208 RBP:0x0000000056a205e0 RSI:0x0000000002400007 RDI:0x0000ffffaaa642f8
R8:0x000000006a2b00a0 R9:0x00000000007d66a0 R10:0x000000006a2a5130 R11:0xfffffffffffffff7
R12:0x0000000000000000 R13:0x0000000000000000 R14:0x000000006a291370 R15:0x0000000000696ee0
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053
INFO:CRASH: Successfully wrote Crashdump to file: /home/rico/.Defold/_crash
ERROR:CRASH: CALL STACK:
ERROR:CRASH: /opt/games/void_scrappers/VoidScrappers.x86_64+2789f5 [0x6789f5]
ERROR:CRASH: box64(ExitEmulation+0) [0x10080]
ERROR:CRASH: ??? [0x56a21b00]
ERROR:CRASH:
5909|Double SIGSEGV (code=1, pc=0x34f85d98, addr=0x8a5a25df, prot=00)!
Sigfault/Segbus while quitting, exiting silently Tested on
|
Description
Void Scrappers, v1.37 (64503), Linux x64, GOG, Engine: Defold
Box64 with Dynarec v0.2.3 1d98aa5
Rock 5B, LFS, BSP kernel 5.10.160+ rkr4, Gnome 44.1
PAN_MESA_DEBUG=gofaster,gl3
1080p, default game setting
NOT working.
Tested on
Rock 5B, LFS, BSP kernel 5.10.160+ rkr4, Gnome 44.1
PAN_MESA_DEBUG=gofaster,gl3
1080p, default game setting
Status
Previous behavior:
NOT working.
ptitSeb/box86-compatibility-list#269
Current behavior:
NOT working.
Unimplemented Opcode (20 00 40 F9)
Screenshots
OpenGL
Additional Information
https://www.gog.com/en/game/void_scrappers
https://store.steampowered.com/app/2005210/Void_Scrappers/
The text was updated successfully, but these errors were encountered: