unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A

Rak-2
valgrind crashes with following output on x86_64

$uname -a
Linux xeon 2.4.21-15.EL #1 SMP Thu Apr 22 00:09:47 EDT 2004 x86_64 x86_64 x86_64
GNU/Linux
$valgrind --version
valgrind-3.0.0.SVN

$valgrind ./pro
==326== Memcheck, a memory error detector.
==326== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==326== Using LibVEX rev 1208, a library for dynamic binary translation.
==326== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==326== Using valgrind-3.0.0.SVN, a dynamic binary instrumentation framework.
==326== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== For more details, rerun with: -v
==326==
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
==326== Warning: zero-sized CIE/FDE but not at section end in DWARF2 CFI reading
vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A
==326==
==326== Process terminating with default action of signal 4 (SIGILL)
==326==  Illegal opcode at address 0x2E16ED5
==326==    at 0x2E16ED5: _gettabsize (in /working/prep/pro)
==326==    by 0x2E16BFC: _getfile (in /working/prep/pro)
==326==    by 0x2E1358D: _f_open3 (in /working/prep/pro)
==326==    by 0x2E04C5F: _OPEN (in /working/prep/pro)
==326==    by 0x57AAE6: rdparm_ (pro_main.f:1332)
==326==    by 0x57368A: pro_mem_ (pro_main.f:627)
==326==    by 0x5733FD: main (pro_main0.cpp:45)
==326==
==326== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 8 from 5)
==326== malloc/free: in use at exit: 0 bytes in 0 blocks.
==326== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==326== For counts of detected errors, rerun with: -v
==326== No malloc'd blocks -- no leaks are possible.
Illegal instruction


$valgrind --trace-flags=10000000 ./pro
------------------------ Front end ------------------------

        0x2E16ED0:  movl $8,%eax

              ------ IMark(0x2E16ED0, 5) ------
              PUT(0) = 32Uto64(0x8:I32)

        0x2E16ED5:  vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A
              ------ IMark(0x2E16ED5, 0) ------
              PUT(168) = 0x2E16ED5:I64
              PUT(168) = 0x2E16ED5:I64
              goto {NoDecode} 0x2E16ED5:I64

. 0 2E16ED0 5
. B8 08 00 00 00





-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Reply | Threaded
Open this post in threaded view
|

Re: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A

Julian Seward-2

> vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A

> ==326==
> ==326== Process terminating with default action of signal 4 (SIGILL)
> ==326==  Illegal opcode at address 0x2E16ED5
> ==326==    at 0x2E16ED5: _gettabsize (in /working/prep/pro)
> ==326==    by 0x2E16BFC: _getfile (in /working/prep/pro)
> ==326==    by 0x2E1358D: _f_open3 (in /working/prep/pro)
> ==326==    by 0x2E04C5F: _OPEN (in /working/prep/pro)
> ==326==    by 0x57AAE6: rdparm_ (pro_main.f:1332)
> ==326==    by 0x57368A: pro_mem_ (pro_main.f:627)
> ==326==    by 0x5733FD: main (pro_main0.cpp:45)

Could you get me a disassembly of the relevant part of _gettabsize
(objdump -d /working/prep/pro | less, look for _gettabsize) so I
can see the instruction in context?  It's going to be something
along the lines of mov{w,l,q} %rax, (literal-address).

J


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Reply | Threaded
Open this post in threaded view
|

Re: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A

Rak-2
 Julian Seward <jseward <at> acm.org> writes:

>
>
> > vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A
>
> > ==326==
> > ==326== Process terminating with default action of signal 4 (SIGILL)
> > ==326==  Illegal opcode at address 0x2E16ED5
> > ==326==    at 0x2E16ED5: _gettabsize (in /working/prep/pro)
> > ==326==    by 0x2E16BFC: _getfile (in /working/prep/pro)
> > ==326==    by 0x2E1358D: _f_open3 (in /working/prep/pro)
> > ==326==    by 0x2E04C5F: _OPEN (in /working/prep/pro)
> > ==326==    by 0x57AAE6: rdparm_ (pro_main.f:1332)
> > ==326==    by 0x57368A: pro_mem_ (pro_main.f:627)
> > ==326==    by 0x5733FD: main (pro_main0.cpp:45)
>
> Could you get me a disassembly of the relevant part of _gettabsize
> (objdump -d /working/prep/pro | less, look for _gettabsize) so I
> can see the instruction in context?  It's going to be something
> along the lines of mov{w,l,q} %rax, (literal-address).
>
> J
>
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
>


