summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/111/debug/1761535
blob: 7fbb57603a1d70fad3acef6bd8931d25e8c6aee5 (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
debug: 0.125
device: 0.125
files: 0.107
other: 0.092
permissions: 0.079
PID: 0.078
semantic: 0.073
vnc: 0.063
socket: 0.060
performance: 0.057
graphic: 0.043
network: 0.036
KVM: 0.030
boot: 0.030
debug: 0.660
PID: 0.096
files: 0.060
performance: 0.041
other: 0.029
socket: 0.018
device: 0.018
permissions: 0.017
network: 0.017
semantic: 0.015
boot: 0.010
graphic: 0.008
vnc: 0.007
KVM: 0.004

qemu-aarch64-static docker arm64v8/openjdk coredump

I am using qemu-aarch64-static to run the arm64v8/openjdk official image on my x86 machine. Using QEMU master, I immediately hit a bug which hangs the container. With Ubuntu default version qemu-aarch64 version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.24) and qemu-aarch64 version 2.11.1 (v2.11.1-dirty) the hang does not take place.

To reproduce (and get to the core dump):

$ /tmp/tmptgyg3nvh/qemu-aarch64-static/qemu-aarch64-static -version
qemu-aarch64 version 2.11.91 (v2.12.0-rc1-5-g47d3b60-dirty)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers

$ docker run -it -v /tmp/tmptgyg3nvh/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/openjdk /bin/bash
root@bf75cf45d311:/# javac
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
<...snip...>
  @<filename>                Read options and filenames from file

qemu: uncaught target signal 11 (Segmentation fault) - core dumped
...TERMINAL HANGS...


To get the core dump, In a separate terminal:

# snapshot the file system of the hung image
$ docker commit $(docker ps -aqf "name=latest_qemu") qemu_coredump

# connect with known working qemu
$ docker run -t -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static  -i qemu_coredump /bin/bash

$$ ls -lat
total 10608
<snip>
-rw-r--r--   1 root root 10792960 Mar 29 18:02 qemu_bash_20180329-180251_1.core
drwxrwxrwt   5 root root     4096 Mar 29 18:02 tmp
<snip>

Could you provide a binary that we can use to reproduce, please? (preferably a setup that doesn't require me to figure out how to install and use docker...)


I realized I had a javac lying around from last time somebody wanted me to debug a java problem, and I'm also seeing SEGVs with simpler programs like ls (!), so I'll have a look at those and hopefully that will be the same cause as what you're seeing.


I think this should be fixed by https://patchwork.ozlabs.org/patch/896295/

(incidentally the segfault is in the guest /bin/sh, not in javac or ls.)


Now fixed in master, commit 7f0f4208b3a96, and will be in 2.12.0.


Many thanks!

I've just compiled master, and docker/aarch64/openjdk image now works as expected on my x86 machine.