Bug 420834 - vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0x7D 0x8 0xEF 0xC0 0x62 0xF1 0xFD 0x28
Summary: vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0x7D 0x8 0xEF 0xC0 0x62...
Status: RESOLVED DUPLICATE of bug 383010
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: 3.15 SVN
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-01 02:13 UTC by Ayman Eltemmsahy
Modified: 2024-02-25 02:10 UTC (History)
2 users (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 Ayman Eltemmsahy 2020-05-01 02:13:10 UTC
SUMMARY

While running my application with valgrind, it crashes with SIGILL - Illegal instruction signal and the following errors. Running without valgrind does not cause any problems.

I use CRoaring lib and it fails in roaring_bitmap_or_many function.

vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0x7D 0x8 0xEF 0xC0 0x62 0xF1 0xFD 0x28
vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
==15525== valgrind: Unrecognised instruction at address 0x48e884d.
==15525==    at 0x48E884D: _mm256_setzero_si256 (avxintrin.h:1237)
==15525==    by 0x48E884D: avx2_harley_seal_popcount256 (bitset_util.h:288)
==15525==    by 0x48F8661: bitset_container_compute_cardinality (bitset.c:154)
==15525==    by 0x4909119: container_repair_after_lazy (containers.h:331)
==15525==    by 0x4912D2A: roaring_bitmap_repair_after_lazy (roaring.c:2437)
==15525==    by 0x490E1D5: roaring_bitmap_or_many (roaring.c:627)
==15525==    by 0x4AE55E: ...........................

==15525==
==15525== Process terminating with default action of signal 4 (SIGILL): dumping core
==15525==    at 0x4C635A9: raise (raise.c:46)
==15525==    by 0x4F8AEB: .......................................................
==15525==    by 0x4C6372F: ??? (in /lib/x86_64-linux-gnu/libpthread-2.28.so)
==15525==    by 0x48E884C: avx2_harley_seal_popcount256 (bitset_util.h:287)
==15525==
==15525== HEAP SUMMARY:
==15525==     in use at exit: 168,225,692 bytes in 409 blocks
==15525==   total heap usage: 18,662 allocs, 18,253 frees, 5,053,043,543 bytes allocated
==15525==
==15525== LEAK SUMMARY:
==15525==    definitely lost: 0 bytes in 0 blocks
==15525==    indirectly lost: 0 bytes in 0 blocks
==15525==      possibly lost: 0 bytes in 0 blocks
==15525==    still reachable: 168,225,692 bytes in 409 blocks
==15525==         suppressed: 0 bytes in 0 blocks
==15525== Rerun with --leak-check=full to see details of leaked memory
==15525==
==15525== For lists of detected and suppressed errors, rerun with: -s
==15525== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Illegal instruction




Linux 4.15.0-1052-aws #54-Ubuntu SMP Tue Oct 1 15:43:26 UTC 2019 x86_64 GNU/Linux
Using Valgrind-3.15.0-608cb11914-20190413
Comment 1 Tom Hughes 2020-05-01 06:12:05 UTC
That is an instruction with an EVEX prefix which is part of the AVX512 instruction support that is currently being worked on.

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