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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
graphic: 0.926
permissions: 0.921
semantic: 0.917
register: 0.911
device: 0.910
debug: 0.909
socket: 0.902
files: 0.900
arm: 0.898
assembly: 0.897
performance: 0.897
virtual: 0.896
architecture: 0.895
boot: 0.892
PID: 0.885
network: 0.884
risc-v: 0.881
kernel: 0.878
peripherals: 0.878
TCG: 0.864
KVM: 0.863
mistranslation: 0.863
hypervisor: 0.862
vnc: 0.860
user-level: 0.859
ppc: 0.856
VMM: 0.848
x86: 0.847
i386: 0.805
internal assertion failure in sparc64 codegen: translate.c:5695:sparc_tr_insn_start: code should not be reached
Description of problem:
qemu crashes with internal assertion:
ERROR:../target/sparc/translate.c:5695:sparc_tr_insn_start: code should not be reached
Steps to reproduce:
1. boot emulated NetBSD/sparc64 system
2. cd /usr/tests && atf-run|atf-report
not 100% reproducable, but happens often
Additional information:
last output:
```
IN:
0x4102ce80: sethi %hi(0x29e0000), %g1
0x4102ce84: b,a 0x40d78220
----------------
IN:
0x41029fc0: sethi %hi(0x1e30000), %g1
0x41029fc4: b,a 0x40e9ccc0
----------------
IN:
0x4102b5e0: sethi %hi(0x23b8000), %g1
0x4102b5e4: b,a 0x40e9dc20
----------------
IN:
0x4102a6e0: sethi %hi(0x1ff8000), %g1
0x4102a6e4: b,a 0x40e9cbc0
----------------
IN:
0x410230e0: sethi %hi(0x278000), %g1
0x410230e4: b,a 0x40e25d60
----------------
IN:
0x41026920: sethi %hi(0x1088000), %g1
0x41026924: b,a 0x40d77da0
----------------
IN:
0x41024140: sethi %hi(0x690000), %g1
0x41024144: b,a 0x40e25f00
----------------
IN:
0x00245c20: sethi %hi(0xc8000), %g1
0x00245c24: sethi %hi(0x40d77c00), %g1
0x00245c28: jmp %g1 + 0x1a0 ! 0x40d77da0
0x00245c2c: nop
----------------
IN:
0x00245ba0: sethi %hi(0xa8000), %g1
0x00245ba4: b,a %xcc, 0x245920
----------------
IN:
0x00245ba0: sethi %hi(0xa8000), %g1
0x00245ba4: sethi %hi(0x40d76c00), %g1
0x00245ba8: jmp %g1 + 0x80 ! 0x40d76c80
0x00245bac: nop
----------------
IN:
0x00245e60: sethi %hi(0x158000), %g1
0x00245e64: b,a %xcc, 0x245920
----------------
IN:
0x00245e60: sethi %hi(0x158000), %g1
0x00245e64: sethi %hi(0x40d76400), %g1
0x00245e68: jmp %g1 + 0x260 ! 0x40d76660
0x00245e6c: nop
----------------
IN:
0x002465a0: sethi %hi(0x328000), %g1
0x002465a4: sethi %hi(0x40d69000), %g1
0x002465a8: jmp %g1 + 0x198 ! 0x40d69198
0x002465ac: nop
**
ERROR:../target/sparc/translate.c:5695:sparc_tr_insn_start: code should not be reached
```
gdb says:
```
#0 0x000079343d6ebbfa in _lwp_kill () from /usr/lib/libc.so.12
#1 0x000079343d6f7034 in abort ()
at /home/martin/current/src/lib/libc/stdlib/abort.c:74
#2 0x000079343e06a03a in g_assertion_message[cold] ()
from /usr/pkg/lib/libglib-2.0.so.0
#3 0x000079343e03c719 in g_assertion_message_expr ()
from /usr/pkg/lib/libglib-2.0.so.0
#4 0x0000000000a23345 in sparc_tr_insn_start (dcbase=<optimized out>,
cs=<optimized out>) at ../target/sparc/translate.c:5695
#5 0x0000000000aa932f in translator_loop (cpu=cpu@entry=0x7933fac3be40,
tb=tb@entry=0x79341ba52840 <code_gen_buffer+549308435>,
max_insns=max_insns@entry=0x7933fa5d3d44, pc=pc@entry=1206519,
host_pc=host_pc@entry=0x7933f52a58f7,
ops=ops@entry=0xfac3c0 <sparc_tr_ops>, db=db@entry=0x7933fa5d3b80)
at ../accel/tcg/translator.c:152
#6 0x0000000000a368ca in gen_intermediate_code (cs=cs@entry=0x7933fac3be40,
tb=tb@entry=0x79341ba52840 <code_gen_buffer+549308435>,
max_insns=max_insns@entry=0x7933fa5d3d44, pc=pc@entry=1206519,
host_pc=host_pc@entry=0x7933f52a58f7) at ../target/sparc/translate.c:5816
#7 0x0000000000aa7e90 in setjmp_gen_code (env=env@entry=0x7933fac3e5e0,
tb=tb@entry=0x79341ba52840 <code_gen_buffer+549308435>,
pc=pc@entry=1206519, host_pc=0x7933f52a58f7,
max_insns=max_insns@entry=0x7933fa5d3d44, ti=<optimized out>)
at ../accel/tcg/translate-all.c:278
#8 0x0000000000aa835d in tb_gen_code (cpu=cpu@entry=0x7933fac3be40,
pc=pc@entry=1206519, cs_base=cs_base@entry=1206523, flags=2181038080,
cflags=cflags@entry=-16777216) at ../accel/tcg/translate-all.c:358
#9 0x0000000000aa135b in cpu_exec_loop (cpu=cpu@entry=0x7933fac3be40,
sc=sc@entry=0x7933fa5d3e80) at ../accel/tcg/cpu-exec.c:993
#10 0x0000000000aa1788 in cpu_exec_setjmp (cpu=cpu@entry=0x7933fac3be40,
sc=sc@entry=0x7933fa5d3e80) at ../accel/tcg/cpu-exec.c:1039
#11 0x0000000000aa1f8d in cpu_exec (cpu=cpu@entry=0x7933fac3be40)
at ../accel/tcg/cpu-exec.c:1065
#12 0x0000000000abb53d in tcg_cpu_exec (cpu=cpu@entry=0x7933fac3be40)
at ../accel/tcg/tcg-accel-ops.c:78
#13 0x0000000000abb6ae in mttcg_cpu_thread_fn (arg=arg@entry=0x7933fac3be40)
at ../accel/tcg/tcg-accel-ops-mttcg.c:95
#14 0x0000000000c7f750 in qemu_thread_start (args=0x79343aef7520)
at ../util/qemu-thread-posix.c:541
#15 0x000079343d98c145 in pthread__create_tramp (cookie=0x79343c583000)
at /home/martin/current/src/lib/libpthread/pthread.c:595
#16 0x000079343d5d1310 in ?? () from /usr/lib/libc.so.12
```
|