https://bugs.kde.org/show_bug.cgi?id=504301

            Bug ID: 504301
           Summary: Unrecognised instruction when load librte_eal.so with
                    rdseed
    Classification: Developer tools
           Product: valgrind
      Version First 3.25.0
       Reported In:
          Platform: Other
                OS: Other
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: ligangbin...@163.com
  Target Milestone: ---

***
If you're not sure this is actually a bug, instead post about it at
https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY
when we run  program with valgrind,we got a abort.
valgrind log:
--2416285-- REDIR: 0x20a491b0 (libc.so.6:__GI_strstr) redirected to 0x4c3b1c0
(__strstr_sse2)
--2416285-- REDIR: 0x20b152e0 (libc.so.6:__strchrnul_avx2) redirected to
0x4c3aa20 (strchrnul)
--2416285-- REDIR: 0x20a4a130 (libc.so.6:strcasestr) redirected to 0x4c3b400
(strcasestr)
--2416285-- REDIR: 0x20a61c30 (libc.so.6:__strstr_sse2_unaligned) redirected to
0x4c3b140 (strstr)
vex amd64->IR: unhandled instruction bytes: 0xF 0xC7 0xF8 0x89 0x44 0x24 0x8
0x72
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=0F
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
==2416285== valgrind: Unrecognised instruction at address 0x97f6994.
==2416285==    at 0x97F6994: rte_rand_init (in /usr/lib64/librte_eal.so.24)
==2416285==    by 0x400F779: call_init.part.0 (dl-init.c:72)
==2416285==    by 0x400F885: call_init (dl-init.c:118)
==2416285==    by 0x400F885: _dl_init (dl-init.c:119)
==2416285==    by 0x40011F9: ??? (in /usr/lib64/ld-2.31.so)
==2416285==    by 0xA: ???
==2416285==    by 0xFFF00063A: ???
==2416285==    by 0xFFF00064B: ???
==2416285==    by 0xFFF00064E: ???
==2416285==    by 0xFFF000651: ???
==2416285==    by 0xFFF00065B: ???
==2416285==    by 0xFFF00065E: ???
==2416285==    by 0xFFF000661: ???
==2416285== Your program just tried to execute an instruction that Valgrind
==2416285== did not recognise.  There are two possible reasons for this.
==2416285== 1. Your program has a bug and erroneously jumped to a non-code
==2416285==    location.  If you are running Memcheck and you just saw a
==2416285==    warning about a bad jump, it's probably your program's fault.
==2416285== 2. The instruction is legitimate but Valgrind doesn't handle it,
==2416285==    i.e. it's Valgrind's fault.  If you think this is the case or
==2416285==    you are not sure, please let us know and we'll try to fix it.
==2416285== Either way, Valgrind will now raise a SIGILL signal which will
==2416285== probably kill your program.
==2416285==
==2416285== Process terminating with default action of signal 4 (SIGILL):
dumping core
==2416285==  Illegal opcode at address 0x97F6994
==2416285==    at 0x97F6994: rte_rand_init (in /usr/lib64/librte_eal.so.24)
==2416285==    by 0x400F779: call_init.part.0 (dl-init.c:72)
==2416285==    by 0x400F885: call_init (dl-init.c:118)
==2416285==    by 0x400F885: _dl_init (dl-init.c:119)
==2416285==    by 0x40011F9: ??? (in /usr/lib64/ld-2.31.so)
==2416285==    by 0xA: ???
==2416285==    by 0xFFF00063A: ???
==2416285==    by 0xFFF00064B: ???
==2416285==    by 0xFFF00064E: ???
==2416285==    by 0xFFF000651: ???
==2416285==    by 0xFFF00065B: ???
==2416285==    by 0xFFF00065E: ???
==2416285==    by 0xFFF000661: ???
backtrace info:
(gdb) bt
#0  0x00000000097f6994 in rte_rand_init () from /lib64/librte_eal.so.24
#1  0x000000000400f77a in call_init (l=<optimized out>, argc=argc@entry=11,
argv=argv@entry=0xfff000398, env=env@entry=0xfff0003f8) at dl-init.c:72
#2  0x000000000400f886 in call_init (env=0xfff0003f8, argv=0xfff000398,
argc=11, l=<optimized out>) at dl-init.c:118
#3  _dl_init (main_map=0x422a190, argc=11, argv=0xfff000398, env=0xfff0003f8)
at dl-init.c:119
#4  0x00000000040011fa in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#5  0x000000000000000b in ?? ()
#6  0x0000000fff00063b in ?? ()
#7  0x0000000fff00064c in ?? ()
#8  0x0000000fff00064f in ?? ()
#9  0x0000000fff000652 in ?? ()
#10 0x0000000fff00065c in ?? ()
#11 0x0000000fff00065f in ?? ()
#12 0x0000000fff000662 in ?? ()
#13 0x0000000fff000665 in ?? ()
#14 0x0000000fff000668 in ?? ()
#15 0x0000000fff000684 in ?? ()
#16 0x0000000fff000687 in ?? ()
#17 0x0000000000000000 in ?? ()
(gdb) disass
Dump of assembler code for function rte_rand_init:
   0x00000000097f6990 <+0>:     sub    $0x18,%rsp
=> 0x00000000097f6994 <+4>:     rdseed %eax
   0x00000000097f6997 <+7>:     mov    %eax,0x8(%rsp)
   0x00000000097f699b <+11>:    jb     0x97f69b3 <rte_rand_init+35>
   0x00000000097f699d <+13>:    rdtsc
   0x00000000097f699f <+15>:    shl    $0x20,%rdx
   0x00000000097f69a3 <+19>:    or     %rdx,%rax
   0x00000000097f69a6 <+22>:    mov    %rax,%rdi
   0x00000000097f69a9 <+25>:    callq  0x97f4b70 <rte_srand@plt>
   0x00000000097f69ae <+30>:    add    $0x18,%rsp
   0x00000000097f69b2 <+34>:    retq
   0x00000000097f69b3 <+35>:    rdseed %eax
   0x00000000097f69b6 <+38>:    mov    %eax,0xc(%rsp)
   0x00000000097f69ba <+42>:    jae    0x97f699d <rte_rand_init+13>
   0x00000000097f69bc <+44>:    mov    %eax,%edi
   0x00000000097f69be <+46>:    mov    0x8(%rsp),%eax
   0x00000000097f69c2 <+50>:    shl    $0x20,%rdi
   0x00000000097f69c6 <+54>:    or     %rax,%rdi
   0x00000000097f69c9 <+57>:    jmp    0x97f69a9 <rte_rand_init+25>
End of assembler dump.


STEPS TO REPRODUCE
1. running program with valgrind
2. 
3. 

OBSERVED RESULT
aborted.

EXPECTED RESULT
running normal

SOFTWARE/OS VERSIONS
Windows:
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.9.2009 (Core)
Release:        7.9.2009
Codename:       Core


Linux node146 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
x86_64 x86_64 GNU/Linux

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to