Created attachment 1815819 [details] failed build log Description of problem: When running the testsuite of golang-github-klauspost-compress, I'm getting a crash with SIGILL in compress/zip test on s390x only. The same test passes on F35 with golang 1.16.6, so this is a regression in golang 1.17. Version-Release number of selected component (if applicable): 1.17-2.fc36.s390x How reproducible: Always. Steps to Reproduce: 1. koji build --arch=s390x rawhide git+https://src.fedoraproject.org/rpms/golang-github-klauspost-compress.git#fd9526aa396241966d31112cc6accf4929c08559 Actual results: Build fails when running the testsuite: ... github.com/klauspost/compress/zip SIGILL: illegal instruction PC=0x2aa0e131d4f m=3 sigcode=2 instruction bytes: 0x72 0x60 0x0 0x0 0xd 0xc2 0xe 0x0 0x0 0x0 0x40 0xa7 0x9 0x0 0x0 0xb9 goroutine 0 [idle]: runtime.(*pallocData).findScavengeCandidate(0x3ff5dfef680, 0x108, 0x1, 0x1) /usr/lib/golang/src/runtime/mgcscavenge.go:894 +0x17f runtime.(*pageAlloc).scavengeOne(0x2aa0e3aee88, {{0xc003400000}, {0xc003612000}}, 0x1000, 0x1) /usr/lib/golang/src/runtime/mgcscavenge.go:618 +0x14a runtime.(*pageAlloc).scavenge(0x2aa0e3aee88, 0x1000, 0x1) /usr/lib/golang/src/runtime/mgcscavenge.go:413 +0x66 runtime.bgscavenge.func2() /usr/lib/golang/src/runtime/mgcscavenge.go:304 +0xc0 runtime.systemstack() /usr/lib/golang/src/runtime/asm_s390x.s:276 +0x6c goroutine 4 [running]: runtime.systemstack_switch() /usr/lib/golang/src/runtime/asm_s390x.s:239 +0x10 fp=0xc00003bf80 sp=0xc00003bf78 pc=0x2aa0e17c0f0 runtime.bgscavenge() /usr/lib/golang/src/runtime/mgcscavenge.go:292 +0x14c fp=0xc00003bfd8 sp=0xc00003bf80 pc=0x2aa0e13083c runtime.goexit() /usr/lib/golang/src/runtime/asm_s390x.s:755 +0x2 fp=0xc00003bfd8 sp=0xc00003bfd8 pc=0x2aa0e17e3f2 created by runtime.gcenable /usr/lib/golang/src/runtime/mgc.go:182 +0x88 goroutine 1 [chan receive]: testing.tRunner.func1(0xc000086ea0) /usr/lib/golang/src/testing/testing.go:1225 +0x4b8 testing.tRunner(0xc000086ea0, 0xc0000a3d50) /usr/lib/golang/src/testing/testing.go:1265 +0x14c testing.runTests(0xc0000ae018, {0x2aa0e3717e0, 0x22, 0x22}, {0xc03fb3fe5200e9f6, 0x8bb2d02507, 0x2aa0e38b420}) /usr/lib/golang/src/testing/testing.go:1596 +0x4c2 testing.(*M).Run(0xc0000fa000) /usr/lib/golang/src/testing/testing.go:1504 +0x514 main.main() _testmain.go:119 +0x190 goroutine 293 [runnable]: unicode/utf8.DecodeRuneInString({0xc0000dd807, 0xa7f8}) /usr/lib/golang/src/unicode/utf8/utf8.go:199 +0x276 github.com/klauspost/compress/zip.detectUTF8({0xc0000d8000, 0xffff}) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/writer.go:254 +0x82 github.com/klauspost/compress/zip.(*Writer).CreateHeader(0xc000064060, 0xc0008ec630) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/writer.go:306 +0x154 github.com/klauspost/compress/zip.TestZip64LargeDirectory.func1.1(0xc000064060) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/zip_test.go:532 +0x210 github.com/klauspost/compress/zip.generatesZip64(0xc000116820, 0xc00105a000) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/zip_test.go:456 +0x1b6 github.com/klauspost/compress/zip.TestZip64LargeDirectory.func2(0xc000116820) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/zip_test.go:548 +0x66 testing.tRunner(0xc000116820, 0xc001168060) /usr/lib/golang/src/testing/testing.go:1259 +0xf8 created by testing.(*T).Run /usr/lib/golang/src/testing/testing.go:1306 +0x3da goroutine 254 [chan receive]: testing.tRunner.func1(0xc00015ba00) /usr/lib/golang/src/testing/testing.go:1225 +0x4b8 testing.tRunner(0xc00015ba00, 0x2aa0e2b7878) /usr/lib/golang/src/testing/testing.go:1265 +0x14c created by testing.(*T).Run /usr/lib/golang/src/testing/testing.go:1306 +0x3da goroutine 294 [runnable]: unicode/utf8.DecodeRuneInString({0xc0001718eb, 0xa714}) /usr/lib/golang/src/unicode/utf8/utf8.go:199 +0x276 github.com/klauspost/compress/zip.detectUTF8({0xc00016c000, 0xffff}) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/writer.go:254 +0x82 github.com/klauspost/compress/zip.(*Writer).CreateHeader(0xc000064240, 0xc000e7ccf0) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/writer.go:306 +0x154 github.com/klauspost/compress/zip.TestZip64LargeDirectory.func1.1(0xc000064240) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/zip_test.go:532 +0x210 github.com/klauspost/compress/zip.generatesZip64(0xc0001169c0, 0xc0000ae030) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/zip_test.go:456 +0x1b6 github.com/klauspost/compress/zip.TestZip64LargeDirectory.func3(0xc0001169c0) /builddir/build/BUILD/compress-1.13.4/_build/src/github.com/klauspost/compress/zip/zip_test.go:554 +0x66 testing.tRunner(0xc0001169c0, 0xc0011680a0) /usr/lib/golang/src/testing/testing.go:1259 +0xf8 created by testing.(*T).Run /usr/lib/golang/src/testing/testing.go:1306 +0x3da r0 0x37 r1 0xff r2 0x1 r3 0xfffffffffffffff7 r4 0x4 r5 0x109 r6 0x37 r7 0x3ff5dfef6e0 r8 0x3ff5dfef000 r9 0x680 r10 0x0 r11 0x3ff5d7ed870 r12 0xc00003bfc0 r13 0xc000000ea0 r14 0x2aa0e131d1e r15 0x3ff5d7eccc0 pc 0x2aa0e131d4f link 0x2aa0e131d1e exit status 2 FAIL github.com/klauspost/compress/zip 26.488s ... Expected results: All tests pass. Additional info: Failed koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=74137789 .
Perhaps golang started to use the new DFLTCC instruction, which is available only in z15+ CPUs, but we build on z13 ...
for the record, can't reproduce locally on a z14
Yes, it turns out it's as reproducible as I thought. compress upstream pointed out it happens in garbage collection, so it may be a bit random.
*sigh* ... it's NOT as reproducible as I thought.
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle. Changing version to 36.
Fedora 36 now has Go 1.18, is this still happening with 1.18?
I've had a few random crashes when building the latest 1.15.1 release, but nothing consistently reproducible. I guess we can close this. I'll open a new bug if/when I find a reproducible case.
This message is a reminder that Fedora Linux 36 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 36 on 2023-05-16. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '36'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 36 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed.
Fedora Linux 36 entered end-of-life (EOL) status on 2023-05-16. Fedora Linux 36 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora Linux please feel free to reopen this bug against that version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see the version field. If you are unable to reopen this bug, please file a new report against an active release. Thank you for reporting this bug and we are sorry it could not be fixed.