Julian and John - thanks very much for your replies, I really appreciate your help.
--trace-syscalls=yes worked. I got a lot of SYSCALLs. Let me provide a little more background in case this helps shed some light on the situation. I'm running on two different machines: 1) MacBook Pro / Intel i7 / OS X 10.7.4 / Xcode 4.3.1 (which uses LLVM/CLANG) 2) iMac / Intel Core 2 Duo / OS X 10.6.8 / Xcode 3.2 (which uses GCC) I'm running valgrind-3.8.0.SVN that I built locally. I get different results on each machine. I'm running a single WebKit test via a script that invokes a test runner called DumpRenderTree. When I run on either machine without Valgrind, everything runs as expected and the test passes. When I run on the MacBook Pro (with WebKit and DumpRenderTree built using LLVM/CLANG), I see DumpRenderTree crash right before valgrind outputs anything at all (see the output at the end of this message). This concerns me. The DumpRenderTree crash could be corrupting everything that comes after it. When I run on the iMac, I do not see DumpRenderTree crash, the test appears to run and Valgrind outputs a bunch of errors, such as: Invalid read of size 8 ... Conditional jump or move depends on uninitialized value(s) ... Use of uninitialized value of size 8 ... etcŠ And ultimately the test finishes and passes. There are obviously a couple of variables here - the main two I'm looking at are the version of Mac OS X, and the version of Xcode. Xcode made a big change from 3.x to 4.x by moving from GCC to LLVM/CLANG, so that is currently my main suspect. Unfortunately, recent versions of Xcode are not supported on OS X 10.6, and vice versa. I do think I can find a version of Xcode 4.x that will run on OS X 10.6 - which should help determine if Xcode really is the problem and not the version of OS X. Is there a policy on this list about attaching files? I could attach the full output from each run, but they would be around ~200K total when zipped. Here is the first 100 lines once the test appears to have started running when executed on the MacBook Pro --- output --- Š 16:06:56.456 22660 16:06:56.456 22660 Sharding tests ... 16:06:56.456 22660 Running 1 DumpRenderTree over 1 shard 16:06:56.456 22660 Starting 1 worker ... 16:06:56.558 22660 Starting testing ... 16:06:56.558 22660 worker/0 starting 16:07:01.343 22660 looking for crash log for DumpRenderTree:22708 16:07:41.443 22660 worker/0 fast/regions/content-webkit-from-flow-parsing.html crashed, stack trace: 16:07:41.445 22660 ==22708== Memcheck, a memory error detector 16:07:41.445 22660 ==22708== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. 16:07:41.445 22660 ==22708== Using Valgrind-3.8.0.SVN and LibVEX; rerun with -h for copyright info 16:07:41.445 22660 ==22708== Command: /Users/jacobg/WebKit/WebKitBuild/Debug/DumpRenderTree - 16:07:41.445 22660 ==22708== 16:07:41.445 22660 SYSCALL[22708,1](mach: 28) mach_task_self()[sync] --> Success(0x0:0x1107) task 0x1107 16:07:41.445 22660 SYSCALL[22708,1](mdep: 3) thread_fast_set_cthread_self ( 0x7fff5fc39830 ) --> [pre-success] Success(0x0:0x60) 16:07:41.446 22660 SYSCALL[22708,1](mach: 26) mach_reply_port()[sync] --> Success(0x0:0xe07) reply port reply-0xE07 16:07:41.446 22660 SYSCALL[22708,1](unix:327) issetugid ( )[sync] --> Success(0x0:0x0) 16:07:41.446 22660 SYSCALL[22708,?](UNKNOWN: 0) syscall(unix:169, ...); please stand by... 16:07:41.446 22660 SYSCALL[22708,1](unix:169) csops ( 0, 0x0, 0x7fff5fbff7cc, 4 )[sync] --> Success(0x0:0x0) 16:07:41.446 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fc3b5b8(/usr/local/lib/valgrind/vgpreload_core-amd64-darwin.so), 0x7fff5fbfe8e0 )[sync] --> Success(0x0:0x0) 16:07:41.446 22660 SYSCALL[22708,1](unix: 5) sys_open ( 0x7fff5fc3b5b8(/usr/local/lib/valgrind/vgpreload_core-amd64-darwin.so), 0 ) --> [async] ... 16:07:41.446 22660 SYSCALL[22708,1](unix: 5) ... [async] --> Success(0x0:0x3) 16:07:41.446 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfd868, 4096, 0 ) --> [async] ... 16:07:41.446 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.446 22660 SYSCALL[22708,1](mach: 26) mach_reply_port()[sync] --> Success(0x0:0xd07) reply port reply-0xD07 16:07:41.446 22660 SYSCALL[22708,1](mach: 31) mach_vm_allocate (mach_task_self(), at 0x0, size 40960, flags 0x1) --> [async] ... 16:07:41.446 22660 SYSCALL[22708,1](mach: 31) ... [async] --> Success(0x0:0x0) allocated at 0x1000 16:07:41.447 22660 SYSCALL[22708,1](unix:197) mmap ( 0x1000, 28672, 5, 18, 3, 0 )[sync] --> Success(0x0:0x1000) 16:07:41.447 22660 SYSCALL[22708,1](unix:197) mmap ( 0x8000, 4096, 3, 18, 3, 28672 )[sync] --> Success(0x0:0x8000) 16:07:41.447 22660 SYSCALL[22708,1](unix:197) mmap ( 0x9000, 4468, 1, 18, 3, 32768 )[sync] --> Success(0x0:0x9000) 16:07:41.447 22660 SYSCALL[22708,1](unix: 6) sys_close ( 3 )[sync] --> Success(0x0:0x0) 16:07:41.447 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fc3b5f0(/usr/local/lib/valgrind/vgpreload_memcheck-amd64-darwin.so), 0x7fff5fbfe8e0 )[sync] --> Success(0x0:0x0) 16:07:41.447 22660 SYSCALL[22708,1](unix: 5) sys_open ( 0x7fff5fc3b5f0(/usr/local/lib/valgrind/vgpreload_memcheck-amd64-darwin.so), 0 ) --> [async] ... 16:07:41.447 22660 SYSCALL[22708,1](unix: 5) ... [async] --> Success(0x0:0x3) 16:07:41.447 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfd868, 4096, 0 ) --> [async] ... 16:07:41.447 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.447 22660 SYSCALL[22708,1](mach: 26) mach_reply_port()[sync] --> Success(0x0:0xc07) reply port reply-0xC07 16:07:41.447 22660 SYSCALL[22708,1](mach: 31) mach_vm_allocate (mach_task_self(), at 0x0, size 65536, flags 0x1) --> [async] ... 16:07:41.447 22660 SYSCALL[22708,1](mach: 31) ... [async] --> Success(0x0:0x0) allocated at 0xb000 16:07:41.448 22660 SYSCALL[22708,1](unix:197) mmap ( 0xb000, 45056, 5, 18, 3, 0 )[sync] --> Success(0x0:0xb000) 16:07:41.448 22660 SYSCALL[22708,1](unix:197) mmap ( 0x16000, 4096, 3, 18, 3, 45056 )[sync] --> Success(0x0:0x16000) 16:07:41.448 22660 SYSCALL[22708,1](unix:197) mmap ( 0x17000, 12940, 1, 18, 3, 49152 )[sync] --> Success(0x0:0x17000) 16:07:41.448 22660 SYSCALL[22708,1](unix: 6) sys_close ( 3 )[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fc27dd0(/), 0x7fff5fbfd2b0 )[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:220) getattrlist(0x7fff5fbff060(/Users), 0x7fff5fc356f0, 0x7fff5fbfd340, 1052, 1)[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:220) getattrlist(0x7fff5fbff060(/Users/jacobg), 0x7fff5fc356f0, 0x7fff5fbfd340, 1052, 1)[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:220) getattrlist(0x7fff5fbff060(/Users/jacobg/WebKit), 0x7fff5fc356f0, 0x7fff5fbfd340, 1052, 1)[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:220) getattrlist(0x7fff5fbff060(/Users/jacobg/WebKit/WebKitBuild), 0x7fff5fc356f0, 0x7fff5fbfd340, 1052, 1)[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:220) getattrlist(0x7fff5fbff060(/Users/jacobg/WebKit/WebKitBuild/Debug), 0x7fff5fc356f0, 0x7fff5fbfd340, 1052, 1)[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:220) getattrlist(0x7fff5fbff060(/Users/jacobg/WebKit/WebKitBuild/Debug/DumpRende rTree), 0x7fff5fc356f0, 0x7fff5fbfd340, 1052, 1)[sync] --> Success(0x0:0x0) 16:07:41.448 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfee90(/Users/jacobg/WebKit/WebKitBuild/Debug/libWebCoreTestSupport .dylib), 0x7fff5fbfed60 )[sync] --> Success(0x0:0x0) 16:07:41.449 22660 SYSCALL[22708,1](unix: 5) sys_open ( 0x7fff5fbfee90(/Users/jacobg/WebKit/WebKitBuild/Debug/libWebCoreTestSupport .dylib), 0 ) --> [async] ... 16:07:41.449 22660 SYSCALL[22708,1](unix: 5) ... [async] --> Success(0x0:0x3) 16:07:41.449 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfdce8, 4096, 0 ) --> [async] ... 16:07:41.449 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.449 22660 SYSCALL[22708,1](mach: 26) mach_reply_port()[sync] --> Success(0x0:0xb07) reply port reply-0xB07 16:07:41.449 22660 SYSCALL[22708,1](mach: 31) mach_vm_allocate (mach_task_self(), at 0x0, size 667648, flags 0x1) --> [async] ... 16:07:41.449 22660 SYSCALL[22708,1](mach: 31) ... [async] --> Success(0x0:0x0) allocated at 0x1b000 16:07:41.449 22660 SYSCALL[22708,1](unix:197) mmap ( 0x1b000, 274432, 5, 18, 3, 0 )[sync] --> Success(0x0:0x1b000) 16:07:41.449 22660 SYSCALL[22708,1](unix:197) mmap ( 0x5e000, 12288, 3, 18, 3, 274432 )[sync] --> Success(0x0:0x5e000) 16:07:41.449 22660 SYSCALL[22708,1](unix:197) mmap ( 0x61000, 380504, 1, 18, 3, 286720 )[sync] --> Success(0x0:0x61000) 16:07:41.449 22660 SYSCALL[22708,1](unix: 92) fcntl ( 3, F_RDADVISE, 0x7fff5fbfd068 )[sync] --> Success(0x0:0x0) 16:07:41.449 22660 SYSCALL[22708,1](unix: 6) sys_close ( 3 )[sync] --> Success(0x0:0x0) 16:07:41.449 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfee90(/Users/jacobg/WebKit/WebKitBuild/Debug/Carbon.framework/Vers ions/A/Carbon), 0x7fff5fbfed60 )[sync] --> Failure(0x2) 16:07:41.449 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfeea0(/Users/jacobg/WebKit/WebKitBuild/Debug/Carbon), 0x7fff5fbfed70 )[sync] --> Failure(0x2) 16:07:41.449 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x1000010f0(/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon), 0x7fff5fbfe5f0 )[sync] --> Success(0x0:0x0) 16:07:41.450 22660 SYSCALL[22708,1](unix: 5) sys_open ( 0x1000010f0(/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon), 0 ) --> [async] ... 16:07:41.450 22660 SYSCALL[22708,1](unix: 5) ... [async] --> Success(0x0:0x3) 16:07:41.450 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfd578, 4096, 0 ) --> [async] ... 16:07:41.450 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.450 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfd578, 4096, 4096 ) --> [async] ... 16:07:41.450 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.450 22660 SYSCALL[22708,1](mach: 26) mach_reply_port()[sync] --> Success(0x0:0xa0b) reply port reply-0xA0B 16:07:41.450 22660 SYSCALL[22708,1](mach: 31) mach_vm_allocate (mach_task_self(), at 0x0, size 12288, flags 0x1) --> [async] ... 16:07:41.450 22660 SYSCALL[22708,1](mach: 31) ... [async] --> Success(0x0:0x0) allocated at 0xbe000 16:07:41.450 22660 SYSCALL[22708,1](unix:197) mmap ( 0xbe000, 4096, 5, 18, 3, 4096 )[sync] --> Success(0x0:0xbe000) 16:07:41.450 22660 SYSCALL[22708,1](unix:197) mmap ( 0xbf000, 5456, 1, 18, 3, 8192 )[sync] --> Success(0x0:0xbf000) 16:07:41.450 22660 SYSCALL[22708,1](unix: 6) sys_close ( 3 )[sync] --> Success(0x0:0x0) 16:07:41.450 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfee90(/Users/jacobg/WebKit/WebKitBuild/Debug/Cocoa.framework/Versi ons/A/Cocoa), 0x7fff5fbfed60 )[sync] --> Failure(0x2) 16:07:41.450 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfeea0(/Users/jacobg/WebKit/WebKitBuild/Debug/Cocoa), 0x7fff5fbfed70 )[sync] --> Failure(0x2) 16:07:41.450 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x100001148(/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa), 0x7fff5fbfe5f0 )[sync] --> Success(0x0:0x0) 16:07:41.450 22660 SYSCALL[22708,1](unix: 5) sys_open ( 0x100001148(/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa), 0 ) --> [async] ... 16:07:41.451 22660 SYSCALL[22708,1](unix: 5) ... [async] --> Success(0x0:0x3) 16:07:41.451 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfd578, 4096, 0 ) --> [async] ... 16:07:41.451 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.451 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfd578, 4096, 4096 ) --> [async] ... 16:07:41.451 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.451 22660 SYSCALL[22708,1](mach: 26) mach_reply_port()[sync] --> Success(0x0:0x90b) reply port reply-0x90B 16:07:41.451 22660 SYSCALL[22708,1](mach: 31) mach_vm_allocate (mach_task_self(), at 0x0, size 12288, flags 0x1) --> [async] ... 16:07:41.451 22660 SYSCALL[22708,1](mach: 31) ... [async] --> Success(0x0:0x0) allocated at 0xc1000 16:07:41.451 22660 SYSCALL[22708,1](unix:197) mmap ( 0xc1000, 4096, 5, 18, 3, 4096 )[sync] --> Success(0x0:0xc1000) 16:07:41.451 22660 SYSCALL[22708,1](unix:197) mmap ( 0xc2000, 5504, 1, 18, 3, 8192 )[sync] --> Success(0x0:0xc2000) 16:07:41.451 22660 SYSCALL[22708,1](unix: 6) sys_close ( 3 )[sync] --> Success(0x0:0x0) 16:07:41.451 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfee80(/Users/jacobg/WebKit/WebKitBuild/Debug/JavaScriptCore.framew ork/Versions/A/JavaScriptCore), 0x7fff5fbfed50 )[sync] --> Success(0x0:0x0) 16:07:41.451 22660 SYSCALL[22708,1](unix: 5) sys_open ( 0x7fff5fbfee80(/Users/jacobg/WebKit/WebKitBuild/Debug/JavaScriptCore.framew ork/Versions/A/JavaScriptCore), 0 ) --> [async] ... 16:07:41.451 22660 SYSCALL[22708,1](unix: 5) ... [async] --> Success(0x0:0x3) 16:07:41.451 22660 SYSCALL[22708,1](unix:153) sys_pread64 ( 3, 0x7fff5fbfdcd8, 4096, 0 ) --> [async] ... 16:07:41.452 22660 SYSCALL[22708,1](unix:153) ... [async] --> Success(0x0:0x1000) 16:07:41.452 22660 SYSCALL[22708,1](mach: 26) mach_reply_port()[sync] --> Success(0x0:0x80b) reply port reply-0x80B 16:07:41.452 22660 SYSCALL[22708,1](mach: 31) mach_vm_allocate (mach_task_self(), at 0x0, size 13443072, flags 0x1) --> [async] ... 16:07:41.452 22660 SYSCALL[22708,1](mach: 31) ... [async] --> Success(0x0:0x0) allocated at 0xc4000 16:07:41.452 22660 SYSCALL[22708,1](unix:197) mmap ( 0xc4000, 6172672, 5, 18, 3, 0 )[sync] --> Success(0x0:0xc4000) 16:07:41.452 22660 SYSCALL[22708,1](unix:197) mmap ( 0x6a7000, 90112, 3, 18, 3, 6172672 )[sync] --> Success(0x0:0x6a7000) 16:07:41.452 22660 SYSCALL[22708,1](unix:197) mmap ( 0x6be000, 7173056, 1, 18, 3, 6262784 )[sync] --> Success(0x0:0x6be000) 16:07:41.452 22660 SYSCALL[22708,1](unix: 92) fcntl ( 3, F_RDADVISE, 0x7fff5fbfcb08 )[sync] --> Success(0x0:0x0) 16:07:41.452 22660 SYSCALL[22708,1](unix: 6) sys_close ( 3 )[sync] --> Success(0x0:0x0) 16:07:41.452 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfee90(/Users/jacobg/WebKit/WebKitBuild/Debug/OpenGL.framework/Vers ions/A/OpenGL), 0x7fff5fbfed60 )[sync] --> Failure(0x2) 16:07:41.452 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x7fff5fbfeea0(/Users/jacobg/WebKit/WebKitBuild/Debug/OpenGL), 0x7fff5fbfed70 )[sync] --> Failure(0x2) 16:07:41.452 22660 SYSCALL[22708,1](unix:338) stat64 ( 0x100001208(/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL), 0x7fff5fbfe5f0 )[sync] --> Success(0x0:0x0) 16:07:41.452 22660 SYSCALL[22708,1](unix: 5) sys_open ( 0x100001208(/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL), 0 ) --> [async] ... [thousands of additional SYSCALL messages follow] On 7/12/12 3:00 PM, "Julian Seward" <jsew...@acm.org> wrote: > >This doesn't really help you, but ... > >> 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 > >0F 0B is the official Intel undefined instruction, so V is correct to >whack your app on the head with SIGILL at this point. The messages >are admittedly confusing though. > >Why the program SIGILLd though, I don't know. One important question is: > >> UNKNOWN __pthread_sigmask is unsupported. This warning will not be >> repeated. > >Does that also get reported for the XCode 3.x built version, or only >w/ XCode 4? > >J ------------------------------------------------------------------------------ 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 Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users