Bug 2276363
Summary: | SEGFAULT on ppc64le cpu | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Trung Lê <8> |
Component: | dosbox-staging | Assignee: | Otto Liljalaakso <otto.liljalaakso> |
Status: | CLOSED ERRATA | QA Contact: | |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 40 | CC: | otto.liljalaakso |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | ppc64le | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | dosbox-staging-0.81.1-3.fc41 dosbox-staging-0.81.1-2.fc40 dosbox-staging-0.80.1-5.fc39 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2024-05-31 21:08:21 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Trung Lê
2024-04-22 09:46:51 UTC
Hello, Unfortunately, I do not have PowerPC hardware available, so I will not be able to reproduce this issue. Some things you could try to narrow this further: 1. Version 0.81.1 is just out, and I have kicked the build for Rawhide. Once it is successful, I will build also for Fedora 40. So soon, you can try that and see if the problem goes away. 2. Since the crash happens at 'CPU_Core_Dynrec_Run()', I am guessing that dynamic core is used. You can try altering cpu.core setting in your dosbox-staging.conf to see if some core type works. 3. Could you confirm if you use upstream tip or 0.81.0 tag to build from source? Just to exclude the possibility that this is actually an upstream regression. 4. I am guessing that Fedora build flags cause this. Did you use the same flags in your local build? If not, you could try if doing so makes that build crash as well. I see the following flags applied in Koji build log (some are probably not relevant, and there might also be other configuration that is not visible here, but this is a good start): CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' export CFLAGS CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' export CXXFLAGS FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' export FFLAGS FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' export FCFLAGS VALAFLAGS=-g export VALAFLAGS RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' export RUSTFLAGS LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' export LDFLAGS LT_SYS_LIBRARY_PATH=/usr/lib64: export LT_SYS_LIBRARY_PATH CC=gcc export CC CXX=g++ export CXX /usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . redhat-linux-build I have tried 0.81.1 RPM package and the bug is still there. IMHO it is pretty much related to default libs or compilation flags that Fedora is using. I will spend a bit more time to see if I could re-produce the issue with Koji settings Good news, I've finally found the culprit The `-specs=/usr/lib/rpm/redhat/redhat-hardened-ld` in LDFLAGS is the one. What's the next step from here? I was going to suggest distilling the error as much as possible and reporting the issue upstream. But I see you already did that [1], so let's try to get this fixed there. If that does not play out, there maybe is a fallback option of not using that problematic GCC spec on ppc64le build. Since the GCC spec is about hardening, need to check if we need to apply for some kind of exception, and otherwise if some other flags needs to be changes together with that. If upstream fix is not possible for some reason, I will look into that. [1]: https://github.com/dosbox-staging/dosbox-staging/issues/3686 FEDORA-2024-2a284d3734 (dosbox-staging-0.81.1-3.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-2a284d3734 FEDORA-2024-2a284d3734 (dosbox-staging-0.81.1-3.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2024-dfac194d00 (dosbox-staging-0.80.1-5.fc39) has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-dfac194d00 FEDORA-2024-b6cc2aa248 (dosbox-staging-0.81.1-2.fc40) has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-b6cc2aa248 FEDORA-2024-dfac194d00 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-dfac194d00` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-dfac194d00 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2024-b6cc2aa248 has been pushed to the Fedora 40 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-b6cc2aa248` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-b6cc2aa248 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2024-b6cc2aa248 (dosbox-staging-0.81.1-2.fc40) has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2024-dfac194d00 (dosbox-staging-0.80.1-5.fc39) has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report. |