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
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(10) |
2
(8) |
3
(17) |
4
(28) |
5
(22) |
6
(8) |
|
7
(8) |
8
(22) |
9
(12) |
10
(17) |
11
(14) |
12
(15) |
13
(6) |
|
14
(9) |
15
(9) |
16
(16) |
17
(13) |
18
(18) |
19
(7) |
20
(5) |
|
21
(6) |
22
(5) |
23
(11) |
24
(5) |
25
(11) |
26
(7) |
27
(15) |
|
28
(11) |
29
(12) |
30
(12) |
31
(15) |
|
|
|
|
From: <sv...@va...> - 2007-10-23 22:26:10
|
Author: njn
Date: 2007-10-23 23:26:12 +0100 (Tue, 23 Oct 2007)
New Revision: 7030
Log:
Add comment about 32-bit UIDs/GIDs.
Modified:
trunk/coregrind/m_libcproc.c
Modified: trunk/coregrind/m_libcproc.c
===================================================================
--- trunk/coregrind/m_libcproc.c 2007-10-23 08:16:01 UTC (rev 7029)
+++ trunk/coregrind/m_libcproc.c 2007-10-23 22:26:12 UTC (rev 7030)
@@ -429,6 +429,8 @@
# if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
return VG_(do_syscall1)(__NR_AIX5_getuidx, 1) . res;
# elif defined(__NR_geteuid32)
+ // We use the 32-bit version if it's supported. Otherwise, IDs greater
+ // than 65536 cause problems, as bug #151209 showed.
return VG_(do_syscall0)(__NR_geteuid32) . res;
# else
return VG_(do_syscall0)(__NR_geteuid) . res;
@@ -441,6 +443,8 @@
# if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
return VG_(do_syscall1)(__NR_AIX5_getgidx, 1) . res;
# elif defined(__NR_getegid32)
+ // We use the 32-bit version if it's supported. Otherwise, IDs greater
+ // than 65536 cause problems, as bug #151209 showed.
return VG_(do_syscall0)(__NR_getegid32) . res;
# else
return VG_(do_syscall0)(__NR_getegid) . res;
|
|
From: <sv...@va...> - 2007-10-23 08:16:03
|
Author: tom Date: 2007-10-23 09:16:01 +0100 (Tue, 23 Oct 2007) New Revision: 7029 Log: Update bug status. Modified: trunk/docs/internals/3_2_BUGSTATUS.txt Modified: trunk/docs/internals/3_2_BUGSTATUS.txt =================================================================== --- trunk/docs/internals/3_2_BUGSTATUS.txt 2007-10-23 08:03:59 UTC (rev 7028) +++ trunk/docs/internals/3_2_BUGSTATUS.txt 2007-10-23 08:16:01 UTC (rev 7029) @@ -83,6 +83,8 @@ r6631 pending 142186 add I2C ioctl support r6830 r6831 n-i-bz division by zero in massif verbose output +r7028 pending 151209 valgrind unable to execute programs for users with UID > 2^16 + XXX Ashley logfile qualifiers in coredumps patch r6612 r6718 32 142228 RedHat8: complaint of elf_dynamic_do_rela |
|
From: <sv...@va...> - 2007-10-23 08:03:59
|
Author: tom
Date: 2007-10-23 09:03:59 +0100 (Tue, 23 Oct 2007)
New Revision: 7028
Log:
Use geteuid32/getegid32 on those platforms which have them.
Fixes bug #151209.
Modified:
trunk/coregrind/m_libcproc.c
Modified: trunk/coregrind/m_libcproc.c
===================================================================
--- trunk/coregrind/m_libcproc.c 2007-10-23 00:36:49 UTC (rev 7027)
+++ trunk/coregrind/m_libcproc.c 2007-10-23 08:03:59 UTC (rev 7028)
@@ -428,6 +428,8 @@
/* ASSUMES SYSCALL ALWAYS SUCCEEDS */
# if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
return VG_(do_syscall1)(__NR_AIX5_getuidx, 1) . res;
+# elif defined(__NR_geteuid32)
+ return VG_(do_syscall0)(__NR_geteuid32) . res;
# else
return VG_(do_syscall0)(__NR_geteuid) . res;
# endif
@@ -438,6 +440,8 @@
/* ASSUMES SYSCALL ALWAYS SUCCEEDS */
# if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
return VG_(do_syscall1)(__NR_AIX5_getgidx, 1) . res;
+# elif defined(__NR_getegid32)
+ return VG_(do_syscall0)(__NR_getegid32) . res;
# else
return VG_(do_syscall0)(__NR_getegid) . res;
# endif
|
|
From: Tom H. <th...@cy...> - 2007-10-23 02:31:50
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2007-10-23 03:15:01 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 == 260 tests, 27 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2007-10-23 02:24:12
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2007-10-23 03:05:05 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 == 293 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2007-10-23 02:23:11
|
Nightly build on dellow ( x86_64, Fedora 7 ) started at 2007-10-23 03:10:04 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 == 293 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2007-10-23 02:15:44
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2007-10-23 03:00:03 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 == 295 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Julian S. <js...@ac...> - 2007-10-23 00:58:55
|
On Tuesday 23 October 2007 02:45, Nicholas Nethercote wrote: > On Tue, 23 Oct 2007 sv...@va... wrote: > > Author: sewardj > > Date: 2007-10-23 01:36:49 +0100 (Tue, 23 Oct 2007) > > New Revision: 7027 > > > > Log: > > * new flag --cmp-race-err-addrs=no|yes [no], to help with regtesting > > You can filter them out with a "stderr_filter:" line in the .vgtest file. > That might allow you to remove the option. Ah, no. The opposite problem. By default it does not take into account the data address in race errors when doing duplicate removal for race errors. That reduces the total # errors presented to users, but it makes it difficult to verify that a particular regtest (tc17) is producing exactly the set of errors expected. The plan is that the .vgtest file will have --cmp-race-err-addrs=yes so that all 3026 expected errors will be reported :-) J |
|
From: Nicholas N. <nj...@cs...> - 2007-10-23 00:45:07
|
On Tue, 23 Oct 2007 sv...@va... wrote: > Author: sewardj > Date: 2007-10-23 01:36:49 +0100 (Tue, 23 Oct 2007) > New Revision: 7027 > > Log: > * new flag --cmp-race-err-addrs=no|yes [no], to help with regtesting You can filter them out with a "stderr_filter:" line in the .vgtest file. That might allow you to remove the option. N |
|
From: <sv...@va...> - 2007-10-23 00:36:49
|
Author: sewardj
Date: 2007-10-23 01:36:49 +0100 (Tue, 23 Oct 2007)
New Revision: 7027
Log:
* new flag --cmp-race-err-addrs=no|yes [no], to help with regtesting
* print a better message if too many locksets or threadsets appear,
instead of just asserting
* reinstate lots of CacheLine sanity checks, but guard them with
a #define'd value, so they can be folded out at compile time if
not desired
Modified:
branches/THRCHECK/thrcheck/tc_main.c
Modified: branches/THRCHECK/thrcheck/tc_main.c
===================================================================
--- branches/THRCHECK/thrcheck/tc_main.c 2007-10-21 23:08:26 UTC (rev 7026)
+++ branches/THRCHECK/thrcheck/tc_main.c 2007-10-23 00:36:49 UTC (rev 7027)
@@ -96,6 +96,10 @@
//= SCE_THREADS | SCE_LOCKS | SCE_BIGRANGE | SCE_ACCESS;
= 0;
+#define SCE_CACHELINE 0 /* don't sanity-check CacheLine stuff */
+//#define SCE_CACHELINE 1 /* do sanity-check CacheLine stuff */
+//#define inline __attribute__((noinline))
+
static void all__sanity_check ( char* who ); /* fwds */
#define TC_CLI__MALLOC_REDZONE_SZB 16 /* let's say */
@@ -116,6 +120,11 @@
/* Generate .vcg output of the happens-before graph? */
static Bool clo_gen_vcg = False;
+/* When comparing race errors for equality, should the race address be
+ taken into account? For users, no, but for verification purposes
+ (regtesting) this is sometimes important. */
+static Bool clo_cmp_race_err_addrs = False;
+
// FIXME: when a SecMap is completely set via and address range
// setting operation to a non-ShR/M state, clear its .mbHasShared
// bit
@@ -832,8 +841,8 @@
/* Shadow value encodings:
- 11 WordSetID:TSID_BITS WordSetID:LSIT_BITS ShM thread-set lock-set
- 10 WordSetID:TSID_BITS WordSetID:LSIT_BITS ShR thread-set lock-set
+ 11 WordSetID:TSID_BITS WordSetID:LSID_BITS ShM thread-set lock-set
+ 10 WordSetID:TSID_BITS WordSetID:LSID_BITS ShR thread-set lock-set
01 TSegmentID:30 Excl thread-segment
00 0--(20)--0 10 0000 0000 New
00 0--(20)--0 01 0000 0000 NoAccess
@@ -860,19 +869,37 @@
}
+__attribute__((noinline))
+__attribute__((noreturn))
+static void mk_SHVAL_fail ( WordSetID tset, WordSetID lset, HChar* who ) {
+ VG_(printf)("\n");
+ VG_(printf)("Thrcheck: Fatal internal error -- cannot continue.\n");
+ VG_(printf)("Thrcheck: mk_SHVAL_ShR(tset=%d,lset=%d): FAILED\n",
+ (Int)tset, (Int)lset);
+ VG_(printf)("Thrcheck: max allowed tset=%d, lset=%d\n",
+ (Int)N_TSID_MASK, (Int)N_LSID_MASK);
+ VG_(printf)("Thrcheck: program has too many thread "
+ "sets or lock sets to track.\n");
+ tl_assert(0);
+}
+
static inline UInt mk_SHVAL_ShM ( WordSetID tset, WordSetID lset ) {
- tl_assert(is_sane_WordSetID_TSet(tset));
- tl_assert(is_sane_WordSetID_LSet(lset));
- return (UInt)( (3<<30) | (tset << N_TSID_SHIFT)
- | (lset << N_LSID_SHIFT));
+ if (LIKELY(is_sane_WordSetID_TSet(tset)
+ && is_sane_WordSetID_LSet(lset))) {
+ return (UInt)( (3<<30) | (tset << N_TSID_SHIFT)
+ | (lset << N_LSID_SHIFT));
+ } else {
+ mk_SHVAL_fail(tset, lset, "mk_SHVAL_ShM");
+ }
}
static inline UInt mk_SHVAL_ShR ( WordSetID tset, WordSetID lset ) {
- /* if ((!is_sane_WordSetID(tset)) || (!is_sane_WordSetID(lset)))
- VG_(printf)("XXXXXXXXXX %d %d\n", (Int)tset, (Int)lset); */
- tl_assert(is_sane_WordSetID_TSet(tset));
- tl_assert(is_sane_WordSetID_LSet(lset));
- return (UInt)( (2<<30) | (tset << N_TSID_SHIFT)
- | (lset << N_LSID_SHIFT) );
+ if (LIKELY(is_sane_WordSetID_TSet(tset)
+ && is_sane_WordSetID_LSet(lset))) {
+ return (UInt)( (2<<30) | (tset << N_TSID_SHIFT)
+ | (lset << N_LSID_SHIFT) );
+ } else {
+ mk_SHVAL_fail(tset, lset, "mk_SHVAL_ShR");
+ }
}
static inline UInt mk_SHVAL_Excl ( SegmentID tseg ) {
tl_assert(is_sane_SegmentID(tseg));
@@ -1795,9 +1822,6 @@
static inline UWord shmem__get_SecMap_offset ( Addr a ) {
return a & (N_SECMAP_ARANGE - 1);
}
-static inline Bool shmem__is_SecMap_base ( Addr a ) {
- return shmem__get_SecMap_offset(a) == 0;
-}
/*--------------- SecMap allocation --------------- */
@@ -3132,7 +3156,8 @@
cl->descrs[tno] = normalise_tree( tree );
}
tl_assert(cloff == N_LINE_ARANGE);
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
stats__cline_normalises++;
}
@@ -3244,7 +3269,8 @@
lineZ = &sm->linesZ[zix];
/* Generate the data to be stored */
- /* EXPENSIVE: tl_assert(is_sane_CacheLine( cl )); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
anyShared = sequentialise_CacheLine( shvals, N_LINE_ARANGE, cl );
lineZ->dict[0] = lineZ->dict[1]
@@ -3436,14 +3462,16 @@
tag_old_p = &cache_shmem.tags0[wix];
if (is_valid_scache_tag( *tag_old_p )) {
- /* EXPENSIVE and REDUNDANT: callee does it
- tl_assert(is_sane_CacheLine( cl )); */
+ /* EXPENSIVE and REDUNDANT: callee does it */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
cacheline_wback( wix );
}
/* and reload the new one */
*tag_old_p = tag;
cacheline_fetch( wix );
- /* EXPENSIVE tl_assert(is_sane_CacheLine( cl )); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
return cl;
}
@@ -3635,7 +3663,8 @@
if (UNLIKELY( !(descr & (TREE_DESCR_8_0 << toff)) )) {
UInt* tree = &cl->svals[tno << 3];
cl->descrs[tno] = pulldown_to_8(tree, toff, descr);
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
svOld = cl->svals[cloff];
svNew = msm__handle_read( thr_acc, a, svOld, 1 );
@@ -3660,7 +3689,8 @@
UInt* tree = &cl->svals[tno << 3];
cl->descrs[tno] = pulldown_to_16(tree, toff, descr);
}
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
svOld = cl->svals[cloff];
svNew = msm__handle_read( thr_acc, a, svOld, 2 );
@@ -3691,7 +3721,8 @@
} else {
goto slowcase;
}
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
svOld = cl->svals[cloff];
svNew = msm__handle_read( thr_acc, a, svOld, 4 );
@@ -3763,7 +3794,8 @@
if (UNLIKELY( !(descr & (TREE_DESCR_8_0 << toff)) )) {
UInt* tree = &cl->svals[tno << 3];
cl->descrs[tno] = pulldown_to_8(tree, toff, descr);
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
svOld = cl->svals[cloff];
svNew = msm__handle_write( thr_acc, a, svOld, 1 );
@@ -3788,7 +3820,8 @@
UInt* tree = &cl->svals[tno << 3];
cl->descrs[tno] = pulldown_to_16(tree, toff, descr);
}
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
svOld = cl->svals[cloff];
svNew = msm__handle_write( thr_acc, a, svOld, 2 );
@@ -3819,7 +3852,8 @@
} else {
goto slowcase;
}
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
svOld = cl->svals[cloff];
svNew = msm__handle_write( thr_acc, a, svOld, 4 );
@@ -3890,7 +3924,8 @@
if (UNLIKELY( !(descr & (TREE_DESCR_8_0 << toff)) )) {
UInt* tree = &cl->svals[tno << 3];
cl->descrs[tno] = pulldown_to_8(tree, toff, descr);
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
cl->svals[cloff] = svNew;
}
@@ -3917,7 +3952,8 @@
its parent. So first, pull down to this level. */
UInt* tree = &cl->svals[tno << 3];
cl->descrs[tno] = pulldown_to_16(tree, toff, descr);
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
}
}
cl->svals[cloff + 0] = svNew;
@@ -3946,7 +3982,8 @@
its parent. So first, pull down to this level. */
UInt* tree = &cl->svals[tno << 3];
cl->descrs[tno] = pulldown_to_32(tree, toff, descr);
- /* EXPENSIVE: tl_assert(is_sane_CacheLine(cl)); */
+ if (SCE_CACHELINE)
+ tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
} else {
/* Writing at this level. Need to fix up 'descr'. */
cl->descrs[tno] = pullup_descr_to_32(descr, toff);
@@ -6932,6 +6969,8 @@
xe.XE.Race.mb_lastlock = mb_lastlock;
xe.XE.Race.thr = thr;
// FIXME: tid vs thr
+ tl_assert(isWrite == False || isWrite == True);
+ tl_assert(szB == 8 || szB == 4 || szB == 2 || szB == 1);
VG_(maybe_record_error)( map_threads_reverse_lookup_SLOW(thr),
XE_Race, data_addr, NULL, &xe );
}
@@ -7052,7 +7091,10 @@
switch (VG_(get_error_kind)(e1)) {
case XE_Race:
return xe1->XE.Race.szB == xe2->XE.Race.szB
- && xe1->XE.Race.isWrite == xe2->XE.Race.isWrite;
+ && xe1->XE.Race.isWrite == xe2->XE.Race.isWrite
+ && (clo_cmp_race_err_addrs
+ ? xe1->XE.Race.data_addr == xe2->XE.Race.data_addr
+ : True);
case XE_FreeMemLock:
return xe1->XE.FreeMemLock.thr == xe2->XE.FreeMemLock.thr
&& xe1->XE.FreeMemLock.lock == xe2->XE.FreeMemLock.lock;
@@ -7073,8 +7115,6 @@
&& xe1->XE.PthAPIerror.err == xe2->XE.PthAPIerror.err;
case XE_LockOrder:
return xe1->XE.LockOrder.thr == xe2->XE.LockOrder.thr;
- /* && xe1->XE.LockOrder.before == xe2->XE.LockOrder.before
- && xe1->XE.LockOrder.after == xe2->XE.LockOrder.after; */
case XE_Misc:
return xe1->XE.Misc.thr == xe2->XE.Misc.thr
&& 0==VG_(strcmp)(xe1->XE.Misc.errstr, xe2->XE.Misc.errstr);
@@ -7511,6 +7551,11 @@
else if (VG_CLO_STREQ(arg, "--gen-vcg=yes"))
clo_gen_vcg = True;
+ else if (VG_CLO_STREQ(arg, "--cmp-race-err-addrs=no"))
+ clo_cmp_race_err_addrs = False;
+ else if (VG_CLO_STREQ(arg, "--cmp-race-err-addrs=yes"))
+ clo_cmp_race_err_addrs = True;
+
else
return VG_(replacement_malloc_process_cmd_line_option)(arg);
@@ -7531,6 +7576,8 @@
VG_(replacement_malloc_print_debug_usage)();
VG_(printf)(" --gen-vcg=no|yes show happens-before graph "
"in .vcg format [no]\n");
+ VG_(printf)(" --cmp-race-err-addrs=no|yes are data addresses in "
+ "race errors significant? [no]\n");
}
static void tc_post_clo_init ( void )
|
|
From: <js...@ac...> - 2007-10-23 00:17:30
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2007-10-23 02:00:01 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 228 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 228 tests, 6 stderr failures, 3 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/res_search (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Oct 23 02:08:54 2007 --- new.short Tue Oct 23 02:17:30 2007 *************** *** 8,10 **** ! == 228 tests, 6 stderr failures, 3 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) --- 8,10 ---- ! == 228 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) *************** *** 17,19 **** none/tests/mremap2 (stdout) - none/tests/res_search (stdout) --- 17,18 ---- |