box64: Otohits segfaults

Hello, This closed-source app segfaults. otohits-app should launch and control otohits-viewer, which is essentially an headless chromium. However it just crashes. My sistem is a Raspberry Pi 4 with standard RaspiOS arm64.

Box64 with trace with Dynarec v0.1.3 5cc3512 built on Aug 22 2021 23:11:51
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./otohits-app
Using native(wrapped) libpthread.so.0
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) librt.so.1
0512|SIGSEGV @0x648eb670 (???(/usr/local/bin/box64/0x648eb670)) (x64pc=0xffffffffff600001/???:"???", rsp=0x7fa346f458, stack=0x7fa2c70000:0x7fa3470000 own=(nil) fp=0x7fa346f478), for accessing 0xffffffffff600000 (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
Segmentation fault

nodynarec.txt dynarec.txt

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Comments: 17 (5 by maintainers)

Commits related to this issue

Most upvoted comments

But I suspect most the info grabbing are though syscalls, and I’m not sure everything is wrapped correctly to intercept the calls and redirect correctly.

I have added the missing syscall.

Error: Unsupported libc Syscall 0x78 (120) I have a question: why do you wrap syscalls manually, one at a time, when requested? wouldn’t it be faster to add all syscalls in one go?

Some syscall needs manual wrapping, and I prefer to rely on wrapped libs than syscall, so not that many syscall are needed in fact.

{ 120, __NR_getresgid, 3},

Thanks, I’ll add that later.

Error: PltResolver: Symbol clone(ver 2: clone@GLIBC_2.2.5) not found, cannot apply R_X86_64_JUMP_SLOT 0x7f992446a8 (0x7f98c13f56) in libcef.so

The clone syscall strikes again 😕

Probably not a good sign. I guess it crashed and want to just launch gdb for some backtrace?

After some analysis, I think the crash is due to the lack of vDSO emulation. I’ll try to add that later.