Bug 1012625 - vex s390->IR: unimplemented insn: B92F 0042 on s390x
vex s390->IR: unimplemented insn: B92F 0042 on s390x
Status: CLOSED DUPLICATE of bug 881893
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: valgrind (Show other bugs)
6.5
Unspecified Unspecified
unspecified Severity medium
: rc
: ---
Assigned To: Mark Wielaard
qe-baseos-tools
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-09-26 14:11 EDT by Hubert Kario
Modified: 2013-09-26 14:33 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-09-26 14:33:40 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Hubert Kario 2013-09-26 14:11:10 EDT
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:
Comment 1 Mark Wielaard 2013-09-26 14:16:29 EDT
I think this is a duplicate of bug #881893
Comment 2 Mark Wielaard 2013-09-26 14:27:02 EDT
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?
Comment 3 Mark Wielaard 2013-09-26 14:33:40 EDT

*** This bug has been marked as a duplicate of bug 881893 ***

Note You need to log in before you can comment on or make changes to this bug.