box64 icon indicating copy to clipboard operation
box64 copied to clipboard

Honeygain segfaults

Open ElDavoo opened this issue 4 years ago • 4 comments

Hello, Honeygain is a closed-source app that only supports Linux in a Docker install. In order to grab the binaries, you'll need to pull the honeygain/honeygain image from Docker, save it and grab the binary "honeygain" and the library "libhg.so.1.0.0". The app segfaults when launched. 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 ./honeygain
Using emulated libhg.so.1.0.0
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
Using native(wrapped) libdl.so.2
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
0990|SIGSEGV @0x7f8c9cfb5c (???(0x7f8c9cfb5c)) (x64pc=0x460fb5/./honeygain:"???", rsp=0x7f8dd5d008, stack=0x7f8d55e000:0x7f8dd5e000 own=(nil) fp=0x7f8dd5d550), for accessing 0x4b6b7f8e9f824d (code=1/prot=0), db=0x8c6fce00(0x7f8c9cfa10:0x7f8c9cfd48/0x460f60:0x461046/???:clean, hash:847095ab/847095ab) handler=(nil)
Segmentation fault

nodynarec.txt dynarec.txt

ElDavoo avatar Aug 22 '21 21:08 ElDavoo

hg.zip These are the bins if you wanna take a look

ElDavoo avatar Sep 13 '21 11:09 ElDavoo

I'll take a look later.

ptitSeb avatar Sep 13 '21 11:09 ptitSeb

still crashes

ElDavoo avatar Dec 19 '21 11:12 ElDavoo

@ptitSeb Things got forward. Test with latest commit:

Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.9 f2a0a1b built on Sep 20 2022 10:28:18
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./honeygain
Rename process to "honeygain"
Using emulated libhg.so.1.0.0
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
Using native(wrapped) libdl.so.2
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Error: Unsupported Syscall 0x10Bh (267)
Stop waiting for remaining thread 694844
Stop waiting for remaining thread 694845
Stop waiting for remaining thread 694846
Stop waiting for remaining thread 694847
Error: Unsupported Syscall 0x18h (24)
Stop waiting for remaining thread 694848
Stop waiting for remaining thread 694849
Error: Unsupported Syscall 0x18h (24)
Error: Unsupported Syscall 0x18h (24)
Error: Unsupported Syscall 0x18h (24)
Error: Unsupported Syscall 0x18h (24)
Segmentation fault

ElDavoo avatar Sep 20 '22 08:09 ElDavoo

Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Cores:4
Params database has 11 entries
Box64 with Dynarec v0.2.1 75083907 built on Dec 27 2022 18:12:43
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 24 Env var
Looking for ./honeygain
Rename process to "honeygain"
Using emulated libhg.so.1.0.0
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
Using native(wrapped) libdl.so.2
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
170708|SIGBUS @0x34bc122c (???(./honeygain+0x34bc122c)) (x64pc=0x7fab4e9000//lib/x86_64-linux-gnu/libgcc_s.so.1:"???", rsp=0x7fab410570, stack=0x7faac11000:0x7fab411000 own=(nil) fp=0x7fab410578), for accessing 0x37 (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RSP-0x20:0x0000000000000000 RSP-0x18:0x0000000000000000 RSP-0x10:0x0000000000000000 RSP-0x08:0x0000000000000000
RSP+0x00:0x00000000000300c0 RSP+0x08:0x0000000000000000 RSP+0x10:0x0000000000000001 RSP+0x18:0x0000007fab410766 x86opcode=48 83 EC 08 48 8B 05 DD
Errore di bus

ElDavoo avatar Dec 27 '22 17:12 ElDavoo

Things went forward: The program prints its banner but then misbehaves.
With dynarec it often crashes at startup, so I disabled it. When it doesn't crash, it will "Error processing authorisation" 9 times out of 10. It will rarely go forward but then crash later in the startup process.
I made a Dockerfile to make sure the environment is the same in my x86_64 laptop and raspberry, but this program is very simple and environment doesn't look like to be a problem. Dockerfile.txt

ElDavoo avatar Apr 08 '23 21:04 ElDavoo

Unimplemented Opcode (3A 30 2C 74) 61 67 3A 30 22 00 00 32 2A 6D 61 70 2E 68 64

ElDavoo avatar Jun 18 '23 11:06 ElDavoo

Is this fixed now?

rajdakin avatar Jul 08 '24 13:07 rajdakin

I don't think so, but there is a native arm64 image now.

ElDavoo avatar Jul 08 '24 14:07 ElDavoo

I don't think so, but there is a native arm64 image now.

You don't think so? Well, I think it is. Do you plan to check if it's fixed or you just use the arm64 image?

The question is: is ticket to be closed or not.

ptitSeb avatar Jul 08 '24 15:07 ptitSeb

Well, it's not "fixed" in the meaning the the amd64 binary works correctly in arm64, but it can be defined as "useless" as there is a native binary now.
Actually depends on the project maintainers if they want to consider these cases as improvement points or not, as improving compatibility with a binary with no real use should benefit other binaries too.
Guessing on the number of open issues (that are certainly more important compatibility problems than this one), I'd say that the developers have more important issues to work on, so yes, the ticket can be closed.

ElDavoo avatar Jul 08 '24 15:07 ElDavoo

So, you tested the binary with latest box64 and it still broken or are you refering to the last tests you did 1 year ago?

ptitSeb avatar Jul 08 '24 15:07 ptitSeb

1 year ago tests. As you can guess, after the native binary was released, i didn't test anymore. If you want/ask me I can definitely test again. :)

ElDavoo avatar Jul 08 '24 15:07 ElDavoo

Ok, so closing ticket if no one care.

ptitSeb avatar Jul 08 '24 15:07 ptitSeb