Hide Forgot
Description of problem: When running `openssl speed` valgrind crashes with SIGILL on s390x Version-Release number of selected component (if applicable): valgrind-3.8.1-3.2.el6.s390x openssl-1.0.1e-8.el6.s390x How reproducible: Always Steps to Reproduce: 1. valgrind openssl speed To quickly cause the problem: 1. valgrind openssl speed aes Actual results: ==43119== Memcheck, a memory error detector ==43119== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==43119== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==43119== Command: openssl speed aes ==43119== vex s390->IR: unimplemented insn: B92F 0042 ==43119== valgrind: Unrecognised instruction at address 0x42c714c. ==43119== at 0x42C714C: private_AES_set_encrypt_key (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x439ADBF: fips_drbg_ctr_init (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x439D689: FIPS_drbg_init (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x431F517: RAND_init_fips (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x42A7E0D: OPENSSL_init_library (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x42A478D: CRYPTO_set_locking_callback (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x8001DB0B: ??? (in /usr/bin/openssl) ==43119== by 0x4477923: (below main) (in /lib64/libc-2.12.so) ==43119== Your program just tried to execute an instruction that Valgrind ==43119== did not recognise. There are two possible reasons for this. ==43119== 1. Your program has a bug and erroneously jumped to a non-code ==43119== location. If you are running Memcheck and you just saw a ==43119== warning about a bad jump, it's probably your program's fault. ==43119== 2. The instruction is legitimate but Valgrind doesn't handle it, ==43119== i.e. it's Valgrind's fault. If you think this is the case or ==43119== you are not sure, please let us know and we'll try to fix it. ==43119== Either way, Valgrind will now raise a SIGILL signal which will ==43119== probably kill your program. ==43119== ==43119== Process terminating with default action of signal 4 (SIGILL) ==43119== Illegal opcode at address 0x42C714C ==43119== at 0x42C714C: private_AES_set_encrypt_key (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x439ADBF: fips_drbg_ctr_init (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x439D689: FIPS_drbg_init (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x431F517: RAND_init_fips (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x42A7E0D: OPENSSL_init_library (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x42A478D: CRYPTO_set_locking_callback (in /usr/lib64/libcrypto.so.1.0.1e) ==43119== by 0x8001DB0B: ??? (in /usr/bin/openssl) ==43119== by 0x4477923: (below main) (in /lib64/libc-2.12.so) ==43119== ==43119== HEAP SUMMARY: ==43119== in use at exit: 537 bytes in 8 blocks ==43119== total heap usage: 8 allocs, 0 frees, 537 bytes allocated ==43119== ==43119== LEAK SUMMARY: ==43119== definitely lost: 0 bytes in 0 blocks ==43119== indirectly lost: 0 bytes in 0 blocks ==43119== possibly lost: 0 bytes in 0 blocks ==43119== still reachable: 537 bytes in 8 blocks ==43119== suppressed: 0 bytes in 0 blocks ==43119== Rerun with --leak-check=full to see details of leaked memory ==43119== ==43119== For counts of detected and suppressed errors, rerun with: -v ==43119== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4) Illegal instruction (core dumped) Expected results: openssl speed results Additional info:
I think this is a duplicate of bug #881893
It is not the KIMD, but the KMC: case 0xb92f: /* KMC */ goto unimplemented Both part of the Message Security Assist. The same patch that is already part of the fedora valgrind-3.8.1-25.fc20 package will most likely solve this issue. Can you try to replicate with the above package?
*** This bug has been marked as a duplicate of bug 881893 ***