Two Box32 issues found while running a 32-bit x86 GL app under box64 v0.4.3 + Box32 on aarch64 (Debian, glibc 2.41).
- SIGSEGV inside my32___vsnprintf
[BOX32] SIGSEGV @0x... (__vsnprintf) (x64pc=.../"box64/__vsnprintf + 0x13") for accessing 0x100 (code=1/prot=0)
Native BT:
box64(my32___vsnprintf+0x60) /lib/aarch64-linux-gnu/libc.so.6(__vsnprintf+0x78) <- faults
The emulated backtrace below this is garbage (??? [0x3080eca040039f6d]), which looks like a corrupted va_list rather than a wild pointer in the guest. Reproducible on every run. The faulting address shifts (0x100, 0x210) with different guest inputs, always a small offset from null.
- RELR relocations unsupported
BOX64_EMULATED_LIBS=libc.so.6 aborts before main:
[BOX32] Error: RELR type of Relocation unsupported (only REL)
[BOX32] Error: relocating symbols in elf libc.so.6
Debian's libc6:i386 uses RELR packed relocations, so emulating libc isn't possible on current Debian. This blocks the obvious workaround for (1).
Happy to run any diagnostic build or env var combination you'd like.
Two Box32 issues found while running a 32-bit x86 GL app under box64 v0.4.3 + Box32 on aarch64 (Debian, glibc 2.41).
[BOX32] SIGSEGV @0x... (__vsnprintf) (x64pc=.../"box64/__vsnprintf + 0x13") for accessing 0x100 (code=1/prot=0)
Native BT:
box64(my32___vsnprintf+0x60) /lib/aarch64-linux-gnu/libc.so.6(__vsnprintf+0x78) <- faults
The emulated backtrace below this is garbage (??? [0x3080eca040039f6d]), which looks like a corrupted va_list rather than a wild pointer in the guest.Reproducible on every run. The faulting address shifts (0x100, 0x210) with different guest inputs, always a small offset from null.BOX64_EMULATED_LIBS=libc.so.6 aborts before main:
[BOX32] Error: RELR type of Relocation unsupported (only REL)
[BOX32] Error: relocating symbols in elf libc.so.6
Debian's libc6:i386 uses RELR packed relocations, so emulating libc isn't possible on current Debian. This blocks the obvious workaround for (1).
Happy to run any diagnostic build or env var combination you'd like.