summary refs log tree commit diff stats
path: root/results/classifier/user-mode-bugs/1908
blob: 71b66069ba3ef1575d0aa143c38e6981d7fa9011 (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
45
46
47
48
49
50
51
8.1.0 regression: abnormal segfault in qemu-riscv64-static
Description of problem:
loading_from_clipboard_test of Cockatrice segfaults in qemu-riscv64-static.
Steps to reproduce:
1. Setup an Arch Linux riscv64 qemu-user container: https://github.com/felixonmars/archriscv-packages/wiki/Setup-Arch-Linux-RISC-V-Development-Environment
2. Start the container: `sudo systemd-nspawn -D ./archriscv -a -U`
3. Build cockatrice 2.9.0 with tests in the container: https://github.com/Cockatrice/Cockatrice/releases/tag/2023-09-14-Release-2.9.0
4. Run tests/loading_from_clipboard/loading_from_clipboard_test in the container
Additional information:
I have done bisection and find out that this commit caused the regression: 2d708164e0475064e0e2167bd73e8570e22df1e0

qemu built from HEAD(494a6a2) is still affected by this bug.

Backtrace:

```
#0  0x00007fffe849f133 in code_gen_buffer ()
#1  0x00007ffff7b3a433 in cpu_tb_exec (cpu=0x7ffff7f71010, itb=0x7fffe849f040 <code_gen_buffer+4845587>,
tb_exit=0x7fffffffde20) at ../qemu/accel/tcg/cpu-exec.c:457
#2  0x00007ffff7b3aeac in cpu_loop_exec_tb (cpu=0x7ffff7f71010, tb=0x7fffe849f040 <code_gen_buffer+4845587>,
pc=46912625654024, last_tb=0x7fffffffde30, tb_exit=0x7fffffffde20) at ../qemu/accel/tcg/cpu-exec.c:919
#3  0x00007ffff7b3b0e0 in cpu_exec_loop (cpu=0x7ffff7f71010, sc=0x7fffffffdeb0) at ../qemu/accel/tcg/cpu-exec.c:1040
#4  0x00007ffff7b3b19e in cpu_exec_setjmp (cpu=0x7ffff7f71010, sc=0x7fffffffdeb0)
at ../qemu/accel/tcg/cpu-exec.c:1057
#5  0x00007ffff7b3b225 in cpu_exec (cpu=0x7ffff7f71010) at ../qemu/accel/tcg/cpu-exec.c:1083
#6  0x00007ffff7a53707 in cpu_loop (env=0x7ffff7f71330) at ../qemu/linux-user/riscv/cpu_loop.c:37
#7  0x00007ffff7b5d0e0 in main (argc=4, argv=0x7fffffffe768, envp=0x7fffffffe790) at ../qemu/linux-user/main.c:999
```

```
0x7fffe849f105 <code_gen_buffer+4845784>        jl     0x7fffe849f265 <code_gen_buffer+4846136>                                                                                                                                        │
│    0x7fffe849f10b <code_gen_buffer+4845790>        mov    0x50(%rbp),%rbx                                                                                                                                                                 │
│    0x7fffe849f10f <code_gen_buffer+4845794>        mov    %rbx,%r12                                                                                                                                                                       │
│    0x7fffe849f112 <code_gen_buffer+4845797>        mov    %r12,0x70(%rbp)                                                                                                                                                                 │
│    0x7fffe849f116 <code_gen_buffer+4845801>        movabs $0x2aaaaf9bb000,%r13                                                                                                                                                            │
│    0x7fffe849f120 <code_gen_buffer+4845811>        mov    %r13,0x38(%rbp)                                                                                                                                                                 │
│    0x7fffe849f124 <code_gen_buffer+4845815>        movq   $0xffffffffaf9bb000,0x60(%rbp)                                                                                                                                                  │
│    0x7fffe849f12c <code_gen_buffer+4845823>        mov    $0xffffffffaf9bb4e0,%r13                                                                                                                                                        │
│  > 0x7fffe849f133 <code_gen_buffer+4845830>        movzwl 0x0(%r13),%r13d                                                                                                                                                                 │
│    0x7fffe849f138 <code_gen_buffer+4845835>        and    $0x7f,%ebx                                                                                                                                                                      │
│    0x7fffe849f13b <code_gen_buffer+4845838>        shl    $0x7,%r13                                                                                                                                                                       │
│    0x7fffe849f13f <code_gen_buffer+4845842>        add    %r13,%rbx                                                                                                                                                                       │
│    0x7fffe849f142 <code_gen_buffer+4845845>        mov    %rbx,0x50(%rbp)                                                                                                                                                                 │
│    0x7fffe849f146 <code_gen_buffer+4845849>        shl    %rbx                                                                                                                                                                            │
│    0x7fffe849f149 <code_gen_buffer+4845852>        mov    %rbx,0x38(%rbp)                                                                                                                                                                 │
│    0x7fffe849f14d <code_gen_buffer+4845856>        movabs $0x2aaaaf9a88e0,%r13                                                                                                                                                            │
│    0x7fffe849f157 <code_gen_buffer+4845866>        add    %r13,%rbx                                                                                                                                                                       │
│    0x7fffe849f15a <code_gen_buffer+4845869>        mov    %rbx,0x60(%rbp)                            
```