You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
(25) |
2
(13) |
3
(3) |
|
4
|
5
(5) |
6
(12) |
7
(5) |
8
(16) |
9
(3) |
10
|
|
11
|
12
|
13
(4) |
14
(1) |
15
(2) |
16
(6) |
17
|
|
18
|
19
(1) |
20
(2) |
21
(10) |
22
(9) |
23
(8) |
24
(5) |
|
25
|
26
(6) |
27
(8) |
28
(8) |
29
(23) |
30
(12) |
31
(6) |
|
From: Bart V. A. <bva...@ac...> - 2010-07-16 07:58:30
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-07-16 02:28:25 EDT Ended at 2010-07-16 03:58:14 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 462 tests, 44 stderr failures, 12 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) callgrind/tests/simwork-both (stdout) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-branch (stdout) callgrind/tests/simwork-branch (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Rich C. <rc...@wi...> - 2010-07-16 04:17:24
|
Nightly build on macbook ( Darwin 9.8.0 i386 ) Started at 2010-07-15 23:05:01 CDT Ended at 2010-07-15 23:17:13 CDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo Making check in . make addressable atomic_incs badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk2 buflen_check calloc-overflow clientperm custom_alloc custom-overlap deep_templates describe-block doublefree error_counts errs1 exitprog execve execve2 erringfds file_locking fprw fwrite inits inline leak-0 leak-cases leak-cycle leak-pool leak-tree linux-syslog-syscall linux-syscalls-2007 long_namespace_xml long-supps mallinfo malloc_free_fill malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign_test memalign2 memcmptest mempool mmaptest mismatches new_override metadata nanoleak_supp nanoleak2 new_nothrow noisy_child null_socket origin1-yes origin2-not-quite origin3-no origin4-many origin5-bz2 origin6-fp overlap partiallydefinedeq partial_load pdb-realloc pdb-realloc2 pipe pointer-trace post-syscall realloc1 realloc2 realloc3 sh-mem sh-mem-random sigaltstack signal2 sigprocmask sigkill strchr str_tester supp_unknown supp1 supp2 suppfree trivialleak un it_libcbase unit_oset varinfo1 varinfo2 varinfo3 varinfo4 varinfo5 varinfo5so.so varinfo6 vcpu_fbench vcpu_fnfns xml1 wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 writev gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT addressable.o -MD -MP -MF .deps/addressable.Tpo -c -o addressable.o addressable.c mv -f .deps/addressable.Tpo .deps/addressable.Po gcc -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o addressable addressable.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -mdynamic-no-pic -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT atomic_incs-atomic_incs.o -MD -MP -MF .deps/atomic_incs-atomic_incs.Tpo -c -o atomic_incs-atomic_incs.o `test -f 'atomic_incs.c' || echo './'`atomic_incs.c atomic_incs.c: In function 'atomic_add_8bit': atomic_incs.c:37: error: PIC register 'rbx' clobbered in 'asm' atomic_incs.c: In function 'atomic_add_16bit': atomic_incs.c:101: error: PIC register 'rbx' clobbered in 'asm' atomic_incs.c: In function 'atomic_add_32bit': atomic_incs.c:164: error: PIC register 'rbx' clobbered in 'asm' atomic_incs.c: In function 'atomic_add_64bit': atomic_incs.c:219: error: PIC register 'rbx' clobbered in 'asm' make[5]: *** [atomic_incs-atomic_incs.o] Error 1 make[4]: *** [check-am] Error 2 make[3]: *** [check-recursive] Error 1 make[2]: *** [check-recursive] Error 1 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 Congratulations, all tests passed! |
|
From: Tom H. <th...@cy...> - 2010-07-16 02:55:10
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2010-07-16 03:05:13 BST Ended at 2010-07-16 03:54:55 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 546 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2010-07-16 02:38:48
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-07-16 03:10:07 BST Ended at 2010-07-16 03:38:32 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 553 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2010-07-15 15:09:47
|
Author: sewardj Date: 2010-07-15 16:09:38 +0100 (Thu, 15 Jul 2010) New Revision: 11214 Log: Include unified_annotations.h in the tarball. Modified: trunk/drd/tests/Makefile.am Modified: trunk/drd/tests/Makefile.am =================================================================== --- trunk/drd/tests/Makefile.am 2010-07-15 13:05:42 UTC (rev 11213) +++ trunk/drd/tests/Makefile.am 2010-07-15 15:09:38 UTC (rev 11214) @@ -11,7 +11,8 @@ supported_sem_init noinst_HEADERS = \ - tsan_thread_wrappers_pthread.h + tsan_thread_wrappers_pthread.h \ + unified_annotations.h EXTRA_DIST = \ annotate_barrier.stderr.exp \ |
|
From: <sv...@va...> - 2010-07-15 13:05:54
|
Author: sewardj Date: 2010-07-15 14:05:42 +0100 (Thu, 15 Jul 2010) New Revision: 11213 Log: Try to fix 'make dist' -- possible fallout from r11188. Modified: trunk/memcheck/tests/amd64-linux/Makefile.am trunk/memcheck/tests/amd64/Makefile.am Modified: trunk/memcheck/tests/amd64/Makefile.am =================================================================== --- trunk/memcheck/tests/amd64/Makefile.am 2010-07-07 18:51:59 UTC (rev 11212) +++ trunk/memcheck/tests/amd64/Makefile.am 2010-07-15 13:05:42 UTC (rev 11213) @@ -13,7 +13,6 @@ bt_everything.vgtest \ bug132146.vgtest bug132146.stderr.exp bug132146.stdout.exp \ fxsave-amd64.vgtest fxsave-amd64.stdout.exp fxsave-amd64.stderr.exp \ - int3-amd64.vgtest int3-amd64.stdout.exp int3-amd64.stderr.exp \ more_x87_fp.stderr.exp more_x87_fp.stdout.exp more_x87_fp.vgtest \ sse_memory.stderr.exp sse_memory.stdout.exp sse_memory.vgtest \ xor-undef-amd64.stderr.exp xor-undef-amd64.stdout.exp \ Modified: trunk/memcheck/tests/amd64-linux/Makefile.am =================================================================== --- trunk/memcheck/tests/amd64-linux/Makefile.am 2010-07-07 18:51:59 UTC (rev 11212) +++ trunk/memcheck/tests/amd64-linux/Makefile.am 2010-07-15 13:05:42 UTC (rev 11213) @@ -6,7 +6,7 @@ EXTRA_DIST = \ defcfaexpr.vgtest defcfaexpr.stderr.exp \ - int3-x86.vgtest int3-x86.stderr.exp int3-x86.stdout.exp + int3-amd64.vgtest int3-amd64.stderr.exp int3-amd64.stdout.exp check_PROGRAMS = \ defcfaexpr \ |
|
From: Konstantin S. <kon...@gm...> - 2010-07-14 12:29:28
|
FYI:
I've constructed a test case which produces a false report with all
three tools.
The test case uses shared_ptr from the soon-to-become C++ standard
(I've built it with the fresh gcc trunk).
With the annotations which we are discussing with libstdc++ folks
these reports should be gone.
--kcc
% cat shared_ptr_test.cc
//#define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(a) ANNOTATE_HAPPENS_BEFORE(a)
//#define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(a) ANNOTATE_HAPPENS_AFTER(a)
//#include "dynamic_annotations.h"
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <assert.h>
#include <memory>
using namespace std;
class Foo {
public:
Foo() : a_(777) { }
~Foo() {
a_ = 0xDEAD;
}
void Check() {
assert(a_ == 777);
}
private:
int a_;
};
shared_ptr<Foo> *s;
pthread_mutex_t mu;
pthread_cond_t cv;
int done = 0;
void *Thread(void*) {
shared_ptr<Foo> x(*s);
pthread_mutex_lock(&mu);
done++;
pthread_cond_signal(&cv);
pthread_mutex_unlock(&mu);
x->Check();
// x is destructed
}
const int kNThreads = 3;
int main() {
s = new shared_ptr<Foo>(new Foo);
pthread_t t[kNThreads];
pthread_mutex_init(&mu, 0);
pthread_cond_init(&cv, 0);
// start threads.
for (int i = 0; i < kNThreads; i++) {
pthread_create(&t[i], 0, Thread, 0);
}
// wait for threads to copy 's', but don't wait for threads to exit.
pthread_mutex_lock(&mu);
while (done != kNThreads)
pthread_cond_wait(&cv, &mu);
pthread_mutex_unlock(&mu);
delete s;
}
% g++ -g -std=c++0x -pthread shared_ptr_test.cc && echo
-----Helgrind---------; ~/valgrind/trunk/inst/bin/valgrind
--tool=helgrind ./a.out && echo --------------DRD----------- &&
~/valgrind/trunk/inst/bin/valgrind --tool=drd ./a.out
-----Helgrind---------
==7788== Helgrind, a thread error detector
==7788== Copyright (C) 2007-2009, and GNU GPL'd, by OpenWorks LLP et al.
==7788== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info
==7788== Command: ./a.out
==7788==
==7788== Thread #1 is the program's root thread
==7788==
==7788== Thread #4 was created
==7788== at 0x58E06BE: clone (clone.S:77)
==7788== by 0x55E4172: pthread_create@@GLIBC_2.2.5 (createthread.c:75)
==7788== by 0x4C2C210: pthread_create_WRK (hg_intercepts.c:241)
==7788== by 0x4C2C2B9: pthread_create@* (hg_intercepts.c:268)
==7788== by 0x400E28: main (shared_ptr_test.cc:52)
==7788==
==7788== Possible data race during write of size 4 at 0x5b7d040 by thread #1
==7788== at 0x400ECE: Foo::~Foo() (shared_ptr_test.cc:16)
==7788== by 0x4013B7: std::_Sp_counted_ptr<Foo*,
(__gnu_cxx::_Lock_policy)2>::_M_dispose() (in /tmp/z/a.out)
==7788== by 0x401047:
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()
(boost_sp_counted_base.h:146)
==7788== by 0x400F8E:
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count()
(shared_ptr_base.h:353)
==7788== by 0x400F25: std::__shared_ptr<Foo,
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:553)
==7788== by 0x400F3F: std::shared_ptr<Foo>::~shared_ptr() (shared_ptr.h:91)
==7788== by 0x400E80: main (shared_ptr_test.cc:59)
==7788== This conflicts with a previous read of size 4 by thread #4
==7788== at 0x400EE6: Foo::Check() (shared_ptr_test.cc:19)
==7788== by 0x400D89: Thread(void*) (shared_ptr_test.cc:39)
==7788== by 0x4C2C342: mythread_wrapper (hg_intercepts.c:213)
==7788== by 0x55E39C9: start_thread (pthread_create.c:300)
==7788== by 0x58E06FC: clone (clone.S:112)
==7788== Address 0x5b7d040 is 0 bytes inside a block of size 4 alloc'd
==7788== at 0x4C27ED5: operator new(unsigned long) (vg_replace_malloc.c:261)
==7788== by 0x400DAC: main (shared_ptr_test.cc:46)
==7788==
==7788==
==7788== For counts of detected and suppressed errors, rerun with: -v
==7788== Use --history-level=approx or =none to gain increased speed, at
==7788== the cost of reduced accuracy of conflicting-access information
==7788== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 24 from 15)
--------------DRD-----------
==7792== drd, a thread error detector
==7792== Copyright (C) 2006-2009, and GNU GPL'd, by Bart Van Assche.
==7792== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info
==7792== Command: ./a.out
==7792==
==7792== Conflicting store by thread 1 at 0x05b86030 size 4
==7792== at 0x400ECE: Foo::~Foo() (shared_ptr_test.cc:16)
==7792== by 0x4013B7: std::_Sp_counted_ptr<Foo*,
(__gnu_cxx::_Lock_policy)2>::_M_dispose() (in /tmp/z/a.out)
==7792== by 0x401047:
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()
(boost_sp_counted_base.h:146)
==7792== by 0x400F8E:
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count()
(shared_ptr_base.h:353)
==7792== by 0x400F25: std::__shared_ptr<Foo,
(__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:553)
==7792== by 0x400F3F: std::shared_ptr<Foo>::~shared_ptr() (shared_ptr.h:91)
==7792== by 0x400E80: main (shared_ptr_test.cc:59)
==7792== Address 0x5b86030 is at offset 0 from 0x5b86030. Allocation context:
==7792== at 0x4C29A05: operator new(unsigned long) (vg_replace_malloc.c:261)
==7792== by 0x400DAC: main (shared_ptr_test.cc:46)
==7792== Other segment start (thread 2)
==7792== (thread finished, call stack no longer available)
==7792== Other segment end (thread 2)
==7792== (thread finished, call stack no longer available)
==7792== Other segment start (thread 3)
==7792== (thread finished, call stack no longer available)
==7792== Other segment end (thread 3)
==7792== (thread finished, call stack no longer available)
==7792== Other segment start (thread 4)
==7792== at 0x4C2BD19: pthread_mutex_unlock (drd_pthread_intercepts.c:633)
==7792== by 0x400D75: Thread(void*) (shared_ptr_test.cc:37)
==7792== by 0x4C344C4: vgDrd_thread_wrapper (drd_pthread_intercepts.c:272)
==7792== by 0x55EC9C9: start_thread (pthread_create.c:300)
==7792== by 0x58E96FC: clone (clone.S:112)
==7792== Other segment end (thread 4)
==7792== at 0x58E5AE7: madvise (syscall-template.S:82)
==7792==
==7792==
==7792== For counts of detected and suppressed errors, rerun with: -v
==7792== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 16 from 15)
On Fri, Jul 9, 2010 at 3:48 PM, Konstantin Serebryany
<kon...@gm...> wrote:
> Sent a message to libstdc++ folks:
> http://gcc.gnu.org/ml/libstdc++/2010-07/msg00029.html
>
> --kcc
>
> On Thu, Jul 8, 2010 at 7:08 PM, Bart Van Assche <bva...@ac...> wrote:
>> On Thu, Jul 8, 2010 at 12:49 PM, Konstantin Serebryany
>> <kon...@gm...> wrote:
>>> I changed the code which I want to suggest to libstdc++:
>>> http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting#Proposal_to_libstdc++_developers
>>> This will allow to use any kind of annotations (including Intel
>>> Parallel Inspector's itt_notify_sync_releasing /
>>> itt_notify_sync_acquired).
>>> Please have another look.
>>
>> A few minor comments: in the text cited below, please add the word
>> "otherwise" at the beginning of the second line, replace "other" by
>> "else" and "reference counter" by "reference counters".
>>
>> // Do not use this function for anything other than decrementing
>> reference counter --
>> // this will confuse race detectors and will make them more
>> conservative and slow.
>>
>> Bart.
>>
>
|
|
From: Bert W. <ber...@go...> - 2010-07-13 16:39:36
|
Hi all, I needed a new client request for the MEMPOOL system, so that I can drop any chunks in a specified range. I use this in a custom allocator, which handles pages out and they can be freed at once, without knowing how man requests this page currently has. The current implementation of VALGRIND_MEMPOOL_DROP() does remove any chunks which intersects with the range, not only chunks which are entirely inside the range and it wont split up partial chunks. I have no problem to make this more restrict, so that only requests which are inside the range are droped, or to make it more like TRIM to split up partial chunks. Any feedback is more than welcomed. Thanks. Regards, Bert |
|
From: Konstantin S. <kon...@gm...> - 2010-07-13 12:53:48
|
Any suggestion? --kcc On Fri, Jul 9, 2010 at 8:29 PM, Konstantin Serebryany <kon...@gm...> wrote: > Hi, > > Consider an application has its own way of asking memory from OS: > char* my_malloc(size_t size). > Is there a way to steal my_malloc() from the application so that > valgrind core (newSuperblock from coregrind/m_mallocfree.c) can use > this function instead of VG_(am_sbrk_anon_float_*)? > I need this to run valgrind on a system where most of the memory is > allocated to hugepages and hence is not available to > VG_(am_sbrk_anon_float_*). > > Thanks, > > --kcc > |
|
From: Bert W. <ber...@go...> - 2010-07-13 12:41:09
|
On Tue, Jul 13, 2010 at 13:59, Bert Wesarg <ber...@go...> wrote:
> The loop checks whether the next chunk starts before the current
> chunk, but the chunk number printed was that of the current chunk.
Sorry, I have misread the message, I read "predecessor" not
"successor". Please ignore this patch.
>
> Fix this.
>
> Regards,
> Bert
>
> Index: memcheck/mc_malloc_wrappers.c
> ===================================================================
> --- memcheck/mc_malloc_wrappers.c (revision 11212)
> +++ memcheck/mc_malloc_wrappers.c (working copy)
> @@ -618,7 +618,7 @@
> if (chunks[i]->data + chunks[i]->szB > chunks[i+1]->data ) {
> VG_(message)(Vg_UserMsg,
> "Mempool chunk %d / %d overlaps with its successor\n",
> - i+1, n_chunks);
> + i+2, n_chunks);
> bad = 1;
> }
> }
>
|
|
From: Bert W. <ber...@go...> - 2010-07-13 11:59:31
|
The loop checks whether the next chunk starts before the current
chunk, but the chunk number printed was that of the current chunk.
Fix this.
Regards,
Bert
Index: memcheck/mc_malloc_wrappers.c
===================================================================
--- memcheck/mc_malloc_wrappers.c (revision 11212)
+++ memcheck/mc_malloc_wrappers.c (working copy)
@@ -618,7 +618,7 @@
if (chunks[i]->data + chunks[i]->szB > chunks[i+1]->data ) {
VG_(message)(Vg_UserMsg,
"Mempool chunk %d / %d overlaps with its successor\n",
- i+1, n_chunks);
+ i+2, n_chunks);
bad = 1;
}
}
|
|
From: Konstantin S. <kon...@gm...> - 2010-07-09 16:29:46
|
Hi, Consider an application has its own way of asking memory from OS: char* my_malloc(size_t size). Is there a way to steal my_malloc() from the application so that valgrind core (newSuperblock from coregrind/m_mallocfree.c) can use this function instead of VG_(am_sbrk_anon_float_*)? I need this to run valgrind on a system where most of the memory is allocated to hugepages and hence is not available to VG_(am_sbrk_anon_float_*). Thanks, --kcc |
|
From: Дмитрий Д. <di...@gm...> - 2010-07-09 12:34:35
|
After update Fedora12/x64 few days ago there arises error with libstdc++.
[look as update gcc up to 4.4.4 was the origin]
parse_type_DIE: confused by:
<1><5206>: DW_TAG_base_type
DW_AT_byte_size : 2
DW_AT_encoding : 16
DW_AT_name : (indirect string, offset: 0x4751): char16_t
--9269-- WARNING: Serious error when reading debug info
--9269-- When reading debug info from /usr/lib64/libstdc++.so.6.0.13
Is this know issue?
Thank You,
Dmitry
|
|
From: Konstantin S. <kon...@gm...> - 2010-07-09 11:48:29
|
Sent a message to libstdc++ folks: http://gcc.gnu.org/ml/libstdc++/2010-07/msg00029.html --kcc On Thu, Jul 8, 2010 at 7:08 PM, Bart Van Assche <bva...@ac...> wrote: > On Thu, Jul 8, 2010 at 12:49 PM, Konstantin Serebryany > <kon...@gm...> wrote: >> I changed the code which I want to suggest to libstdc++: >> http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting#Proposal_to_libstdc++_developers >> This will allow to use any kind of annotations (including Intel >> Parallel Inspector's itt_notify_sync_releasing / >> itt_notify_sync_acquired). >> Please have another look. > > A few minor comments: in the text cited below, please add the word > "otherwise" at the beginning of the second line, replace "other" by > "else" and "reference counter" by "reference counters". > > // Do not use this function for anything other than decrementing > reference counter -- > // this will confuse race detectors and will make them more > conservative and slow. > > Bart. > |
|
From: Dave G. <go...@mc...> - 2010-07-08 16:57:13
|
On Jul 8, 2010, at 11:22 AM CDT, Bart Van Assche wrote: > On Thu, Jul 8, 2010 at 5:56 PM, Dave Goodell <go...@mc...> wrote: >> On Jul 8, 2010, at 5:27 AM CDT, Bart Van Assche wrote: > > DRD should understand all Helgrind annotations implemented via client > requests, but not the other way around. Ahh, thanks for the clarification. >> At the bottom of this email is the result of a run of DRD with USE_DRD defined instead of USE_HELGRIND. It also warns about the "flag" variable, so I don't think I'm being hit by #243935. > > If you modify your test program such that more than one thread is > waiting for the value of the variable "flag" becoming zero, I expect > that you will be hit by #243935. That's possible. In the case of my real code, I never have more than one thread waiting on a given flag thanks to MPI_Request semantics imposed by the MPI standard. However I'll keep it in mind in case I hit any similar case in the future. >> The HB/HA annotations do work for shared_data, but not for the flag variable. This makes sense to me, because I'm only indicating the HA point after the "racy" read. However I don't understand the correct way to annotate this without just telling the tool to ignore races on this memory location. I feel like what I need is an "atomic load" that will be treated the same way as a more complicated atomic operation like CAS or fetch_and_add. The various tools don't seem to have a problem with those operations (undef'ing USE_PLAIN_STORE in the test code makes DRD happy again). > > There are two ways to get rid of the race report on the flag variable, > both which were already mentioned by Konstantin: > * Adding an ANNOTATE_BENIGN_RACE() annotation. > * Replacing the assignment "flag = 0" by an atomic instruction that > sets "flag" to zero. OK, it seems that the consensus is just to do this then. I'll probably go with the atomic instruction just to keep Helgrind happy as well. It would be nice if Helgrind eventually implemented ANNOTATE_BENIGN_RACE or some roughly equivalent functionality. Thanks to all for the clarifications and suggestions. -Dave |
|
From: Bart V. A. <bva...@ac...> - 2010-07-08 16:22:44
|
On Thu, Jul 8, 2010 at 5:56 PM, Dave Goodell <go...@mc...> wrote: > On Jul 8, 2010, at 5:27 AM CDT, Bart Van Assche wrote: > >> On Thu, Jul 8, 2010 at 12:20 AM, Dave Goodell <go...@mc...> wrote: > [...] >>> >>> Q1: I know it's potentially error prone in terms of usage and implementation, but I'm attempting something that is basically sane, right? >>> >>> Q2: Is there a way to correctly annotate the store/load pair, ideally across all three tools? Or for helgrind am I stuck with suppressions? >> >> Please check whether the issue described in the following bug report >> affects your test program: >> https://bugs.kde.org/show_bug.cgi?id=243935. > > I can reproduce #243935 on my machine (@r11206). I did not realize that the DRD and Helgrind HB/HA annotations were supposed to be binary compatible, which seems to be what this ticket is saying. I only assumed source level compatibility and rebuilt with different headers between different tool runs. DRD should understand all Helgrind annotations implemented via client requests, but not the other way around. > At the bottom of this email is the result of a run of DRD with USE_DRD defined instead of USE_HELGRIND. It also warns about the "flag" variable, so I don't think I'm being hit by #243935. If you modify your test program such that more than one thread is waiting for the value of the variable "flag" becoming zero, I expect that you will be hit by #243935. > The HB/HA annotations do work for shared_data, but not for the flag variable. This makes sense to me, because I'm only indicating the HA point after the "racy" read. However I don't understand the correct way to annotate this without just telling the tool to ignore races on this memory location. I feel like what I need is an "atomic load" that will be treated the same way as a more complicated atomic operation like CAS or fetch_and_add. The various tools don't seem to have a problem with those operations (undef'ing USE_PLAIN_STORE in the test code makes DRD happy again). There are two ways to get rid of the race report on the flag variable, both which were already mentioned by Konstantin: * Adding an ANNOTATE_BENIGN_RACE() annotation. * Replacing the assignment "flag = 0" by an atomic instruction that sets "flag" to zero. Bart. |
|
From: Dave G. <go...@mc...> - 2010-07-08 16:20:09
|
On Jul 8, 2010, at 1:50 AM CDT, Konstantin Serebryany wrote: > Hi Dave, > > If I run your test code under tsan (with dynamic annotations enabled) > I get the race report on flag and *don't* get a race report on > shared_data. > I.e. the annotations ANNOTATE_HAPPENS_BEFORE/AFTER work as expected. Sure, I wasn't obtaining a race on shared_data in any of the tools, IIRC. So in that sense the HB/HA annotations are indeed working. >> Q2: Is there a way to correctly annotate the store/load pair, ideally across all three tools? Or for helgrind am I stuck with suppressions? > > So, here you have two problems: > 1. Explain that Release_Store/Acquire_Load creates a happens-before > arc (you've done it right and it should work for all three) Right, that part was working for me all along. I don't recall receiving a race warning for "shared_data". My question in my original email was imprecise. > 2. Explain that the race on flag is benign. Yes, I afraid with current > helgrind you are stuck with suppressions. Julian? This is what I was more concerned about. For DRD and TSan it's easy to mark these as benign. However creating suppressions for a large library where this pattern occurs in many places is harder to do. I would be inclined to ditch Helgrind altogether because of this, but its lock-ordering checks are extremely helpful for me right now. Maybe I'll hack around it for now by changing the plain store to an atomic swap operation when building/running under valgrind. That ought to silence all three tools. Thanks, -Dave |
|
From: Dave G. <go...@mc...> - 2010-07-08 15:56:15
|
On Jul 8, 2010, at 5:27 AM CDT, Bart Van Assche wrote: > On Thu, Jul 8, 2010 at 12:20 AM, Dave Goodell <go...@mc...> wrote: [...] >> >> Q1: I know it's potentially error prone in terms of usage and implementation, but I'm attempting something that is basically sane, right? >> >> Q2: Is there a way to correctly annotate the store/load pair, ideally across all three tools? Or for helgrind am I stuck with suppressions? > > Please check whether the issue described in the following bug report > affects your test program: > https://bugs.kde.org/show_bug.cgi?id=243935. I can reproduce #243935 on my machine (@r11206). I did not realize that the DRD and Helgrind HB/HA annotations were supposed to be binary compatible, which seems to be what this ticket is saying. I only assumed source level compatibility and rebuilt with different headers between different tool runs. At the bottom of this email is the result of a run of DRD with USE_DRD defined instead of USE_HELGRIND. It also warns about the "flag" variable, so I don't think I'm being hit by #243935. The HB/HA annotations do work for shared_data, but not for the flag variable. This makes sense to me, because I'm only indicating the HA point after the "racy" read. However I don't understand the correct way to annotate this without just telling the tool to ignore races on this memory location. I feel like what I need is an "atomic load" that will be treated the same way as a more complicated atomic operation like CAS or fetch_and_add. The various tools don't seem to have a problem with those operations (undef'ing USE_PLAIN_STORE in the test code makes DRD happy again). -Dave ------8<------ % valgrind --tool=drd --read-var-info=yes -q ./a.out ==32285== Thread 2: ==32285== Conflicting store by thread 2 at 0x00600f78 size 4 ==32285== at 0x40090E: completer /sandbox/goodell/scratch/flag-hb/foo.c:34 ==32285== by 0x4C29CFF: vgDrd_thread_wrapper /sandbox/goodell/drt/third_party/valgrind/drd/drd_pthread_intercepts.c:272 ==32285== by 0x4E3B3F6: start_thread (in /lib/libpthread-2.7.so) ==32285== by 0x5128B4C: clone (in /lib/libc-2.7.so) ==32285== Location 0x600f78 is 0 bytes inside global var "flag" ==32285== declared at foo.c:20 ==32285== Other segment start (thread 1) ==32285== at 0x4C308E4: pthread_create@* /sandbox/goodell/drt/third_party/valgrind/drd/drd_pthread_intercepts.c:431 ==32285== by 0x4009A6: main /sandbox/goodell/scratch/flag-hb/foo.c:45 ==32285== Other segment end (thread 1) ==32285== at 0x4009C9: main /sandbox/goodell/scratch/flag-hb/foo.c:49 ==32285== ==32285== Thread 1: ==32285== Conflicting load by thread 1 at 0x00600f78 size 4 ==32285== at 0x4009C9: main /sandbox/goodell/scratch/flag-hb/foo.c:49 ==32285== Location 0x600f78 is 0 bytes inside global var "flag" ==32285== declared at foo.c:20 ==32285== Other segment start (thread 2) ==32285== (thread finished, call stack no longer available) ==32285== Other segment end (thread 2) ==32285== (thread finished, call stack no longer available) ==32285== shared_data=0xdeadbeef ------8<------ |
|
From: Bart V. A. <bva...@ac...> - 2010-07-08 15:08:53
|
On Thu, Jul 8, 2010 at 12:49 PM, Konstantin Serebryany <kon...@gm...> wrote: > I changed the code which I want to suggest to libstdc++: > http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting#Proposal_to_libstdc++_developers > This will allow to use any kind of annotations (including Intel > Parallel Inspector's itt_notify_sync_releasing / > itt_notify_sync_acquired). > Please have another look. A few minor comments: in the text cited below, please add the word "otherwise" at the beginning of the second line, replace "other" by "else" and "reference counter" by "reference counters". // Do not use this function for anything other than decrementing reference counter -- // this will confuse race detectors and will make them more conservative and slow. Bart. |
|
From: Konstantin S. <kon...@gm...> - 2010-07-08 10:49:40
|
I changed the code which I want to suggest to libstdc++: http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting#Proposal_to_libstdc++_developers This will allow to use any kind of annotations (including Intel Parallel Inspector's itt_notify_sync_releasing / itt_notify_sync_acquired). Please have another look. --kcc On Tue, Jul 6, 2010 at 2:38 PM, Bart Van Assche <bva...@ac...> wrote: > On Tue, Jul 6, 2010 at 8:57 AM, Konstantin Serebryany > <kon...@gm...> wrote: >> >> On Mon, Jul 5, 2010 at 9:00 PM, Bart Van Assche <bva...@ac...> wrote: >> > [ ... ] >> > >> > We can either try to agree upon one of the above three approaches or >> > ask the libstdc++ authors for their opinion. >> >> Yep, they may have a better idea. >> I'll send the bug report (with the link to >> http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting) >> tomorrow if nobody objects. > > Please copy the whole text from the wiki in the bug report. Only > mentioning the link has the risk that the link gets broken in the > future or that people get confused when the text on the wiki is > updated after a discussion on the bug report has been started. > > Bart. > > -- > You received this message because you are subscribed to the Google Groups "data-race-test" group. > To post to this group, send email to dat...@go.... > To unsubscribe from this group, send email to dat...@go.... > For more options, visit this group at http://groups.google.com/group/data-race-test?hl=en. > > |
|
From: Nicholas N. <n.n...@gm...> - 2010-07-08 10:34:01
|
Nightly build on ocean32 ( Ubuntu 9.10, x86_64 (32-bit only) )
Started at 2010-07-08 03:00:01 PDT
Ended at 2010-07-08 03:33:43 PDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 507 tests, 12 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/long_namespace_xml (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/x86-linux/scalar (stderr)
none/tests/empty-exe (stderr)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
none/tests/shell_zerolength (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-ptrcheck/tests/bad_percentify (stderr)
exp-ptrcheck/tests/supp (stderr)
=================================================
./valgrind-new/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-07-08 03:17:24.000000000 -0700
+++ bad_percentify.stderr.out 2010-07-08 03:32:20.000000000 -0700
@@ -1,32 +1,29 @@
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:88)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:93)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:98)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
=================================================
./valgrind-new/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2010-07-08 03:17:24.000000000 -0700
+++ supp.stderr.out 2010-07-08 03:33:33.000000000 -0700
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-07-08 03:17:21.000000000 -0700
+++ tc06_two_races_xml.stderr.out 2010-07-08 03:27:35.000000000 -0700
@@ -40,16 +40,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>pthread_create@@GLIBC_2.1</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,11 +122,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -175,11 +182,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -229,11 +242,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -283,11 +302,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-new/memcheck/tests/long_namespace_xml.stderr.diff
=================================================
--- long_namespace_xml.stderr.exp 2010-07-08 03:17:46.000000000 -0700
+++ long_namespace_xml.stderr.out 2010-07-08 03:23:36.000000000 -0700
@@ -37,7 +37,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
@@ -64,7 +64,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2010-07-08 03:17:46.000000000 -0700
+++ origin5-bz2.stderr.out 2010-07-08 03:23:52.000000000 -0700
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2010-07-08 03:17:46.000000000 -0700
+++ origin5-bz2.stderr.out 2010-07-08 03:23:52.000000000 -0700
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2010-07-08 03:17:46.000000000 -0700
+++ origin5-bz2.stderr.out 2010-07-08 03:23:52.000000000 -0700
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar.stderr.diff
=================================================
--- scalar.stderr.exp 2010-07-08 03:17:35.000000000 -0700
+++ scalar.stderr.out 2010-07-08 03:25:09.000000000 -0700
@@ -230,10 +230,6 @@
Syscall param mount(data) contains uninitialised byte(s)
...
-Syscall param mount(source) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
Syscall param mount(target) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -505,9 +501,6 @@
-----------------------------------------------------
55: __NR_fcntl (GETLK) 1s 0m
-----------------------------------------------------
-
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
Syscall param fcntl(lock) contains uninitialised byte(s)
...
@@ -517,6 +510,9 @@
-----------------------------------------------------
57: __NR_setpgid 2s 0m
-----------------------------------------------------
+
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
Syscall param setpgid(pid) contains uninitialised byte(s)
...
=================================================
./valgrind-new/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2010-07-08 03:18:27.000000000 -0700
+++ empty-exe.stderr.out 2010-07-08 03:25:51.000000000 -0700
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2010-07-08 03:18:27.000000000 -0700
+++ shell.stderr.out 2010-07-08 03:26:20.000000000 -0700
@@ -1,8 +1 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-new/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2010-07-08 03:18:27.000000000 -0700
+++ shell.stderr.out 2010-07-08 03:26:20.000000000 -0700
@@ -1,8 +1 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-new/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2010-07-08 03:18:27.000000000 -0700
+++ shell.stdout.out 2010-07-08 03:26:20.000000000 -0700
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-new/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2010-07-08 03:18:27.000000000 -0700
+++ shell_valid1.stderr.out 2010-07-08 03:26:20.000000000 -0700
@@ -0,0 +1 @@
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-new/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2010-07-08 03:18:27.000000000 -0700
+++ shell_valid2.stderr.out 2010-07-08 03:26:20.000000000 -0700
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2010-07-08 03:18:27.000000000 -0700
+++ shell_valid3.stderr.out 2010-07-08 03:26:20.000000000 -0700
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2010-07-08 03:18:27.000000000 -0700
+++ shell_zerolength.stderr.out 2010-07-08 03:26:20.000000000 -0700
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2010-07-08 03:18:27.000000000 -0700
+++ shell_zerolength.stderr.out 2010-07-08 03:26:20.000000000 -0700
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-07-08 03:00:47.000000000 -0700
+++ bad_percentify.stderr.out 2010-07-08 03:15:39.000000000 -0700
@@ -1,32 +1,29 @@
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:88)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:93)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:98)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
=================================================
./valgrind-old/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2010-07-08 03:00:47.000000000 -0700
+++ supp.stderr.out 2010-07-08 03:16:51.000000000 -0700
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-07-08 03:00:41.000000000 -0700
+++ tc06_two_races_xml.stderr.out 2010-07-08 03:10:48.000000000 -0700
@@ -40,16 +40,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>pthread_create@@GLIBC_2.1</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,11 +122,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -175,11 +182,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -229,11 +242,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -283,11 +302,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-old/memcheck/tests/long_namespace_xml.stderr.diff
=================================================
--- long_namespace_xml.stderr.exp 2010-07-08 03:01:17.000000000 -0700
+++ long_namespace_xml.stderr.out 2010-07-08 03:06:58.000000000 -0700
@@ -37,7 +37,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
@@ -64,7 +64,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2010-07-08 03:01:17.000000000 -0700
+++ origin5-bz2.stderr.out 2010-07-08 03:07:14.000000000 -0700
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2010-07-08 03:01:17.000000000 -0700
+++ origin5-bz2.stderr.out 2010-07-08 03:07:14.000000000 -0700
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2010-07-08 03:01:17.000000000 -0700
+++ origin5-bz2.stderr.out 2010-07-08 03:07:14.000000000 -0700
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/x86-linux/scalar.stderr.diff
=================================================
--- scalar.stderr.exp 2010-07-08 03:01:02.000000000 -0700
+++ scalar.stderr.out 2010-07-08 03:08:30.000000000 -0700
@@ -230,10 +230,6 @@
Syscall param mount(data) contains uninitialised byte(s)
...
-Syscall param mount(source) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
Syscall param mount(target) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -505,9 +501,6 @@
-----------------------------------------------------
55: __NR_fcntl (GETLK) 1s 0m
-----------------------------------------------------
-
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
Syscall param fcntl(lock) contains uninitialised byte(s)
...
@@ -517,6 +510,9 @@
-----------------------------------------------------
57: __NR_setpgid 2s 0m
-----------------------------------------------------
+
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
Syscall param setpgid(pid) contains uninitialised byte(s)
...
=================================================
./valgrind-old/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2010-07-08 03:01:53.000000000 -0700
+++ empty-exe.stderr.out 2010-07-08 03:09:10.000000000 -0700
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2010-07-08 03:01:53.000000000 -0700
+++ shell.stderr.out 2010-07-08 03:09:36.000000000 -0700
@@ -1,8 +1 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-old/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2010-07-08 03:01:53.000000000 -0700
+++ shell.stderr.out 2010-07-08 03:09:36.000000000 -0700
@@ -1,8 +1 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-old/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2010-07-08 03:01:53.000000000 -0700
+++ shell.stdout.out 2010-07-08 03:09:36.000000000 -0700
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-old/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2010-07-08 03:01:53.000000000 -0700
+++ shell_valid1.stderr.out 2010-07-08 03:09:36.000000000 -0700
@@ -0,0 +1 @@
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-old/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2010-07-08 03:01:53.000000000 -0700
+++ shell_valid2.stderr.out 2010-07-08 03:09:36.000000000 -0700
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2010-07-08 03:01:53.000000000 -0700
+++ shell_valid3.stderr.out 2010-07-08 03:09:36.000000000 -0700
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2010-07-08 03:01:53.000000000 -0700
+++ shell_zerolength.stderr.out 2010-07-08 03:09:36.000000000 -0700
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2010-07-08 03:01:53.000000000 -0700
+++ shell_zerolength.stderr.out 2010-07-08 03:09:36.000000000 -0700
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
|
|
From: Bart V. A. <bva...@ac...> - 2010-07-08 10:27:14
|
On Thu, Jul 8, 2010 at 12:20 AM, Dave Goodell <go...@mc...> wrote: > > I have some multithreaded code that signals object "completion" with a flag variable. Initially the flag value is non-zero (almost always 1) and one thread (A) will do some work to determine the values for various fields in the object. When thread A is finished with the object, it indicates that the object is complete by setting the flag to zero. This is a one-way transition, the object will be read exclusively by the (guaranteed) single consumer thread (B) and eventually destroyed by thread B. > > I have inserted memory barriers in both the producer's and consumer's code to provide store-release/load-acquire semantics with the flag variable. Well, in the example code at the bottom, I used full barriers, but I think that acquire/release is really all I need. > > These reads and writes are of course flagged by the various valgrind threading tools (helgrind/drd/tsan) as potential races. However I was surprised to find that I could not successfully annotate this sort of behavior in the same way as I would an atomic reference counting scheme. At the bottom of this mail is some example code that illustrates my scenario. The read itself is flagged as racy before the HAPPENS_AFTER annotation. In DRD and TSan, I can at least ANNOTATE_BENIGN_RACE as a last resort, but Helgrind doesn't support this annotation. > > Changing the unconditional write in the producer thread to an atomic decrement makes the annotations work again, as in refcounting. This may be what I use in the end to solve this problem, but I do still want to understand why I can't annotate it correctly. > > Q1: I know it's potentially error prone in terms of usage and implementation, but I'm attempting something that is basically sane, right? > > Q2: Is there a way to correctly annotate the store/load pair, ideally across all three tools? Or for helgrind am I stuck with suppressions? Please check whether the issue described in the following bug report affects your test program: https://bugs.kde.org/show_bug.cgi?id=243935. Bart. |
|
From: Nicholas N. <n.n...@gm...> - 2010-07-08 09:34:50
|
Nightly build on ocean ( Ubuntu 9.10, x86_64 )
Started at 2010-07-08 02:00:01 PDT
Ended at 2010-07-08 02:34:33 PDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 552 tests, 7 stderr failures, 0 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/long_namespace_xml (stderr)
memcheck/tests/x86-linux/scalar (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc20_verifywrap (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
exp-ptrcheck/tests/bad_percentify (stderr)
=================================================
./valgrind-new/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-07-08 02:17:27.000000000 -0700
+++ bad_percentify.stderr.out 2010-07-08 02:33:22.000000000 -0700
@@ -1,32 +1,29 @@
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:88)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:93)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:98)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-07-08 02:17:24.000000000 -0700
+++ tc06_two_races_xml.stderr.out 2010-07-08 02:28:51.000000000 -0700
@@ -40,16 +40,25 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
+ <fn>T.102</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,11 +130,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -175,11 +190,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -229,11 +250,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -283,11 +310,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff-glibc25-amd64
=================================================
--- tc20_verifywrap.stderr.exp-glibc25-amd64 2010-07-08 02:17:24.000000000 -0700
+++ tc20_verifywrap.stderr.out 2010-07-08 02:29:14.000000000 -0700
@@ -71,12 +71,14 @@
---------------- pthread_cond_wait et al ----------------
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
Thread #x's call to pthread_cond_wait failed
with error code 1 (EPERM: Operation not permitted)
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
@@ -86,12 +88,14 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
Thread #x's call to pthread_cond_timedwait failed
with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
@@ -142,6 +146,12 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
+Thread #x's call to sem_post failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_post_WRK (hg_intercepts.c:...)
+ by 0x........: sem_post (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:245)
+
FIXME: can't figure out how to verify wrap of sem_post
@@ -152,4 +162,4 @@
...
-ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 21 errors from 21 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff-glibc27-amd64
=================================================
--- tc20_verifywrap.stderr.exp-glibc27-amd64 2010-07-08 02:17:24.000000000 -0700
+++ tc20_verifywrap.stderr.out 2010-07-08 02:29:14.000000000 -0700
@@ -71,12 +71,14 @@
---------------- pthread_cond_wait et al ----------------
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
Thread #x's call to pthread_cond_wait failed
with error code 1 (EPERM: Operation not permitted)
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
@@ -86,12 +88,14 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
Thread #x's call to pthread_cond_timedwait failed
with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
=================================================
./valgrind-new/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-07-08 02:17:24.000000000 -0700
+++ tc23_bogus_condwait.stderr.out 2010-07-08 02:29:25.000000000 -0700
@@ -2,31 +2,38 @@
Thread #x is the program's root thread
Thread #x: pthread_cond_{timed}wait called with invalid mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
=================================================
./valgrind-new/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2010-07-08 02:17:45.000000000 -0700
+++ stack_switch.stderr.out 2010-07-08 02:24:17.000000000 -0700
@@ -0,0 +1,3 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
+
=================================================
./valgrind-new/memcheck/tests/long_namespace_xml.stderr.diff
=================================================
--- long_namespace_xml.stderr.exp 2010-07-08 02:17:48.000000000 -0700
+++ long_namespace_xml.stderr.out 2010-07-08 02:24:26.000000000 -0700
@@ -37,7 +37,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
@@ -64,7 +64,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar.stderr.diff
=================================================
--- scalar.stderr.exp 2010-07-08 02:17:37.000000000 -0700
+++ scalar.stderr.out 2010-07-08 02:25:59.000000000 -0700
@@ -230,10 +230,6 @@
Syscall param mount(data) contains uninitialised byte(s)
...
-Syscall param mount(source) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
Syscall param mount(target) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -505,9 +501,6 @@
-----------------------------------------------------
55: __NR_fcntl (GETLK) 1s 0m
-----------------------------------------------------
-
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
Syscall param fcntl(lock) contains uninitialised byte(s)
...
@@ -517,6 +510,9 @@
-----------------------------------------------------
57: __NR_setpgid 2s 0m
-----------------------------------------------------
+
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
Syscall param setpgid(pid) contains uninitialised byte(s)
...
=================================================
./valgrind-old/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-07-08 02:00:31.000000000 -0700
+++ bad_percentify.stderr.out 2010-07-08 02:15:51.000000000 -0700
@@ -1,32 +1,29 @@
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:88)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:93)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:98)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-07-08 02:00:28.000000000 -0700
+++ tc06_two_races_xml.stderr.out 2010-07-08 02:11:30.000000000 -0700
@@ -40,16 +40,25 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
+ <fn>T.102</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,11 +130,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -175,11 +190,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -229,11 +250,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -283,11 +310,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ <dir>...</dir>
+ <file>clone.S</file>
+ <line>...</line>
</frame>
</stack>
<truncated beyond 100 lines>
=================================================
./valgrind-old/helgrind/tests/tc20_verifywrap.stderr.diff-glibc25-amd64
=================================================
--- tc20_verifywrap.stderr.exp-glibc25-amd64 2010-07-08 02:00:28.000000000 -0700
+++ tc20_verifywrap.stderr.out 2010-07-08 02:11:51.000000000 -0700
@@ -71,12 +71,14 @@
---------------- pthread_cond_wait et al ----------------
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
Thread #x's call to pthread_cond_wait failed
with error code 1 (EPERM: Operation not permitted)
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
@@ -86,12 +88,14 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
Thread #x's call to pthread_cond_timedwait failed
with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
@@ -142,6 +146,12 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
+Thread #x's call to sem_post failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_post_WRK (hg_intercepts.c:...)
+ by 0x........: sem_post (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:245)
+
FIXME: can't figure out how to verify wrap of sem_post
@@ -152,4 +162,4 @@
...
-ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 21 errors from 21 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc20_verifywrap.stderr.diff-glibc27-amd64
=================================================
--- tc20_verifywrap.stderr.exp-glibc27-amd64 2010-07-08 02:00:28.000000000 -0700
+++ tc20_verifywrap.stderr.out 2010-07-08 02:11:51.000000000 -0700
@@ -71,12 +71,14 @@
---------------- pthread_cond_wait et al ----------------
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
Thread #x's call to pthread_cond_wait failed
with error code 1 (EPERM: Operation not permitted)
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
@@ -86,12 +88,14 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
Thread #x's call to pthread_cond_timedwait failed
with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
=================================================
./valgrind-old/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-07-08 02:00:28.000000000 -0700
+++ tc23_bogus_condwait.stderr.out 2010-07-08 02:12:04.000000000 -0700
@@ -2,31 +2,38 @@
Thread #x is the program's root thread
Thread #x: pthread_cond_{timed}wait called with invalid mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
=================================================
./valgrind-old/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2010-07-08 02:00:47.000000000 -0700
+++ stack_switch.stderr.out 2010-07-08 02:07:05.000000000 -0700
@@ -0,0 +1,3 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
+
=================================================
./valgrind-old/memcheck/tests/long_namespace_xml.stderr.diff
=================================================
--- long_namespace_xml.stderr.exp 2010-07-08 02:00:49.000000000 -0700
+++ long_namespace_xml.stderr.out 2010-07-08 02:07:14.000000000 -0700
@@ -37,7 +37,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
@@ -64,7 +64,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm</fn>
+ <fn>_ZN53044basic_iostreamIwSt11char_traitsIwEE</fn>
<dir>...</dir>
<file>long_namespace_xml.cpp</file>
<line>...</line>
=================================================
./valgrind-old/memcheck/tests/x86-linux/scalar.stderr.diff
=================================================
--- scalar.stderr.exp 2010-07-08 02:00:39.000000000 -0700
+++ scalar.stderr.out 2010-07-08 02:08:39.000000000 -0700
@@ -230,10 +230,6 @@
Syscall param mount(data) contains uninitialised byte(s)
...
-Syscall param mount(source) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
Syscall param mount(target) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -505,9 +501,6 @@
-----------------------------------------------------
55: __NR_fcntl (GETLK) 1s 0m
-----------------------------------------------------
-
-More than 100 errors detected. Subsequent errors
-will still be recorded, but in less detail than before.
Syscall param fcntl(lock) contains uninitialised byte(s)
...
@@ -517,6 +510,9 @@
-----------------------------------------------------
57: __NR_setpgid 2s 0m
-----------------------------------------------------
+
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
Syscall param setpgid(pid) contains uninitialised byte(s)
...
|
|
From: Bart V. A. <bva...@ac...> - 2010-07-08 07:58:20
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-07-08 02:28:26 EDT Ended at 2010-07-08 03:58:05 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 462 tests, 44 stderr failures, 12 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) callgrind/tests/simwork-both (stdout) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-branch (stdout) callgrind/tests/simwork-branch (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Konstantin S. <kon...@gm...> - 2010-07-08 06:50:35
|
Hi Dave,
If I run your test code under tsan (with dynamic annotations enabled)
I get the race report on flag and *don't* get a race report on
shared_data.
I.e. the annotations ANNOTATE_HAPPENS_BEFORE/AFTER work as expected.
$ gcc -g -lpthread atomic_notification.c dynamic_annotations.c -I.
-DDYNAMIC_ANNOTATIONS_ENABLED=1
$ tsan ./a.out
==4972== WARNING: Possible data race during write of size 4 at 0x601870: {{{
==4972== T1 (locks held: {}):
==4972== #0 completer /tmp/ttt/atomic_notification.c:34
==4972== #1 ThreadSanitizerStartThread
/tmp/tsan/drt/tsan/ts_valgrind_intercepts.c:600
==4972== Concurrent read(s) happened at (OR AFTER) these points:
==4972== T0 (locks held: {}):
==4972== #0 main /tmp/ttt/atomic_notification.c:49
==4972== Address 0x601870 is 0 bytes inside data symbol "flag"
==4972== Race verifier data: 0x4007B0,0x40080A
==4972== }}}
If you add ANNOTATE_BENIGN_RACE(&flag, "lock-free synchronization
using barriers"); this report will be gone too.
If you are accessing 'flag' via __sync builtins, you don't need to use
ANNOTATE_BENIGN_RACE (at least with tsan) because tsan ignores all
instructions with lock prefix.
On Thu, Jul 8, 2010 at 2:20 AM, Dave Goodell <go...@mc...> wrote:
> I have some multithreaded code that signals object "completion" with a flag variable. Initially the flag value is non-zero (almost always 1) and one thread (A) will do some work to determine the values for various fields in the object. When thread A is finished with the object, it indicates that the object is complete by setting the flag to zero. This is a one-way transition, the object will be read exclusively by the (guaranteed) single consumer thread (B) and eventually destroyed by thread B.
>
> I have inserted memory barriers in both the producer's and consumer's code to provide store-release/load-acquire semantics with the flag variable. Well, in the example code at the bottom, I used full barriers, but I think that acquire/release is really all I need.
>
> These reads and writes are of course flagged by the various valgrind threading tools (helgrind/drd/tsan) as potential races. However I was surprised to find that I could not successfully annotate this sort of behavior in the same way as I would an atomic reference counting scheme. At the bottom of this mail is some example code that illustrates my scenario. The read itself is flagged as racy before the HAPPENS_AFTER annotation. In DRD and TSan, I can at least ANNOTATE_BENIGN_RACE as a last resort, but Helgrind doesn't support this annotation.
>
> Changing the unconditional write in the producer thread to an atomic decrement makes the annotations work again, as in refcounting. This may be what I use in the end to solve this problem, but I do still want to understand why I can't annotate it correctly.
>
> Q1: I know it's potentially error prone in terms of usage and implementation, but I'm attempting something that is basically sane, right?
This looks sane and even correct to me, at least on x86.
I am not a real expert in lock-free synchronization, so I tend to use
someone else's wisdom, e.g.
Release_Store and Acquire_Load from
http://src.chromium.org/viewvc/chrome/trunk/src/base/atomicops.h?revision=21709&view=markup
>
> Q2: Is there a way to correctly annotate the store/load pair, ideally across all three tools? Or for helgrind am I stuck with suppressions?
So, here you have two problems:
1. Explain that Release_Store/Acquire_Load creates a happens-before
arc (you've done it right and it should work for all three)
2. Explain that the race on flag is benign. Yes, I afraid with current
helgrind you are stuck with suppressions. Julian?
--kcc
>
> Thanks,
> -Dave
>
> ------8<------
> #include <stdio.h>
> #include <stdlib.h>
> #include <assert.h>
> #include <unistd.h>
> #include <pthread.h>
>
> /* change this to change tool annotations */
> #define USE_HELGRIND
> /* don't define this to get atomic_fetch_and_decr */
> #define USE_PLAIN_STORE
>
> #if defined(USE_HELGRIND)
> #include <valgrind/helgrind.h>
> #elif defined(USE_DRD)
> #include <valgrind/drd.h>
> #elif defined(USE_TSAN)
> #include <dynamic_annotations.h>
> #endif
>
> volatile int flag = 1;
> int shared_data;
>
> void *completer(void *context)
> {
> sleep(5); /* do some "work" */
>
> /* this thread exclusively owns shared_data */
> shared_data = 0xdeadbeef;
>
> /* now indicate the shared_data is complete and owned by the other thread */
> __sync_synchronize(); /* full memory barrier */
> ANNOTATE_HAPPENS_BEFORE(&flag);
> #if defined(USE_PLAIN_STORE)
> flag = 0;
> #else
> __sync_sub_and_fetch(&flag, 1);
> #endif
> return NULL;
> }
>
> int main(int argc, char **argv)
> {
> int err;
> pthread_t other_thread;
> err = pthread_create(&other_thread, NULL, completer, NULL);
> assert(!err);
>
> while (1) {
> if (0 == flag) {
> ANNOTATE_HAPPENS_AFTER(&flag);
> __sync_synchronize(); /* full memory barrier */
> break;
> }
> }
>
> /* this thread now owns the shared data and can access it freely */
> printf("shared_data=%#x\n", shared_data);
> pthread_join(other_thread, NULL);
> return 0;
> }
> ------8<------
>
> And here's the output from Helgrind:
>
> ------8<------
> % valgrind --tool=helgrind --read-var-info=yes -q ./a.out
> ==27470== Thread #2 was created
> ==27470== at 0x511EB0E: clone (in /lib/libc-2.7.so)
> ==27470== by 0x4E31A11: pthread_create@@GLIBC_2.2.5 (in /lib/libpthread-2.7.so)
> ==27470== by 0x4C286AA: pthread_create_WRK /sandbox/goodell/drt/third_party/valgrind/helgrind/hg_intercepts.c:257
> ==27470== by 0x4C287AA: pthread_create@* /sandbox/goodell/drt/third_party/valgrind/helgrind/hg_intercepts.c:288
> ==27470== by 0x40099B: main /sandbox/goodell/scratch/flag-hb/foo.c:45
> ==27470==
> ==27470== Thread #1 is the program's root thread
> ==27470==
> ==27470== Possible data race during write of size 4 at 0x600f08 by thread #2
> ==27470== at 0x400964: completer /sandbox/goodell/scratch/flag-hb/foo.c:34
> ==27470== by 0x4C2882D: mythread_wrapper /sandbox/goodell/drt/third_party/valgrind/helgrind/hg_intercepts.c:221
> ==27470== by 0x4E313F6: start_thread (in /lib/libpthread-2.7.so)
> ==27470== by 0x511EB4C: clone (in /lib/libc-2.7.so)
> ==27470== This conflicts with a previous read of size 4 by thread #1
> ==27470== at 0x4009BE: main /sandbox/goodell/scratch/flag-hb/foo.c:49
> ==27470== Location 0x600f08 is 0 bytes inside global var "flag"
> ==27470== declared at foo.c:20
> ==27470==
> ==27470== Possible data race during read of size 4 at 0x600f08 by thread #1
> ==27470== at 0x4009BE: main /sandbox/goodell/scratch/flag-hb/foo.c:49
> ==27470== This conflicts with a previous write of size 4 by thread #2
> ==27470== at 0x400964: completer /sandbox/goodell/scratch/flag-hb/foo.c:34
> ==27470== by 0x4C2882D: mythread_wrapper /sandbox/goodell/drt/third_party/valgrind/helgrind/hg_intercepts.c:221
> ==27470== by 0x4E313F6: start_thread (in /lib/libpthread-2.7.so)
> ==27470== by 0x511EB4C: clone (in /lib/libc-2.7.so)
> ==27470== Location 0x600f08 is 0 bytes inside global var "flag"
> ==27470== declared at foo.c:20
> ==27470==
> shared_data=0xdeadbeef
> ------8<------
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Valgrind-developers mailing list
> Val...@li...
> https://lists.sourceforge.net/lists/listinfo/valgrind-developers
>
|