summary refs log tree commit diff stats
path: root/results/scraper/box64/2794
blob: 5f4cbb89eecd0993af7c1494ee874550cd0c825e (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
36
37
38
39
40
41
42
43
44
[WRAPPER] Display's resource_alloc had not be added bridge when directly call XOpenIM but not XOpenDisplay
Hi,

testcase: [Scilab 6.0.1](https://www.scilab.org/download/6.0.1/scilab-6.0.1.bin.linux-x86_64.tar.gz)
Display's resource_alloc `0xfff3a1cb40`, which is a native LoongArch entry, had not be added bridge when directly call XOpenIM but not XOpenDisplay:
```
...
17473|0x3f180e530a: Calling XOpenIM(0xFFD8032960, 0x0, 0x0, ...) => return 0xFFD80566C0
...
=> NOT Calling XOpenDisplay
```

SIGSEGV when Running Interpreter at `0xfff3a1cb40` which is a native LoongArch entry:
```
[BOX64] 17473|Running Interpreter @0xfff3a1cb40, emu=0x3ccf52f0
                                   ^--- a native LoongArch entry
[BOX64] Run X86 (0x3ccf52f0), RIP=0xfff3a1cb40, Stack=0xffed0e2188 is32bits=0
                                  ^--- a native LoongArch entry
[BOX64] 17473|SIGSEGV @0x3502721c (???(./bin/scilab-bin+0x82721c)) (x64pc=0xfff3a1cb42/"???", rsp=0xffed0e2188, stack=0xffe50e4000:0xffed0e4000 own=0xffe50e4000 fp=0xffed0e2190), for accessing (nil) (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=0x3f011bb570
...
(gdb) bt
#0  my_box64signalhandler (sig=<optimized out>, info=0xffe4ce06f8, ucntx=0xffe4ce0780) at /home/zhaixiang/repo/box64/src/libtools/signals.c:1908
#1  <signal handler called>
#2  0x000000003502721c in Run (emu=emu@entry=0x3ccf52f0, step=<optimized out>, step@entry=1) at /home/zhaixiang/repo/box64/src/emu/x64run.c:2138
#3  0x0000000034836414 in DynaRun (emu=emu@entry=0x3ccf52f0) at /home/zhaixiang/repo/box64/src/dynarec/dynarec.c:219
#4  0x0000000034836610 in DynaCall (emu=emu@entry=0x3ccf52f0, addr=<optimized out>) at /home/zhaixiang/repo/box64/src/dynarec/dynarec.c:121
#5  0x000000003486c9e8 in RunFunctionFmt (fnc=<optimized out>, fmt=0x355e6e28 "p") at /home/zhaixiang/repo/box64/src/tools/callback.c:234
#6  0x000000fff3a1aaf8 in XCreateWindow () from /lib/loongarch64-linux-gnu/libX11.so.6
#7  0x00000000348b2400 in LFEpLiiuuuiupLp (emu=0x3ccf52f0, fcn=<optimized out>) at /home/zhaixiang/repo/box64/src/wrapped/generated/wrapper.c:6989
#8  0x000000003484a2ac in x64Int3 (emu=0x3ccf52f0, addr=<optimized out>) at /home/zhaixiang/repo/box64/src/emu/x64int3.c:334
#9  0x000000fff374655c in ?? ()
=> (gdb) x/22i 0xfff3a1cb40
               ^--- a native LoongArch entry
   0xfff3a1cb40 <_XAllocID>:	addi.d	$r3,$r3,-16(0xff0)
   0xfff3a1cb44 <_XAllocID+4>:	st.d	$r1,$r3,8(0x8)
   0xfff3a1cb48 <_XAllocID+8>:	st.d	$r23,$r3,0
   0xfff3a1cb4c <_XAllocID+12>:	ldptr.d	$r12,$r4,2608(0xa30)
...
```

So I just [added bridge for Display's resource_alloc in the XOpenIM](https://github.com/xiangzhai/box64/tree/wrappedlibx11).

Thanks,
Leslie Zhai