...
Description of problem: Similarly to bug #2064892 found on RHEL-9, some go tests that pass when executed plainly fail when using '-exec valgrind' on RHEL-8.6.0-updates-20220531.0 s390x. However, on RHEL-8, both aarch64 and x86_64 are not affected by this issue. [root@s390x-kvm-007 ~]# GOLANG_FIPS=1 go test -count=1 -v -v -v crypto/des -run ^TestWeakKeys$ === RUN TestWeakKeys — PASS: TestWeakKeys (0.00s) PASS ok crypto/des 0.001s [root@s390x-kvm-007 ~]# GOLANG_FIPS=1 go test -count=1 -v -v -v crypto/des -run ^TestWeakKeys$ -exec valgrind ==597060== Memcheck, a memory error detector ==597060== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==597060== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info ==597060== Command: /tmp/go-build2313686948/b001/des.test -test.paniconexit0 -test.timeout=10m0s -test.count=1 -test.v=true -test.v=true -test.v=true -test.run=^TestWeakKeys$ ==597060== ==597060== Invalid write of size 8 ==597060== at 0x7FB10: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0xFFFFFFFFFFFFFFFF: ??? ==597060== Address 0x1ffefffd48 is on thread 1's stack ==597060== 8 bytes below stack pointer ==597060== ==597060== Invalid write of size 8 ==597060== at 0x60C7C: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x7FBC1: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== Address 0x1ffefffcf0 is on thread 1's stack ==597060== 64 bytes below stack pointer ==597060== ==597060== Invalid write of size 8 ==597060== at 0x60A5C: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x60EE9: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== Address 0x1ffefffcd8 is on thread 1's stack ==597060== 24 bytes below stack pointer ==597060== ==597060== Use of uninitialised value of size 8 ==597060== at 0x60B64: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x60EE9: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== ==597060== Use of uninitialised value of size 8 ==597060== at 0x60F30: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x7FBC1: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== ==597060== Invalid write of size 8 ==597060== at 0x606FC: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x7FBC7: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== Address 0x1ffefffd18 is on thread 1's stack ==597060== 24 bytes below stack pointer ==597060== ==597060== Invalid write of size 8 ==597060== at 0x477E2: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x60755: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== Address 0x1ffefff8c8 is on thread 1's stack ==597060== 1104 bytes below stack pointer ==597060== ==597060== Use of uninitialised value of size 8 ==597060== at 0x479F0: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x60755: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== ==597060== Use of uninitialised value of size 8 ==597060== at 0x60756: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x7FBC7: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== ==597060== Invalid write of size 8 ==597060== at 0x47CDC: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x7FBCD: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== Address 0x1ffefffd18 is on thread 1's stack ==597060== 24 bytes below stack pointer ==597060== ==597060== Invalid write of size 8 ==597060== at 0x474FC: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x47CED: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== Address 0x1ffeffdcf0 is not stack'd, malloc'd or (recently) free'd ==597060== ==597060== ==597060== Process terminating with default action of signal 11 (SIGSEGV) ==597060== Access not within mapped region at address 0x1FFEFFD000 ==597060== at 0x474FC: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== by 0x47CED: ??? (in /tmp/go-build2313686948/b001/des.test) ==597060== If you believe this happened as a result of a stack ==597060== overflow in your program's main thread (unlikely but ==597060== possible), you can try to increase the size of the ==597060== main thread stack using the --main-stacksize= flag. ==597060== The main thread stack size used in this run was 8388608. ==597060== ==597060== HEAP SUMMARY: ==597060== in use at exit: 0 bytes in 0 blocks ==597060== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==597060== ==597060== All heap blocks were freed – no leaks are possible ==597060== ==597060== Use --track-origins=yes to see where uninitialised values come from ==597060== For lists of detected and suppressed errors, rerun with: -s ==597060== ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0) FAIL crypto/des 0.416s FAIL [root@s390x-kvm-007 ~]# Below is the list of suites and testcases failing with with valgrind: crypto/des (all tests) crypto/dsa: TestParameterGeneration TestSignAndVerifyWithBadPublicKey crypto/ecdsa: TestEqual crypto/ed25519: TestEd25519Vectors crypto/ed25519/internal/edwards25519 (all tests) crypto/elliptic: TestInfinity TestMarshal TestMarshalCompressed crypto/internal/subtle (all tests) crypto/rc4 (all tests) crypto/subtle (all tests) crypto/x509: TestPKCS8 TestParseECPrivateKey TestImports crypto/tls (all TestBoring*) Version-Release number of selected component (if applicable): RHEL-8.6.0-updates-20220531.0 golang-1.17.10-1.module+el8.6.0+15486+6d4da7db.s390x (go-toolset:rhel8:8060020220527144311:97d7f71f) valgrind-3.18.1-7.el8.s390x Steps to Reproduce: 1. GOLANG_FIPS=1 go test -count=1 -v -v -v <suite> -run <testcase> -exec valgrind
Can't Do