Java crashes on s390x VM with SIGILL/ILL_PRVOPC at '__kernel_getcpu+0x8'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Qemu (on gitlab) |
Fix Released
|
Unknown
|
|||
qemu (Debian) |
Incomplete
|
Unknown
|
|||
qemu (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Host environment
- Operating system: Ubuntu 20.04.3 LTS Desktop
- OS/kernel version: Linux tower 5.11.0-37-generic #41~20.04.2-Ubuntu
SMP Fri Sep 24 09:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
- Architecture: amd64
- QEMU flavor: qemu-system-s390x
- QEMU version: QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.17)
- QEMU command line: See attached file 'command-line.txt'
Emulated/
- Operating system: Ubuntu 20.04.3 LTS Server
- OS/kernel version: Linux s390x-focal 5.4.0-88-generic #99-Ubuntu
SMP Thu Sep 23 17:27:44 UTC 2021 s390x s390x s390x GNU/Linux
- Architecture: s390x
Description of problem
Java crashes as shown below:
$ java --version
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x000003ff9f
#
# JRE version: (17.0+35) (build )
# Java VM: OpenJDK 64-Bit Server VM (17+35-snap, mixed mode, sharing,
# tiered, compressed oops, compressed class ptrs, g1 gc, linux-s390x)
# Problematic frame:
# C [linux-
#
# Core dump will be written. Default location: core.6789 (may not
# exist)
#
# An error report file with more information is saved as:
# /home/ubuntu/
#
#
Aborted (core dumped)
Steps to reproduce
Run any Java program to reproduce the problem.
Because the 'openjdk' packages in Ubuntu run the 'java' command during installation, they hit the same error and fail to install. As an alternative, you can install the OpenJDK Snap package for the 's390x' architecture as follows:
$ sudo snap install openjdk
The OpenJDK Snap package has been tested to work on a real IBM/S390 8561 system, namely the IBM LinuxONE III LT1 at Marist College:
Marist College Installs World’s First IBM LinuxONE III™
https:/
Additional information
See the following attached files:
command-line.txt - the command-line used to start the virtual machine
hs_err_pid6789.log - the log file resulting from 'java --version'
Changed in qemu (Debian): | |
status: | Unknown → Incomplete |
Changed in qemu-gitlab: | |
status: | Unknown → New |
Changed in qemu-gitlab: | |
status: | New → Fix Released |
I just tried the same s390x virtual machine under QEMU version 6.0.0 in the Ubuntu 21.10 Beta release, and the error still occurs. My system information is shown below:
$ qemu-system-s390x --version 2expubuntu1)
QEMU emulator version 6.0.0 (Debian 1:6.0+dfsg-
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers
$ cat /etc/lsb-release RELEASE= 21.10 CODENAME= impish DESCRIPTION= "Ubuntu Impish Indri (development branch)"
DISTRIB_ID=Ubuntu
DISTRIB_
DISTRIB_
DISTRIB_
$ uname -a
Linux ubuntu 5.13.0-16-generic #16-Ubuntu SMP Fri Sep 3 14:53:27 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux