diff options
Diffstat (limited to 'results/scraper/box64/2646')
| -rw-r--r-- | results/scraper/box64/2646 | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/results/scraper/box64/2646 b/results/scraper/box64/2646 new file mode 100644 index 000000000..5b6f1280e --- /dev/null +++ b/results/scraper/box64/2646 @@ -0,0 +1,35 @@ +Infinite Log Loop and Segfault Wrapping libfontconfig.so.1 +I'm trying to run `box64 wine control` on RISC-V [Voyager](https://www.andestech.com/en/2024/05/30/andes-technology-announced-the-qilai-soc-and/) using the same configuration as in issue #2645. + +When I execute: +``` +BOX64_DYNAREC_RV64NOEXT=1 box64 wine64 control +``` +I encounter this error while wrapping `libfontconfig.so.1` ([log_box64_wine_control.log](https://github.com/user-attachments/files/20297667/log_box64_wine_control.log)): +``` +[BOX64] Using native(wrapped) libfreetype.so.6 +[BOX64] Error initializing native libfontconfig.so.1 (last dlerror is libfontconfig.so: cannot open shared object file: No such file or directory) +[BOX64] Error loading needed lib libfontconfig.so.1 +[BOX64] Warning: Cannot dlopen("libfontconfig.so.1"/0x3f0210f7ba, 2) +[BOX64] 2454|Ask to run at NULL, will segfault +[BOX64] Box64 riscv64 v0.3.5 a9ddd396 with Dynarec built on May 16 2025 10:20:08 +[BOX64] Dynarec for rv64g +``` +This triggers an infinite logging loop that can’t be stopped, even with Ctrl+C ( see: [video](https://drive.google.com/file/d/1fyB21t1Me-H1Y45fbMwUVyPEjBVy3ghZ/view?usp=sharing)) .I then tried: +``` +export BOX64_EMULATED_LIBS=libfontconfig.so.1 +``` +but it still crashes with a segmentation fault in `AddPath`, because collection is `0x20` (and thus invalid): +```gdb +Program received signal SIGSEGV, Segmentation fault. +AddPath (path=path@entry=0x3fffffe0a0 "libfontconfig.so.1", + collection=collection@entry=0x20, folder=folder@entry=0) + at /root/box64/src/tools/pathcoll.c:91 +91 if(collection->size==collection->cap) { +(gdb) print *collection +Cannot access memory at address 0x20 +``` + +Finally, I tried disabling Dynarec completely (`BOX64_DYNAREC=0`) but it still triggers the same infinite-loop + + |