Bug 401846 - vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF1 0x73 0x14 0x48 0x89
Summary: vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF1 0x73 0x14 0x48...
Status: CLOSED DUPLICATE of bug 353370
Alias: None
Product: valgrind
Classification: Developer tools
Component: memcheck (show other bugs)
Version: 3.11.0
Platform: Ubuntu Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-07 00:53 UTC by Forest Rouse
Modified: 2018-12-07 21:55 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Valgrind log file (6.56 KB, text/x-log)
2018-12-07 01:12 UTC, Forest Rouse
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Forest Rouse 2018-12-07 00:53:44 UTC
SUMMARY

Yet another amd instruction sequence that isn't handled

vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF1 0x73 0x14 0x48 0x89
vex amd64->IR:   REX=1 REX.W=1 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0

STEPS TO REPRODUCE
1. 
2. 
3. 

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
MacOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Forest Rouse 2018-12-07 01:10:33 UTC
Looks like the stack trace is from grpc:

==2889== valgrind: Unrecognised instruction at address 0xabefcc.
==2889==    at 0xABEFCC: ??? (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA6596D: RAND_bytes (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1856E: bssl::ssl_client_handshake(bssl::SSL_HANDSHAKE*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1C4FE: bssl::ssl_run_handshake(bssl::SSL_HANDSHAKE*, bool*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x9FD12F: SSL_do_handshake (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x62DE3D: create_tsi_ssl_handshaker (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x628D24: ssl_channel_add_handshakers (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x6588B5: grpc_handshakers_add (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x61BC87: connected (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x66AE13: grpc_exec_ctx_flush (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x673A37: pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x669E39: grpc_pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889== Your program just tried to execute an instruction that Valgrind
==2889== did not recognise.  There are two possible reasons for this.
==2889== 1. Your program has a bug and erroneously jumped to a non-code
==2889==    location.  If you are running Memcheck and you just saw a
==2889==    warning about a bad jump, it's probably your program's fault.
==2889== 2. The instruction is legitimate but Valgrind doesn't handle it,
==2889==    i.e. it's Valgrind's fault.  If you think this is the case or
==2889==    you are not sure, please let us know and we'll try to fix it.
==2889== Either way, Valgrind will now raise a SIGILL signal which will
==2889== probably kill your program.
==2889== 
==2889== Process terminating with default action of signal 4 (SIGILL)
==2889==  Illegal opcode at address 0xABEFCC
==2889==    at 0xABEFCC: ??? (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA6596D: RAND_bytes (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1856E: bssl::ssl_client_handshake(bssl::SSL_HANDSHAKE*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1C4FE: bssl::ssl_run_handshake(bssl::SSL_HANDSHAKE*, bool*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x9FD12F: SSL_do_handshake (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x62DE3D: create_tsi_ssl_handshaker (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x628D24: ssl_channel_add_handshakers (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x6588B5: grpc_handshakers_add (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x61BC87: connected (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x66AE13: grpc_exec_ctx_flush (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x673A37: pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x669E39: grpc_pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
Comment 2 Forest Rouse 2018-12-07 01:11:00 UTC
==2889== valgrind: Unrecognised instruction at address 0xabefcc.
==2889==    at 0xABEFCC: ??? (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA6596D: RAND_bytes (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1856E: bssl::ssl_client_handshake(bssl::SSL_HANDSHAKE*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1C4FE: bssl::ssl_run_handshake(bssl::SSL_HANDSHAKE*, bool*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x9FD12F: SSL_do_handshake (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x62DE3D: create_tsi_ssl_handshaker (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x628D24: ssl_channel_add_handshakers (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x6588B5: grpc_handshakers_add (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x61BC87: connected (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x66AE13: grpc_exec_ctx_flush (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x673A37: pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x669E39: grpc_pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889== Your program just tried to execute an instruction that Valgrind
==2889== did not recognise.  There are two possible reasons for this.
==2889== 1. Your program has a bug and erroneously jumped to a non-code
==2889==    location.  If you are running Memcheck and you just saw a
==2889==    warning about a bad jump, it's probably your program's fault.
==2889== 2. The instruction is legitimate but Valgrind doesn't handle it,
==2889==    i.e. it's Valgrind's fault.  If you think this is the case or
==2889==    you are not sure, please let us know and we'll try to fix it.
==2889== Either way, Valgrind will now raise a SIGILL signal which will
==2889== probably kill your program.
==2889== 
==2889== Process terminating with default action of signal 4 (SIGILL)
==2889==  Illegal opcode at address 0xABEFCC
==2889==    at 0xABEFCC: ??? (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA6596D: RAND_bytes (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1856E: bssl::ssl_client_handshake(bssl::SSL_HANDSHAKE*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0xA1C4FE: bssl::ssl_run_handshake(bssl::SSL_HANDSHAKE*, bool*) (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x9FD12F: SSL_do_handshake (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x62DE3D: create_tsi_ssl_handshaker (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x628D24: ssl_channel_add_handshakers (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x6588B5: grpc_handshakers_add (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x61BC87: connected (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x66AE13: grpc_exec_ctx_flush (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x673A37: pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
==2889==    by 0x669E39: grpc_pollset_work (in /home/forest/.cache/bazel/_bazel_forest/fed0d7792e44cc42f318618a90761ed0/execroot/__main__/bazel-out/k8-opt/bin/ui/pe/backend/proton/proton)
Comment 3 Forest Rouse 2018-12-07 01:12:41 UTC
Created attachment 116728 [details]
Valgrind log file
Comment 4 Mark Wielaard 2018-12-07 08:05:17 UTC
This is rdrand on an old Valgrind version 3.11.0

*** This bug has been marked as a duplicate of bug 353370 ***
Comment 5 Forest Rouse 2018-12-07 21:55:30 UTC
Thanks.  I should have suspected that this bug in fact covered what I reported as obviously only the instruction needs to be the same.

I built the latest version manually instead of using what is the default version I pulled from apt and that solved the problem.