[Bug 1911142] [NEW] sord segfaults on s390x / ppc64el - related to gcc-10.2 optimizations
Christian Ehrhardt
1911142 at bugs.launchpad.net
Tue Jan 12 11:01:42 UTC 2021
Public bug reported:
Sord has issues on these platforms if built with a recent toolchain.
I reported it upstream as I got good workarounds but failed to spot the root cause.
See: https://gitlab.com/drobilla/sord/-/issues/1
The effect in Ubuntu is that packages using sort can segfault on free.
Currently this blocks https://launchpad.net/ubuntu/+source/gst-plugins-bad1.0/1.18.2-1ubuntu2
as it runs:
$ /usr/lib/s390x-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-codec-info-1.0 debian/gstreamer1.0-plugins-bad/usr/lib/s390x-linux-gnu/gstreamer-1.0/libgstlv2.so
That segfaults then.
I've found that it works:
- with gcc-9
- on x86/armhf/arm64/riscv64
- with -fno-schedule-insns -fno-schedule-insns2 set
This could be either gcc-10 being too aggressive or (more likely) an issue in sord that is hard to see and not triggered up to now, but exposed by the new optimizations.
I'll file this against sord (to track the mitigation upload, as well as any discussion and point to upstream) as well as gcc-10 (since we have seen a bunch of those 'fails due to new toolchain') in case there is something in the toolchain to fix.
Steps to reproduce in Hirsute-proposed
$ sudo apt install gstreamer1.0-plugins-bad libgstreamer1.0-dev
$ /usr/lib/powerpc64le-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-codec-info-1.0 /usr/lib/powerpc64le-linux-gnu/gstreamer-1.0/libgstlv2.so
gst-codec-info-1.0: ../src/zix/btree.c:716: zix_btree_get: Assertion `frame->node' failed.
Aborted (core dumped)
In the upstream bug I outlined how to (re)compile sord as needed for any experiments.
=> https://gitlab.com/drobilla/sord/-/issues/1
A Test PPA which had various iterations of trying to be surgical with
the change (well, more surgical than global -O1) is at:
https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/4392
** Affects: gcc-10 (Ubuntu)
Importance: Undecided
Status: Invalid
** Affects: sord (Ubuntu)
Importance: Undecided
Status: In Progress
** Also affects: gcc-10 (Ubuntu)
Importance: Undecided
Status: New
** Changed in: sord (Ubuntu)
Status: New => In Progress
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-10 in Ubuntu.
https://bugs.launchpad.net/bugs/1911142
Title:
sord segfaults on s390x / ppc64el - related to gcc-10.2 optimizations
Status in gcc-10 package in Ubuntu:
Invalid
Status in sord package in Ubuntu:
In Progress
Bug description:
Sord has issues on these platforms if built with a recent toolchain.
I reported it upstream as I got good workarounds but failed to spot the root cause.
See: https://gitlab.com/drobilla/sord/-/issues/1
The effect in Ubuntu is that packages using sort can segfault on free.
Currently this blocks https://launchpad.net/ubuntu/+source/gst-plugins-bad1.0/1.18.2-1ubuntu2
as it runs:
$ /usr/lib/s390x-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-codec-info-1.0 debian/gstreamer1.0-plugins-bad/usr/lib/s390x-linux-gnu/gstreamer-1.0/libgstlv2.so
That segfaults then.
I've found that it works:
- with gcc-9
- on x86/armhf/arm64/riscv64
- with -fno-schedule-insns -fno-schedule-insns2 set
This could be either gcc-10 being too aggressive or (more likely) an issue in sord that is hard to see and not triggered up to now, but exposed by the new optimizations.
I'll file this against sord (to track the mitigation upload, as well as any discussion and point to upstream) as well as gcc-10 (since we have seen a bunch of those 'fails due to new toolchain') in case there is something in the toolchain to fix.
Steps to reproduce in Hirsute-proposed
$ sudo apt install gstreamer1.0-plugins-bad libgstreamer1.0-dev
$ /usr/lib/powerpc64le-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-codec-info-1.0 /usr/lib/powerpc64le-linux-gnu/gstreamer-1.0/libgstlv2.so
gst-codec-info-1.0: ../src/zix/btree.c:716: zix_btree_get: Assertion `frame->node' failed.
Aborted (core dumped)
In the upstream bug I outlined how to (re)compile sord as needed for any experiments.
=> https://gitlab.com/drobilla/sord/-/issues/1
A Test PPA which had various iterations of trying to be surgical with
the change (well, more surgical than global -O1) is at:
https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/4392
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-10/+bug/1911142/+subscriptions
More information about the foundations-bugs
mailing list