|
From: rak <ra...@ho...> - 2005-06-15 18:16:17
|
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
|
|
From: Julian S. <js...@ac...> - 2005-06-15 18:33:35
|
> 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
|
|
From: rak <ra...@ho...> - 2005-06-16 16:51:44
|
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 |
|
From: rak <ra...@ho...> - 2005-06-23 18:17:55
|
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 |