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
|
user-level: 0.974
KVM: 0.960
mistranslation: 0.959
ppc: 0.958
peripherals: 0.956
register: 0.951
risc-v: 0.949
virtual: 0.948
permissions: 0.947
boot: 0.947
hypervisor: 0.946
x86: 0.943
architecture: 0.939
vnc: 0.938
files: 0.936
TCG: 0.935
performance: 0.935
debug: 0.932
graphic: 0.932
device: 0.930
socket: 0.929
arm: 0.921
VMM: 0.920
i386: 0.918
assembly: 0.917
kernel: 0.915
semantic: 0.915
network: 0.912
PID: 0.906
qemu s390x on focal - applications breaking
Running qemu-system-s390x (1:4.0+dfsg-0ubuntu10) on an x86-64 Focal host with an upgrade of a Eoan s390x VM to a Focal s390x is triggering random breakage, for example:
sudo apt-get update && sudo apt-get dist-upgrade
...
...
Unpacking debianutils (4.9) over (4.8.6.3) ...
Setting up debianutils (4.9) ...
Use of uninitialized value $ARGV[0] in string ne at /usr/sbin/update-mime line 43.
(Reading database ... 83640 files and directories currently installed.)
Preparing to unpack .../bash_5.0-5ubuntu1_s390x.deb ...
Unpacking bash (5.0-5ubuntu1) over (5.0-4ubuntu1) ...
Setting up bash (5.0-5ubuntu1) ...
[12124.788618] User process fault: interruption code 0007 ilc:3 in bash[2aa3d780000+149000]
dpkg: error processing package bash (--configure):
installed bash package post-installation script subprocess was killed by signal (Floating point exception), core du
mped
Errors were encountered while processing:
bash
E: Sub-process /usr/bin/dpkg returned an error code (1)
And now bash is completely broken:
cking@eoan-s390x:~$ bash
[12676.204389] User process fault: interruption code 0007 ilc:3 in bash[2aa14780000+149000]
Floating point exception (core dumped)
The upgrade works OK on a s390x, so I'm assuming it's something to do with the qemu emulation.
I've also seen in the dmesg log:
[ 287.624414] User process fault: interruption code 0007 ilc:3 in libstdc++.so.6.0.28[3ffb3e00000+21d000]
[ 288.991706] User process fault: interruption code 0007 ilc:3 in libstdc++.so.6.0.28[3ff90080000+21d000]
ps is showing QEMU is running as follows:
/usr/bin/qemu-system-s390x -name guest=ubuntu20.04-focal-s390x,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-10-ubuntu20.04-focal-s3/master-key.aes -machine s390-ccw-virtio-eoan,accel=tcg,usb=off,dump-guest-core=off -m 2048 -overcommit mem-lock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 6501dfbf-16d7-4412-a9d5-1ee808b42804 -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=24,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device virtio-scsi-ccw,id=scsi0,devno=fe.0.0002 -device virtio-serial-ccw,id=virtio-serial0,devno=fe.0.0003 -drive file=/pool-ssd/virt/ubuntu19.10-eaon-s390x-clone,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-ccw,scsi=off,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,id=drive-scsi0-0-0-0,readonly=on -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 -netdev tap,fd=27,id=hostnet0 -device virtio-net-ccw,netdev=hostnet0,id=net0,mac=52:54:00:a3:21:68,devno=fe.0.0001 -chardev socket,id=charchannel0,fd=28,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -chardev pty,id=charconsole0 -device sclpconsole,chardev=charconsole0,id=console0 -device virtio-balloon-ccw,id=balloon0,devno=fe.0.0004 -object rng-random,id=objrng0,filename=/dev/urandom -device virtio-rng-ccw,rng=objrng0,id=rng0,devno=fe.0.0005 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on
Hi Colin,
I didn't read much if the details but I think it is clear.
Per request of IBM focal got -march=z13 but tcg has no emulation for some
of the instructions of this cpu.
That is the breakage that you are seeing and afaik there is nothing we can
do than waiting for qemu to grow that support.
Can you please test again with the latest QEMU 4.2 RC? There have been quite a lot of fixes in this area in the past months, so maybe this issue has already been resolved in 4.2.
[Expired for QEMU because there has been no activity for 60 days.]
[Expired for Ubuntu on IBM z Systems because there has been no activity for 60 days.]
FYI - Focal now contains 4.2 which might (or not) have the bits you need.
You most likely get further, but I can't give guarantees if enough of march=z13 is supported to work for a full Focal (not sure on vector instructions for example) including all of userspace.
Marking it incomplete - if someone wants to try please go for it and let us know.
Otherwise let it expire again ...
Seems like you have to set all to "incomplete" to restart the expire counter again...
[Expired for Ubuntu on IBM z Systems because there has been no activity for 60 days.]
[Expired for QEMU because there has been no activity for 60 days.]
|