blob: ed6bd8e9bdc8c24202a0d5138f743a5694e17e9a (
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
|
x86: 0.987
architecture: 0.942
arm: 0.918
graphic: 0.911
device: 0.874
semantic: 0.764
ppc: 0.645
performance: 0.644
debug: 0.514
hypervisor: 0.436
PID: 0.434
risc-v: 0.410
user-level: 0.398
socket: 0.393
permissions: 0.385
vnc: 0.353
network: 0.347
register: 0.346
files: 0.344
boot: 0.288
peripherals: 0.268
mistranslation: 0.237
TCG: 0.229
virtual: 0.226
VMM: 0.203
kernel: 0.126
i386: 0.105
assembly: 0.056
KVM: 0.022
--------------------
x86: 0.989
virtual: 0.399
debug: 0.260
files: 0.053
performance: 0.038
risc-v: 0.033
user-level: 0.020
register: 0.020
TCG: 0.017
PID: 0.017
device: 0.016
hypervisor: 0.010
i386: 0.009
semantic: 0.006
network: 0.005
kernel: 0.005
architecture: 0.004
arm: 0.004
boot: 0.004
VMM: 0.003
assembly: 0.003
peripherals: 0.003
socket: 0.002
graphic: 0.002
permissions: 0.002
vnc: 0.002
ppc: 0.001
mistranslation: 0.001
KVM: 0.000
JRE fails (SIGSEGV) on x86 Ubuntu 24.04 LTS emulated on Apple Silicon M2 ARM
Description of problem:
JRE (HotSpot Runtime) errors with SIGSEGV on x86 Linux Ubuntu 24.04.2 LTS when it is emulated on Apple Silicon M2. In this case, JRE is being triggered by SBT that is running Scala source code.
This could be a Qemu issue, an OpenJDK issue, an Apple issue, etc. - Let me know if this is the wrong place/not under the purview of Qemu and I'll post it somewhere else.
Steps to reproduce:
I am attempting to run a Scala project (https://github.com/ucb-bar/chipyard) on a x86 machine emulated on an Apple Silicon device. The project build flow fails on step 5 when Scala sources are compiled and run. You can reproduce the issue by running Chipyard's recommended setup flow here:
https://chipyard.readthedocs.io/en/stable/Chipyard-Basics/Initial-Repo-Setup.html#default-requirements-installation
Then instead of running the given build-setup command in the tutorial, run `./build-setup.sh riscv-tools -s 3 -s 8 -s 7 -s 8 -s 9 -s 10 --use-lean-conda` in order to skip the irrelevant setup steps.
The SBT build config is in the project's base directory under build.sbt. There is a commonSettings sequence that is inherited by each subsequent project. The flow: line 409 of common.mk is triggered by line 257 & 258 of build-setup.sh, which then triggers SBT with some arguments passed into the SBT executable.
Additional information:
Extensive crash logs and attempts to solve the issue has been documented at this issue on UTM's GitHub: https://github.com/utmapp/UTM/issues/7070
|