blob: 1756fa6a40d5a7ffcee4d38917ae5953aec274f0 (
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
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
|
mistranslation: 0.481
instruction: 0.448
graphic: 0.420
device: 0.412
other: 0.412
semantic: 0.359
assembly: 0.339
network: 0.281
KVM: 0.268
socket: 0.248
boot: 0.211
vnc: 0.182
qemu-s390x segfaults
All tested versions (2.11 and 4.2) qemu-s390x crashes with a segfault when run on an aarch64 odroid Ubuntu.
Steps to reproduce:
root@odroid:~/workspace/bitcoin-core# /usr/local/bin/qemu-s390x "/root/workspace/bitcoin-core/build/bitcoin-s390x-linux-gnu/src/test/test_bitcoin_orig"
Segmentation fault (core dumped)
root@odroid:~/workspace/bitcoin-core# /usr/local/bin/qemu-s390x --version
qemu-s390x version 4.2.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
root@odroid:~/workspace/bitcoin-core# /usr/bin/qemu-s390x "/root/workspace/bitcoin-core/build/bitcoin-s390x-linux-gnu/src/test/test_bitcoin_orig"
Segmentation fault (core dumped)
root@odroid:~/workspace/bitcoin-core# /usr/bin/qemu-s390x --version
qemu-s390x version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.22)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
qemu-arm does work on the same machine:
root@odroid:~/workspace/bitcoin-core# /usr/bin/qemu-arm bitcoin-0.19.0.1-armhf/bin/test_bitcoin -t amount_tests
Running 4 test cases...
*** No errors detected
root@odroid:~/workspace/bitcoin-core# /usr/local/bin/qemu-arm bitcoin-0.19.0.1-armhf/bin/test_bitcoin -t amount_tests
Running 4 test cases...
*** No errors detected
What kind of debug information would be helpful for this issue report?
GDB for the self-compiled latest release is not particularly helpful:
(gdb) run
Starting program: /usr/local/bin/qemu-s390x /root/workspace/bitcoin-core/build/bitcoin-s390x-linux-gnu/src/test/test_bitcoin_orig
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fb7a2a140 (LWP 28264)]
Thread 1 "qemu-s390x" received signal SIGSEGV, Segmentation fault.
0x000000555596b218 in __bss_start__ ()
(gdb) bt
#0 0x000000555596b218 in __bss_start__ ()
#1 0x00000055556120a8 in ?? ()
#2 0x00000055579904b0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
A bit more information is available in the version shipped by Ubuntu:
(gdb) run
Starting program: /usr/bin/qemu-s390x /root/workspace/bitcoin-core/build/bitcoin-s390x-linux-gnu/src/test/test_bitcoin_orig
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fb7a01180 (LWP 28271)]
Thread 1 "qemu-s390x" received signal SIGSEGV, Segmentation fault.
0x0000005555738f98 in code_gen_buffer ()
(gdb) bt
#0 0x0000005555738f98 in code_gen_buffer ()
#1 0x00000055555e96c8 in cpu_exec ()
#2 0x00000055555ee430 in cpu_loop ()
#3 0x00000055555c3328 in main ()
You need to provide the test binary.
I can run a chroot of s390x ubuntu bionic on aarch64 just fine,
so it must be something specific to your test.
Thanks for taking a look. With the binary I posted, the steps to reproduce are:
dpkg --add-architecture s390x && apt update && apt install qemu-user wget libc6:s390x libstdc++6:s390x libfontconfig1:s390x libxcb1:s390x -y && wget https://bugs.launchpad.net/qemu/+bug/1862986/+attachment/5331331/+files/test_bitcoin_orig && sha256sum ./test_bitcoin_orig && chmod +x test_bitcoin_orig
The hash of the file is 193758e2041d49fe90722927ba6b5371506831caf733ee2fe61ef7d61cc894f7 and qemu-user crashes for me:
$ qemu-s390x ./test_bitcoin_orig
Segmentation fault (core dumped)
I can also reproduce this in a debian:sid docker container on x86_64, so this might not be related to the host CPU architecture
Could it be related to https://bugs.launchpad.net/qemu/+bug/1860920 ?
Could you try latest QEMU source (including "target/s390x/translate: Fix RNSBG instruction")?
[Expired for QEMU because there has been no activity for 60 days.]
This still happens on qemu 5.0
Steps to reproduce:
# install packages
dpkg --add-architecture s390x
apt update
apt install qemu-user libc6:s390x libstdc++6:s390x libfontconfig1:s390x libxcb1:s390x
apt install g++-s390x-linux-gnu
# create dummy binary
echo 'int main(){}'| s390x-linux-gnu-g++ -x c++ -
# run dummy binary
qemu-s390x ./a.out
Segmentation fault (core dumped)
The QEMU project is currently moving its bug tracking to another system.
For this we need to know which bugs are still valid and which could be
closed already. Thus we are setting the bug state to "Incomplete" now.
If the bug has already been fixed in the latest upstream version of QEMU,
then please close this ticket as "Fix released".
If it is not fixed yet and you think that this bug report here is still
valid, then you have two options:
1) If you already have an account on gitlab.com, please open a new ticket
for this problem in our new tracker here:
https://gitlab.com/qemu-project/qemu/-/issues
and then close this ticket here on Launchpad (or let it expire auto-
matically after 60 days). Please mention the URL of this bug ticket on
Launchpad in the new ticket on GitLab.
2) If you don't have an account on gitlab.com and don't intend to get
one, but still would like to keep this ticket opened, then please switch
the state back to "New" or "Confirmed" within the next 60 days (other-
wise it will get closed as "Expired"). We will then eventually migrate
the ticket automatically to the new system (but you won't be the reporter
of the bug in the new system and thus you won't get notified on changes
anymore).
Thank you and sorry for the inconvenience.
Fixed in qemu-s390x version 5.2.0 (Debian 1:5.2+dfsg-10)
|