Hello,

I have been attempting to build and run WebKit LayoutTests under Valgrind, 
without much success.  WebKit is being built with Xcode.  It works as expected 
with Xcode 3.x, which uses GCC, but not with Xcode 4.x, which uses CLANG.  A 
simple program works fine with each, but when I build WebKit itself, I get a 
crash anytime it is built with CLANG (while everything else is identical).

Does anyone have an idea what could be causing this?

This may or may not be related, but my primary build arch, as reported by 
configure, appears to be incorrect:

      Maximum build arch: amd64
      Primary build arch: amd64
      Secondary build arch: x86
      Build OS: darwin
      Primary build target: AMD64_DARWIN
      Secondary build target: X86_DARWIN
      Platform variant: vanilla
      Primary -DVGPV string: -DVGPV_amd64_darwin_vanilla=1
      Default supp files: exp-sgcheck.supp xfree-3.supp xfree-4.supp 
darwin10-drd.supp darwin11.supp

I'm running on a MacBook Pro with an Intel i7 CPU, so I'm not sure why the 
primary build arch is amd64.

The crash when running a WebKit test under Valgrind looks like the following 
(some output has been removed):

---- Output -----
==21326== Memcheck, a memory error detector
==21326== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==21326== Using Valgrind-3.8.0.SVN and LibVEX; rerun with -h for copyright info
==21326== Command: /Users/jacobg/WebKit/WebKitBuild/Debug/DumpRenderTree -
==21326==

UNKNOWN __pthread_sigmask is unsupported. This warning will not be repeated.
vex amd64->IR: unhandled instruction bytes: 0xF 0xB 0x55 0x48 0x89 0xE5 0x41 
0x56
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
==21326== valgrind: Unrecognised instruction at address 0x9167b8c.
==21326==    at 0x9167B8C: __abort (in /usr/lib/system/libsystem_c.dylib)
==21326==    by 0x9167AAA: abort (in /usr/lib/system/libsystem_c.dylib)

…

==21326== Your program just tried to execute an instruction that Valgrind
==21326== did not recognise.  There are two possible reasons for this.
==21326== 1. Your program has a bug and erroneously jumped to a non-code
==21326==    location.  If you are running Memcheck and you just saw a
==21326==    warning about a bad jump, it's probably your program's fault.
==21326== 2. The instruction is legitimate but Valgrind doesn't handle it,
==21326==    i.e. it's Valgrind's fault.  If you think this is the case or
==21326==    you are not sure, please let us know and we'll try to fix it.
==21326== Either way, Valgrind will now raise a SIGILL signal which will
==21326== probably kill your program.
==21326==
==21326== Process terminating with default action of signal 4 (SIGILL)
==21326==  Illegal opcode at address 0x9167B8C

…
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to