|
From: Vivek S. <s.v...@gm...> - 2014-02-04 11:03:43
|
Hi All, This is my first post at Valgrind. I am using valgrind memory check against a C++ client appliction build using CEF and Qt. I have build my client applicaiton using -O0 -O1 -g compiler flags. But the external libraries that I use, are not built using these flags. Below is the output I get stating "unhandled instruction". Is this because of depending on libraries that are not build with the above flags? Can you please suggest some pointers on going around with this error. --31825-- /System/Library/PrivateFrameworks/AppleScript.framework/Versions/A/AppleScript (rx at 0x15802000, rw at 0x15896000) --31825-- reading syms from primary file (4 1771) --31825-- /System/Library/Components/AppleScript.component/Contents/MacOS/AppleScript (rx at 0x100a0000, rw at 0x100a1000) --31825-- reading syms from primary file (3 1) vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x3A 0xDF ==31825== valgrind: Unrecognised instruction at address 0x803ce41. ==31825== at 0x803CE41: aes_encrypt_key_hw (in /usr/lib/system/libcommonCrypto.dylib) ==31825== by 0x803AC0B: aesedp_setup (in /usr/lib/system/libcommonCrypto.dylib) ==31825== by 0x8034F52: cbc_start (in /usr/lib/system/libcommonCrypto.dylib) ==31825== by 0x8037811: CCCryptorCreateFromDataWithMode (in /usr/lib/system/libcommonCrypto.dylib) ==31825== by 0x80379BA: CCCryptorCreateFromData (in /usr/lib/system/libcommonCrypto.dylib) ==31825== by 0x8037116: CCCryptorCreate (in /usr/lib/system/libcommonCrypto.dylib) ==31825== by 0x8038011: CCCrypt (in /usr/lib/system/libcommonCrypto.dylib) ==31825== by 0x4B13ED1: ??? (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit) ==31825== by 0x4B13D9C: ??? (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit) ==31825== by 0x4B13B0C: ??? (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit) ==31825== by 0x4AE4CDC: ??? (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit) ==31825== by 0x4AE4A59: ??? (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit) ==31825== Your program just tried to execute an instruction that Valgrind ==31825== did not recognise. There are two possible reasons for this. ==31825== 1. Your program has a bug and erroneously jumped to a non-code ==31825== location. If you are running Memcheck and you just saw a ==31825== warning about a bad jump, it's probably your program's fault. ==31825== 2. The instruction is legitimate but Valgrind doesn't handle it, ==31825== i.e. it's Valgrind's fault. If you think this is the case or ==31825== you are not sure, please let us know and we'll try to fix it. ==31825== Either way, Valgrind will now raise a SIGILL signal which will ==31825== probably kill your program. ==31825== -- Thanks in Advance! Vivek.S |
|
From: Tom H. <to...@co...> - 2014-02-04 11:35:40
|
On 04/02/14 11:03, Vivek Sundararajan wrote: > Below is the output I get stating "unhandled instruction". > Is this because of depending on libraries that are not build with the > above flags? It's the AESKEYGENASSIST instruction which, like most of the more recent instructions, is only supported in 64 bit mode at the moment and you are trying to use it in 32 bit code. In https://bugs.kde.org/show_bug.cgi?id=296577 Julian commented: > This is AESKEYGENASSIST, which is supported in 64 bit mode but not 32 > bit. Realistically I don't think it will get supported in 32 bit mode > -- that doesn't support anything after SSSE3. Can you develop in 64 > bit mode instead? The main support emphasis now is x86_64 (64 bit) > and ARM; x86 (32 bit) is more-or-less "legacy". Note that the bug I reference above is a bit confused because somebody raised it about one instruction and then somebody else added a comment about a different instruction. Tom -- Tom Hughes (to...@co...) http://compton.nu/ |
|
From: Vivek S. <s.v...@gm...> - 2014-02-06 09:56:48
|
Thanks for the reply Tom! To clarify: Valgrind has to be built in 64 bit mode before running against my app to profile it? On 4 February 2014 17:05, Tom Hughes <to...@co...> wrote: > On 04/02/14 11:03, Vivek Sundararajan wrote: > > Below is the output I get stating "unhandled instruction". >> Is this because of depending on libraries that are not build with the >> above flags? >> > > It's the AESKEYGENASSIST instruction which, like most of the more recent > instructions, is only supported in 64 bit mode at the moment and you are > trying to use it in 32 bit code. > > In https://bugs.kde.org/show_bug.cgi?id=296577 Julian commented: > > > This is AESKEYGENASSIST, which is supported in 64 bit mode but not 32 > > bit. Realistically I don't think it will get supported in 32 bit mode > > -- that doesn't support anything after SSSE3. Can you develop in 64 > > bit mode instead? The main support emphasis now is x86_64 (64 bit) > > and ARM; x86 (32 bit) is more-or-less "legacy". > > Note that the bug I reference above is a bit confused because somebody > raised it about one instruction and then somebody else added a comment > about a different instruction. > > Tom > > -- > Tom Hughes (to...@co...) > http://compton.nu/ > -- Regards, Vivek.S |
|
From: Tom H. <to...@co...> - 2014-02-06 09:59:04
|
On 06/02/14 09:56, Vivek Sundararajan wrote: > Thanks for the reply Tom! > > To clarify: Valgrind has to be built in 64 bit mode before running > against my app to profile it? Well you will need a 64 bit valgrid to work with 64 bit programs yes bit valgrind normally builds both 32 and 64 bit support unless you tell it not to. The first thing though is to build the program you are trying to run valgrind on as a 64 bit program. Tom > > > On 4 February 2014 17:05, Tom Hughes <to...@co... > <mailto:to...@co...>> wrote: > > On 04/02/14 11:03, Vivek Sundararajan wrote: > > Below is the output I get stating "unhandled instruction". > Is this because of depending on libraries that are not build > with the > above flags? > > > It's the AESKEYGENASSIST instruction which, like most of the more > recent instructions, is only supported in 64 bit mode at the moment > and you are trying to use it in 32 bit code. > > In https://bugs.kde.org/show_bug.__cgi?id=296577 > <https://bugs.kde.org/show_bug.cgi?id=296577> Julian commented: > > > This is AESKEYGENASSIST, which is supported in 64 bit mode but not 32 > > bit. Realistically I don't think it will get supported in 32 bit mode > > -- that doesn't support anything after SSSE3. Can you develop in 64 > > bit mode instead? The main support emphasis now is x86_64 (64 bit) > > and ARM; x86 (32 bit) is more-or-less "legacy". > > Note that the bug I reference above is a bit confused because > somebody raised it about one instruction and then somebody else > added a comment about a different instruction. > > Tom > > -- > Tom Hughes (to...@co... <mailto:to...@co...>) > http://compton.nu/ > > > > > -- > Regards, > Vivek.S -- Tom Hughes (to...@co...) http://compton.nu/ |