Bug 427057 - vex amd64->IR: unhandled instruction bytes: 0xC4 0xC2 0x7D 0x13 0x4 0x54 0xC4 0xE3 0x7D 0x19
Summary: vex amd64->IR: unhandled instruction bytes: 0xC4 0xC2 0x7D 0x13 0x4 0x54 0xC4...
Status: RESOLVED DUPLICATE of bug 356715
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: 3.13.0
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-28 01:42 UTC by goffinet.francois
Modified: 2021-02-21 00:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description goffinet.francois 2020-09-28 01:42:29 UTC
SUMMARY

vex error in Opencv 3.4.7 (inside contrib modules), the lib has been manually compiled.
valgind is from Ubuntu packages on Ubuntu 18.04 (bionic)


OBSERVED RESULT

vex amd64->IR: unhandled instruction bytes: 0xC4 0xC2 0x7D 0x13 0x4 0x54 0xC4 0xE3 0x7D 0x19
vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=1
vex amd64->IR:   VEX=1 VEX.L=1 VEX.nVVVV=0x0 ESC=0F38
vex amd64->IR:   PFX.66=1 PFX.F2=0 PFX.F3=0
==30103== valgrind: Unrecognised instruction at address 0x8ea2988.
==30103==    at 0x8EA2988: cv::opt_AVX2::cvt16f32f(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, cv::Size_<int>, void*) (in /usr/local/lib/libopencv_core.so.3.4.7)
==30103==    by 0x8C3082D: cv::convertFp16(cv::_InputArray const&, cv::_OutputArray const&) (in /usr/local/lib/libopencv_core.so.3.4.7)
==30103==    by 0x9F4FA0D: cv::dnn::experimental_dnn_34_v13::(anonymous namespace)::CaffeImporter::populateNet(cv::dnn::experimental_dnn_34_v13::Net) (in /usr/local/lib/libopencv_dnn.so.3.4.7)
==30103==    by 0x9F5222D: cv::dnn::experimental_dnn_34_v13::readNetFromCaffe(cv::String const&, cv::String const&) (in /usr/local/lib/libopencv_dnn.so.3.4.7)
[... personal stack trace removed ...]
==30103== Your program just tried to execute an instruction that Valgrind
==30103== did not recognise.  There are two possible reasons for this.
==30103== 1. Your program has a bug and erroneously jumped to a non-code
==30103==    location.  If you are running Memcheck and you just saw a
==30103==    warning about a bad jump, it's probably your program's fault.
==30103== 2. The instruction is legitimate but Valgrind doesn't handle it,
==30103==    i.e. it's Valgrind's fault.  If you think this is the case or
==30103==    you are not sure, please let us know and we'll try to fix it.
==30103== Either way, Valgrind will now raise a SIGILL signal which will
==30103== probably kill your program.
Comment 1 Mark Wielaard 2021-02-21 00:22:46 UTC
This is VCVTPH2PS there is an open bug about it, but it might already have been fixed. 3.13 is fairly old. Please retry with a newer version (3.16.1 is the latest or if you can, please test against current git trunk).

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