QEMU 3.1 makes libxslt to crash on ppc64
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Host: clean Ubuntu Disco with QEMU 3.1
Guest: Alpine Linux edge with xmlto
Steps to set up guest:
curl -O http://
curl -O http://
qemu-system-ppc64 -m 1G -kernel vmlinuz-vanilla -initrd initramfs-vanilla -append "console=hvc0 ip=dhcp alpine_repo=http://
This brings up an VM with an in-memory Alpine Linux.
Steps to reproduce:
Login as root and execute the following commands.
apk add xmlto
ntpd -nqp time.google.com // For TLS OCSP
wget https:/
wget https:/
xmlto -m manpage-base.xsl man shadowsocks-
The downloaded files are from this project: https:/
Expected behavior: The command silently succeeds producing shadowsocks-libev.8
Actual behavior:
runtime error: file file://
xsltApplySequen
You can adjust xsltMaxDepth (--maxdepth) in order to raise the maximum number of nested template calls and variables/params (currently set to 3000).
Templates:
#0 name process.colspan
#1 name process.colspan
#2 name process.colspan
#3 name process.colspan
#4 name process.colspan
#5 name process.colspan
#6 name process.colspan
#7 name process.colspan
#8 name process.colspan
#9 name process.colspan
#10 name process.colspan
#11 name process.colspan
#12 name process.colspan
#13 name process.colspan
#14 name process.colspan
Variables:
#0
type
colspan
#1
colspan
#2
type
colspan
#3
colspan
#4
type
colspan
#5
colspan
#6
type
colspan
#7
colspan
#8
type
colspan
#9
colspan
#10
type
colspan
#11
colspan
#12
type
colspan
#13
colspan
#14
type
colspan
error: file /root/shadowsoc
xsltRunStylesheet : run failed
Note:
I tried increasing --maxdepth as suggested in the error output but that will result in a segfault.
This error doesn't occur with an older QEMU (I tested QEMU 2.12 on Ubuntu Cosmic) or different architectures on QEMU 3.1 (I tested x86, x86_64, arm, aarch64, s390x). Also it didn't help to use an older Alpine Linux (I tested v3.8). So I think it is caused by a bug in QEMU rather than the distro/package.
Could you try with QEMU 4.0, please? There was a bug/incompatibility between earlier QEMU and the Alpine Linux libc which we fixed in 4.0, and so this might be that bug (or some other bug we've already fixed).