2e16ed5:       a3 4c a4 2a 04 00 00    mov    %eax,0x42aa44c

0000000002e16ea0 <_gettabsize>:
 2e16ea0:       53                      push   %rbx
 2e16ea1:       48 bb 4c a4 2a 04 00    mov    $0x42aa44c,%rbx
 2e16ea8:       00 00 00
 2e16eab:       83 3b ff                cmpl   $0xffffffffffffffff,(%rbx)
 2e16eae:       75 2e                   jne    2e16ede <_gettabsize+0x3e>
 2e16eb0:       48 bf 28 89 a2 03 00    mov    $0x3a28928,%rdi
 2e16eb7:       00 00 00
 2e16eba:       e8 d9 a0 75 fd          callq  570f98 <_init+0x8d8>
 2e16ebf:       48 85 c0                test   %rax,%rax
 2e16ec2:       74 0c                   je     2e16ed0 <_gettabsize+0x30>
 2e16ec4:       48 89 c7                mov    %rax,%rdi
 2e16ec7:       e8 d8 ed ff ff          callq  2e15ca4 <_cvtai>
 2e16ecc:       89 03                   mov    %eax,(%rbx)
 2e16ece:       eb 0e                   jmp    2e16ede <_gettabsize+0x3e>
 2e16ed0:       b8 08 00 00 00          mov    $0x8,%eax
 2e16ed5:       a3 4c a4 2a 04 00 00    mov    %eax,0x42aa44c
 2e16edc:       00 00
 2e16ede:       a1 4c a4 2a 04 00 00    mov    0x42aa44c,%eax
 2e16ee5:       00 00
 2e16ee7:       48 98                   cltq
 2e16ee9:       5b                      pop    %rbx
 2e16eea:       c3                      retq

Thanks,
Rak




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users
Reply | Threaded
Open this post in threaded view
|

Re: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A

Rak-2
In reply to this post by Julian Seward-2
Julian Seward <jseward <at> acm.org> writes:

>
>
> > vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0xA4 0x2A
>
> > ==326==
> > ==326== Process terminating with default action of signal 4 (SIGILL)
> > ==326==  Illegal opcode at address 0x2E16ED5
> > ==326==    at 0x2E16ED5: _gettabsize (in /working/prep/pro)
> > ==326==    by 0x2E16BFC: _getfile (in /working/prep/pro)
> > ==326==    by 0x2E1358D: _f_open3 (in /working/prep/pro)
> > ==326==    by 0x2E04C5F: _OPEN (in /working/prep/pro)
> > ==326==    by 0x57AAE6: rdparm_ (pro_main.f:1332)
> > ==326==    by 0x57368A: pro_mem_ (pro_main.f:627)
> > ==326==    by 0x5733FD: main (pro_main0.cpp:45)
>
> Could you get me a disassembly of the relevant part of _gettabsize
> (objdump -d /working/prep/pro | less, look for _gettabsize) so I
> can see the instruction in context?  It's going to be something
> along the lines of mov{w,l,q} %rax, (literal-address).
>
> J
>
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
>
Hi J,
 After a slight modification and recompile to my programme, valgrind crashes saying
==2653== Memcheck, a memory error detector.
==2653== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==2653== Using LibVEX rev 1218, a library for dynamic binary translation.
==2653== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==2653== Using valgrind-3.0.0.SVN, a dynamic binary instrumentation framework.
==2653== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
..
vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0x42 0x2B
==2653== Process terminating with default action of signal 4 (SIGILL)
==2653==  Illegal opcode at address 0x2E1FCD5
.
.

%objdump -d /working/prep/pro
.
.

 2e1fcd5:       a3 4c 42 2b 04 00 00    mov    %eax,0x42b424c
.
.

Hope this helps,
Rak






-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Valgrind-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-users