summary refs log tree commit diff stats
path: root/results/scraper/box64/2646
blob: 5b6f1280eff110cfaba0e041304a7d001e52e57c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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