-
Bug
-
Resolution: Can't Do
-
Undefined
-
None
-
rhel-8.6.0
-
None
-
None
-
rhel-sst-pt-llvm-rust-go
-
ssg_platform_tools
-
2
-
False
-
False
-
-
Yes
-
None
-
None
-
None
-
If docs needed, set a value
-
-
s390x
-
None
-
57,005
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
- external trackers