summary refs log tree commit diff stats
path: root/results/scraper/box64/2646
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/box64/2646')
-rw-r--r--results/scraper/box64/264635
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
+
+