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
(6) |
2
(4) |
3
(4) |
4
(4) |
|
5
(6) |
6
(9) |
7
(4) |
8
(15) |
9
(6) |
10
(6) |
11
(22) |
|
12
(12) |
13
(9) |
14
(4) |
15
(11) |
16
(8) |
17
(4) |
18
(6) |
|
19
(6) |
20
(15) |
21
(9) |
22
(9) |
23
(14) |
24
(7) |
25
(7) |
|
26
(8) |
27
(11) |
28
(4) |
29
(4) |
30
(12) |
31
(7) |
|
|
From: <sv...@va...> - 2008-10-20 10:30:13
|
Author: sewardj
Date: 2008-10-20 11:30:08 +0100 (Mon, 20 Oct 2008)
New Revision: 8680
Log:
Support a couple more syscalls needed for running KDE4 stuff on amd64-linux.
Modified:
trunk/exp-ptrcheck/h_main.c
Modified: trunk/exp-ptrcheck/h_main.c
===================================================================
--- trunk/exp-ptrcheck/h_main.c 2008-10-20 10:25:16 UTC (rev 8679)
+++ trunk/exp-ptrcheck/h_main.c 2008-10-20 10:30:08 UTC (rev 8680)
@@ -255,8 +255,6 @@
static ULong stats__client_frees = 0;
static ULong stats__segs_allocd = 0;
static ULong stats__segs_recycled = 0;
-static ULong stats__slow_searches = 0;
-static ULong stats__slow_totcmps = 0;
//////////////////////////////////////////////////////////////
@@ -2253,7 +2251,9 @@
ADD(0, __NR_getuid32);
# endif
ADD(0, __NR_getxattr);
+ ADD(0, __NR_inotify_add_watch);
ADD(0, __NR_inotify_init);
+ ADD(0, __NR_inotify_rm_watch);
ADD(0, __NR_ioctl); // ioctl -- assuming no pointers returned
ADD(0, __NR_kill);
ADD(0, __NR_link);
@@ -2269,6 +2269,7 @@
ADD(0, __NR_mkdir);
ADD(0, __NR_mprotect);
ADD(0, __NR_munmap); // die_mem_munmap already called, segment remove);
+ ADD(0, __NR_nanosleep);
ADD(0, __NR_open);
ADD(0, __NR_pipe);
ADD(0, __NR_poll);
@@ -2290,6 +2291,7 @@
ADD(0, __NR_rt_sigreturn); /* not sure if we should see this or not */
ADD(0, __NR_sched_get_priority_max);
ADD(0, __NR_sched_get_priority_min);
+ ADD(0, __NR_sched_getaffinity);
ADD(0, __NR_sched_getparam);
ADD(0, __NR_sched_getscheduler);
ADD(0, __NR_sched_setscheduler);
@@ -4728,10 +4730,6 @@
VG_(message)(Vg_DebugMsg,
" h_: %'10llu Segs allocd, %'10llu Segs recycled",
stats__segs_allocd, stats__segs_recycled);
- VG_(message)(Vg_DebugMsg,
- " h_: %'10llu slow searches, %'10llu total cmps",
- stats__slow_searches, stats__slow_totcmps);
-
}
if (h_clo_lossage_check) {
|
|
From: <sv...@va...> - 2008-10-20 10:25:28
|
Author: sewardj
Date: 2008-10-20 11:25:16 +0100 (Mon, 20 Oct 2008)
New Revision: 8679
Log:
Re-enable preening of global invariants. (This happens when a .so is
unmapped, and that .so contains global variables that were accessed
while it was mapped in.)
Modified:
trunk/exp-ptrcheck/sg_main.c
Modified: trunk/exp-ptrcheck/sg_main.c
===================================================================
--- trunk/exp-ptrcheck/sg_main.c 2008-10-20 10:23:46 UTC (rev 8678)
+++ trunk/exp-ptrcheck/sg_main.c 2008-10-20 10:25:16 UTC (rev 8679)
@@ -54,7 +54,7 @@
static
-void preen_Invars ( Addr a, SizeT len, Bool isHeap ); /*fwds*/
+void preen_global_Invars ( Addr a, SizeT len ); /*fwds*/
//////////////////////////////////////////////////////////////
@@ -1067,10 +1067,10 @@
/* Ok, the range contained some blocks. Therefore we'll need to
visit all the Invars in all the thread shadow stacks, and
- convert all Inv_Global{S,V} entries that intersect [a,a+len) to
+ convert all Inv_Global entries that intersect [a,a+len) to
Inv_Unknown. */
tl_assert(len > 0);
- preen_Invars( a, len, False/*!isHeap*/ );
+ preen_global_Invars( a, len );
invalidate_all_QCaches();
}
@@ -1161,73 +1161,70 @@
instead. */
__attribute__((noinline))
-static void preen_Invar ( Invar* inv, Addr a, SizeT len, Bool isHeap )
+static void preen_global_Invar ( Invar* inv, Addr a, SizeT len )
{
stats__Invars_preened++;
tl_assert(len > 0);
tl_assert(inv);
switch (inv->tag) {
-#if 0
- case Inv_Heap:
- tl_assert(inv->Inv.Heap.len > 0);
- if (isHeap && rangesOverlap(a, len, inv->Inv.Heap.start,
- inv->Inv.Heap.len)) {
+ case Inv_Global:
+ tl_assert(inv->Inv.Global.nd);
+ tl_assert(inv->Inv.Global.nd->szB > 0);
+ if (0) VG_(printf)("preen_Invar Global %#lx %lu\n",
+ inv->Inv.Global.nd->addr,
+ inv->Inv.Global.nd->szB);
+ if (0 == cmp_nonempty_intervals(a, len, inv->Inv.Global.nd->addr,
+ inv->Inv.Global.nd->szB)) {
inv->tag = Inv_Unknown;
stats__Invars_changed++;
}
break;
- case Inv_GlobalS:
- case Inv_GlobalV:
- tl_assert(inv->Inv.Global.len > 0);
- if ((!isHeap)
- && rangesOverlap(a, len, inv->Inv.Global.start,
- inv->Inv.Global.len)) {
- inv->tag = Inv_Unknown;
- stats__Invars_changed++;
- }
- break;
- case Inv_StackS:
- case Inv_StackV:
+ case Inv_Stack0:
+ case Inv_StackN:
case Inv_Unknown:
break;
-#endif
- default: tl_assert(0);
+ default:
+ tl_assert(0);
}
}
__attribute__((noinline))
-static void preen_Invars ( Addr a, SizeT len, Bool isHeap )
+static void preen_global_Invars ( Addr a, SizeT len )
{
- tl_assert(0);
-#if 0
Int i;
- Word ixFrames, nFrames;
UWord u;
- XArray* stack; /* XArray* of StackFrame */
StackFrame* frame;
tl_assert(len > 0);
- tl_assert(0);
for (i = 0; i < VG_N_THREADS; i++) {
-tl_assert(0);
- stack = shadowStacks[i];
- if (!stack)
- continue;
- nFrames = VG_(sizeXA)( stack );
- for (ixFrames = 0; ixFrames < nFrames; ixFrames++) {
+ frame = shadowStacks[i];
+ if (!frame)
+ continue; /* no frames for this thread */
+ /* start from the innermost frame */
+ while (frame->inner)
+ frame = frame->inner;
+ tl_assert(frame->outer);
+ /* work through the frames from innermost to outermost. The
+ order isn't important; we just need to ensure we visit each
+ frame once (including those which are not actually active,
+ more 'inner' than the 'innermost active frame', viz, just
+ hanging around waiting to be used, when the current innermost
+ active frame makes more calls. See comments on definition of
+ struct _StackFrame. */
+ for (; frame; frame = frame->outer) {
UWord xx = 0; /* sanity check only; count of used htab entries */
- frame = VG_(indexXA)( stack, ixFrames );
- tl_assert(frame->htab);
+ if (!frame->htab)
+ continue; /* frame not in use. See shadowStack_unwind(). */
for (u = 0; u < frame->htab_size; u++) {
IInstance* ii = &frame->htab[u];
if (ii->insn_addr == 0)
continue; /* not in use */
- preen_Invar( &ii->invar, a, len, isHeap );
+ if (0) { pp_Invar(&ii->invar); VG_(printf)(" x\n"); }
+ preen_global_Invar( &ii->invar, a, len );
xx++;
}
tl_assert(xx == frame->htab_used);
}
}
-#endif
}
|
|
From: <sv...@va...> - 2008-10-20 10:24:00
|
Author: sewardj
Date: 2008-10-20 11:23:46 +0100 (Mon, 20 Oct 2008)
New Revision: 8678
Log:
Set average translation size plausibly, so as to avoid excessive
retranslations caused by the default size.
Modified:
trunk/exp-ptrcheck/pc_main.c
Modified: trunk/exp-ptrcheck/pc_main.c
===================================================================
--- trunk/exp-ptrcheck/pc_main.c 2008-10-19 18:58:13 UTC (rev 8677)
+++ trunk/exp-ptrcheck/pc_main.c 2008-10-20 10:23:46 UTC (rev 8678)
@@ -136,6 +136,7 @@
VG_(details_copyright_author)(
"Copyright (C) 2003-2008, and GNU GPL'd, by OpenWorks Ltd et al.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
+ VG_(details_avg_translation_sizeB) ( 496 );
VG_(basic_tool_funcs) (pc_post_clo_init,
h_instrument,
|
|
From: Tom H. <th...@cy...> - 2008-10-20 03:27:30
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-10-20 03:15: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 == 366 tests, 80 stderr failures, 2 stdout failures, 29 post failures == 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/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (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) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) memcheck/tests/file_locking (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (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/x86/bug152022 (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/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) |
|
From: Tom H. <th...@cy...> - 2008-10-20 03:04:08
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-10-20 03:05:06 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 == 460 tests, 11 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-10-20 02:53:05
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-10-20 03:25:06 BST 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 == 464 tests, 13 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) 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 == 464 tests, 12 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Oct 20 03:37:08 2008 --- new.short Mon Oct 20 03:52:57 2008 *************** *** 8,10 **** ! == 464 tests, 12 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) --- 8,10 ---- ! == 464 tests, 13 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) *************** *** 12,13 **** --- 12,14 ---- exp-ptrcheck/tests/pth_specific (stderr) + helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <th...@cy...> - 2008-10-20 02:32:16
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-10-20 03:00:02 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 == 466 tests, 34 stderr failures, 4 stdout failures, 0 post failures == drd/tests/pth_cancel_locked (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) |
|
From: J. B. <jb...@gm...> - 2008-10-19 22:05:44
|
Hi Valgrind-Developers, I've been working quite a bit on the Valgrind port for ARM, and I am at the stage where I pass most of the none/memcheck/massif/cache/call regression tests. Is there any ongoing effort to try and update the test cases? I know there is a request about this at the homepage, but I haven't seen if anyone is actively working on it. Some are failing for plain silly reasons (cmdline2, a new commandline option was added to valgrind, but testcase was not updated) Others are a bit more tricky to know if they are correct, especially since the output for all "supported" platforms are not available. the TLS test for example, I'm seeing the output lines in the "wrong" order, which may or may not be a real problem. Other examples would be the memcheck tests, on ARM/linux I sometime get a better stacktrace then the .exp files (exp file for badjump* reports lowest frame as "below main", whereas ARM/linux reports the actual correct position. (- by 0x........: (below main) (in /...libc...) + by 0x........: main (badjump.c:16) ) As I don't have that many machines available, if you have a PPC32/64, or even an x86-64 or x86-32 I would love to receive the the regression tests results for that machine, so I can make appropriate patches. Feel free to either send me the .out/.diff files by email, or send a link to the list. Thanks in advance /Johan Björk |
|
From: <sv...@va...> - 2008-10-19 18:58:26
|
Author: sewardj
Date: 2008-10-19 19:58:13 +0100 (Sun, 19 Oct 2008)
New Revision: 8677
Log:
Merge (from branches/PTRCHECK r8599) a suppression file for exp-ptrcheck.
Added:
trunk/exp-ptrcheck.supp
Modified:
trunk/Makefile.am
trunk/configure.in
Modified: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am 2008-10-18 19:55:31 UTC (rev 8676)
+++ trunk/Makefile.am 2008-10-19 18:58:13 UTC (rev 8677)
@@ -26,7 +26,8 @@
aix5libc.supp xfree-3.supp xfree-4.supp \
glibc-2.34567-NPTL-helgrind.supp \
glibc-2.2-LinuxThreads-helgrind.supp \
- glibc-2.X-drd.supp
+ glibc-2.X-drd.supp \
+ exp-ptrcheck.supp
dist_val_DATA = $(SUPP_FILES) default.supp
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2008-10-18 19:55:31 UTC (rev 8676)
+++ trunk/configure.in 2008-10-19 18:58:13 UTC (rev 8677)
@@ -605,7 +605,10 @@
DEFAULT_SUPP="xfree-4.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="xfree-3.supp ${DEFAULT_SUPP}"
+# Add glibc and X11 suppressions for exp-ptrcheck
+DEFAULT_SUPP="exp-ptrcheck.supp ${DEFAULT_SUPP}"
+
# Check for CLOCK_MONOTONIC
AC_MSG_CHECKING([for CLOCK_MONOTONIC])
Copied: trunk/exp-ptrcheck.supp (from rev 8676, branches/PTRCHECK/exp-ptrcheck.supp)
===================================================================
--- trunk/exp-ptrcheck.supp (rev 0)
+++ trunk/exp-ptrcheck.supp 2008-10-19 18:58:13 UTC (rev 8677)
@@ -0,0 +1,38 @@
+{
+ lib-X11-used-old-pointer-after-realloc-1
+ exp-ptrcheck:Heap
+ fun:strlen
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+}
+{
+ lib-X11-used-old-pointer-after-realloc-2
+ exp-ptrcheck:Heap
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+}
+
+{
+ ld-2.X-invalid-Add32/64-who-knows
+ exp-ptrcheck:Arith
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
+}
+
+{
+ ld-2.X poking around in god knows where
+ exp-ptrcheck:SorG
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
+}
+
+# I'm pretty sure this is a false positive caused by the sg_ stuff
+{
+ glibc realpath false positive
+ exp-ptrcheck:SorG
+ fun:realpath
+ fun:*
+}
|
|
From: Tom H. <th...@cy...> - 2008-10-19 03:29:36
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-10-19 03:15:02 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 == 366 tests, 80 stderr failures, 2 stdout failures, 29 post failures == 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/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (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) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) memcheck/tests/file_locking (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (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/x86/bug152022 (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/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) |
|
From: Tom H. <th...@cy...> - 2008-10-19 03:08:30
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-10-19 03:05:06 BST 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 == 460 tests, 11 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) 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 == 460 tests, 12 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Oct 19 03:33:00 2008 --- new.short Sun Oct 19 04:08:17 2008 *************** *** 8,10 **** ! == 460 tests, 12 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) --- 8,10 ---- ! == 460 tests, 11 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) *************** *** 13,15 **** exp-ptrcheck/tests/pth_specific (stderr) - exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc20_verifywrap (stderr) --- 13,14 ---- |
|
From: Tom H. <th...@cy...> - 2008-10-19 02:47:21
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-10-19 03:25:06 BST 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 == 464 tests, 12 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) 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 == 464 tests, 14 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Oct 19 03:36:15 2008 --- new.short Sun Oct 19 03:47:09 2008 *************** *** 8,10 **** ! == 464 tests, 14 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) --- 8,10 ---- ! == 464 tests, 12 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) *************** *** 12,15 **** exp-ptrcheck/tests/pth_specific (stderr) - exp-ptrcheck/tests/unaligned (stderr) - helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) --- 12,13 ---- |
|
From: Tom H. <th...@cy...> - 2008-10-19 02:28:13
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-10-19 03:00:05 BST 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 == 466 tests, 34 stderr failures, 4 stdout failures, 0 post failures == drd/tests/pth_cancel_locked (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) ================================================= == 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 == 466 tests, 35 stderr failures, 4 stdout failures, 0 post failures == drd/tests/pth_cancel_locked (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Oct 19 03:14:21 2008 --- new.short Sun Oct 19 03:28:05 2008 *************** *** 8,10 **** ! == 466 tests, 35 stderr failures, 4 stdout failures, 0 post failures == drd/tests/pth_cancel_locked (stderr) --- 8,10 ---- ! == 466 tests, 34 stderr failures, 4 stdout failures, 0 post failures == drd/tests/pth_cancel_locked (stderr) *************** *** 12,14 **** exp-ptrcheck/tests/hackedbz2 (stderr) - exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/hg01_all_ok (stderr) --- 12,13 ---- |
|
From: <sv...@va...> - 2008-10-18 19:55:39
|
Author: sewardj
Date: 2008-10-18 20:55:31 +0100 (Sat, 18 Oct 2008)
New Revision: 8676
Log:
get_Seg_containing_addr() (in h_main.c): remove naive algorithm that
searches through all live Segs and replace it with one which is O(log
N) in the number of live Segs.
Modified:
trunk/coregrind/m_wordfm.c
trunk/exp-ptrcheck/README.ABOUT.PTRCHECK.txt
trunk/exp-ptrcheck/h_main.c
trunk/exp-ptrcheck/sg_main.c
trunk/include/pub_tool_wordfm.h
Modified: trunk/coregrind/m_wordfm.c
===================================================================
--- trunk/coregrind/m_wordfm.c 2008-10-18 19:16:57 UTC (rev 8675)
+++ trunk/coregrind/m_wordfm.c 2008-10-18 19:55:31 UTC (rev 8676)
@@ -418,22 +418,29 @@
static
Bool avl_find_bounds ( AvlNode* t,
- /*OUT*/UWord* kMinP, /*OUT*/UWord* kMaxP,
- UWord minKey, UWord maxKey, UWord key,
+ /*OUT*/UWord* kMinP, /*OUT*/UWord* vMinP,
+ /*OUT*/UWord* kMaxP, /*OUT*/UWord* vMaxP,
+ UWord minKey, UWord minVal,
+ UWord maxKey, UWord maxVal,
+ UWord key,
Word(*kCmp)(UWord,UWord) )
{
- UWord lowerBound = minKey;
- UWord upperBound = maxKey;
+ UWord kLowerBound = minKey;
+ UWord vLowerBound = minVal;
+ UWord kUpperBound = maxKey;
+ UWord vUpperBound = maxVal;
while (t) {
Word cmpresS = kCmp ? kCmp(t->key, key)
: cmp_unsigned_Words(t->key, key);
if (cmpresS < 0) {
- lowerBound = t->key;
+ kLowerBound = t->key;
+ vLowerBound = t->val;
t = t->child[1];
continue;
}
if (cmpresS > 0) {
- upperBound = t->key;
+ kUpperBound = t->key;
+ vUpperBound = t->val;
t = t->child[0];
continue;
}
@@ -444,8 +451,10 @@
maybe we could, but we're not gonna. Ner!) */
return False;
}
- *kMinP = lowerBound;
- *kMaxP = upperBound;
+ if (kMinP) *kMinP = kLowerBound;
+ if (vMinP) *vMinP = vLowerBound;
+ if (kMaxP) *kMaxP = kUpperBound;
+ if (vMaxP) *vMaxP = vUpperBound;
return True;
}
@@ -661,10 +670,16 @@
// See comment in pub_tool_wordfm.h for explanation
Bool VG_(findBoundsFM)( WordFM* fm,
- /*OUT*/UWord* kMinP, /*OUT*/UWord* kMaxP,
- UWord minKey, UWord maxKey, UWord key )
+ /*OUT*/UWord* kMinP, /*OUT*/UWord* vMinP,
+ /*OUT*/UWord* kMaxP, /*OUT*/UWord* vMaxP,
+ UWord minKey, UWord minVal,
+ UWord maxKey, UWord maxVal,
+ UWord key )
{
- return avl_find_bounds( fm->root, kMinP, kMaxP, minKey, maxKey,
+ return avl_find_bounds( fm->root, kMinP, vMinP,
+ kMaxP, vMaxP,
+ minKey, minVal,
+ maxKey, maxVal,
key, fm->kCmp );
}
Modified: trunk/exp-ptrcheck/README.ABOUT.PTRCHECK.txt
===================================================================
--- trunk/exp-ptrcheck/README.ABOUT.PTRCHECK.txt 2008-10-18 19:16:57 UTC (rev 8675)
+++ trunk/exp-ptrcheck/README.ABOUT.PTRCHECK.txt 2008-10-18 19:55:31 UTC (rev 8676)
@@ -319,11 +319,6 @@
* Extend system call checking to work on stack and global arrays
-* Fix big performance problem to do with heap-vs-syscall checking.
- How: in h_main.c: get rid of get_Seg_containing_addr_SLOW and
- implement the same by doing a search in addr_to_seg_map. This would
- fix the heap-vs-syscall performance problem noted above.
-
* Print a warning if a shared object does not have debug info attached
Modified: trunk/exp-ptrcheck/h_main.c
===================================================================
--- trunk/exp-ptrcheck/h_main.c 2008-10-18 19:16:57 UTC (rev 8675)
+++ trunk/exp-ptrcheck/h_main.c 2008-10-18 19:55:31 UTC (rev 8676)
@@ -417,13 +417,13 @@
}
}
-static WordFM* addr_to_seg_map = NULL;
+static WordFM* addr_to_seg_map = NULL; /* GuestAddr -> Seg* */
static void addr_to_seg_map_ENSURE_INIT ( void )
{
if (UNLIKELY(addr_to_seg_map == NULL)) {
addr_to_seg_map = VG_(newFM)( VG_(malloc), "pc.h_main.attmEI.1",
- VG_(free), NULL );
+ VG_(free), NULL/*unboxedcmp*/ );
}
}
@@ -780,8 +780,93 @@
sm->vseg[sm_off] = vseg;
}
+// Find the Seg which contains the given address.
// Returns UNKNOWN if no matches. Never returns BOTTOM or NONPTR.
// Also, only returns in-use segments, not freed ones.
+/* Doing this fast is distinctly difficult when there are more than a
+ few heap allocated blocks live. Basically it is done by searching
+ addr_to_seg_map for 'a'.
+
+ First, if 'a' is the start address of a segment, then we can detect
+ that by simply doing a VG_(lookupFM) of 'a', and we are done (nice
+ and easy).
+
+ If 'a' is within some segment, but does not point to the start, it
+ is much more complex. We use VG_(findBoundsFM) to find the segment
+ with the largest .addr field which is <= a, and we then inspect the
+ segment to see if 'a' really falls inside it or not. This is all a
+ bit complex and fragile, and so there's a lot of assertery in the
+ code below. It has been crosschecked however against the trivial
+ _SLOW implementation shown after the end of this fn.
+*/
+static Seg* get_Seg_containing_addr( Addr a )
+{
+ UWord keyW, valW;
+ Seg* s2;
+
+ /* Since we are going to poke around in it */
+ addr_to_seg_map_ENSURE_INIT();
+
+ /* first, see if 'a' is at the start of a block. We do this both
+ because it's easy and more imporantly because VG_(findBoundsFM)
+ will fail in this case, so we need to exclude it first. */
+ if (VG_(lookupFM)( addr_to_seg_map, &keyW, &valW, a )) {
+ tl_assert(keyW == a);
+ s2 = (Seg*)valW;
+ tl_assert(s2->addr == a);
+ } else {
+ Bool ok;
+ UWord kMin, vMin, kMax, vMax;
+ Seg minSeg;
+ Seg maxSeg;
+ UWord minAddr = 0;
+ UWord maxAddr = ~minAddr;
+ VG_(memset)(&minSeg, 0, sizeof(minSeg));
+ VG_(memset)(&maxSeg, 0, sizeof(maxSeg));
+ minSeg.addr = minAddr;
+ maxSeg.addr = maxAddr;
+ ok = VG_(findBoundsFM)( addr_to_seg_map,
+ &kMin, &vMin, &kMax, &vMax,
+ minAddr, (UWord)&minSeg,
+ maxAddr, (UWord)&maxSeg, a );
+ tl_assert(ok); /* must be so, since False is only returned when
+ 'a' is directly present in the map, and we
+ just established that it isn't. */
+ /* At this point, either vMin points at minSeg, or it points at a
+ real Seg. In the former case, there is no live heap-allocated
+ Seg which has a start address <= a, so a is not in any block.
+ In the latter case, the Seg vMin points at may or may not
+ actually contain 'a'; we can only tell that by inspecting the
+ Seg itself. */
+ s2 = (Seg*)vMin;
+ tl_assert(kMin == s2->addr);
+ if (s2 == &minSeg) {
+ /* the former */
+ s2 = UNKNOWN;
+ } else {
+ /* the latter */
+ tl_assert(s2->addr <= a);
+ /* if s2 doesn't actually contain 'a', we must forget about it. */
+ if (s2->szB == 0 /* a zero sized block can't contain anything */
+ || s2->addr + s2->szB < a /* the usual range check */)
+ s2 = UNKNOWN;
+ }
+ /* while we're at it, do as much assertery as we can, since this
+ is all rather complex. Either vMax points at maxSeg, or it
+ points to a real block, which must have a start address
+ greater than a. */
+ tl_assert(kMax == ((Seg*)vMax)->addr);
+ if (kMax == (UWord)&maxSeg) {
+ /* nothing we can check */
+ } else {
+ tl_assert(a < kMax); /* hence also a < ((Seg*)vMax)->addr */
+ }
+ }
+
+ return s2;
+}
+
+/* XXXX very slow reference implementation. Do not use.
static Seg* get_Seg_containing_addr_SLOW( Addr a )
{
SegGroup* group;
@@ -799,8 +884,10 @@
}
return UNKNOWN;
}
+*/
+
/*------------------------------------------------------------*/
/*--- malloc() et al replacements ---*/
/*------------------------------------------------------------*/
@@ -1084,8 +1171,8 @@
}
// Check first and last bytes match
- seglo = get_Seg_containing_addr_SLOW( s );
- seghi = get_Seg_containing_addr_SLOW( e );
+ seglo = get_Seg_containing_addr( s );
+ seghi = get_Seg_containing_addr( e );
tl_assert( BOTTOM != seglo && NONPTR != seglo );
tl_assert( BOTTOM != seghi && NONPTR != seghi );
Modified: trunk/exp-ptrcheck/sg_main.c
===================================================================
--- trunk/exp-ptrcheck/sg_main.c 2008-10-18 19:16:57 UTC (rev 8675)
+++ trunk/exp-ptrcheck/sg_main.c 2008-10-18 19:55:31 UTC (rev 8676)
@@ -1564,12 +1564,16 @@
if (0) VG_(printf)("Tree sizes %ld %ld\n",
VG_(sizeFM)(siTrees[tid]), VG_(sizeFM)(giTree));
sOK = VG_(findBoundsFM)( siTrees[tid],
- (UWord*)&sLB, (UWord*)&sUB,
- (UWord)&sNegInf, (UWord)&sPosInf,
+ (UWord*)&sLB, NULL/*unused*/,
+ (UWord*)&sUB, NULL/*unused*/,
+ (UWord)&sNegInf, 0/*unused*/,
+ (UWord)&sPosInf, 0/*unused*/,
(UWord)&sKey );
gOK = VG_(findBoundsFM)( giTree,
- (UWord*)&gLB, (UWord*)&gUB,
- (UWord)&gNegInf, (UWord)&gPosInf,
+ (UWord*)&gLB, NULL/*unused*/,
+ (UWord*)&gUB, NULL/*unused*/,
+ (UWord)&gNegInf, 0/*unused*/,
+ (UWord)&gPosInf, 0/*unused*/,
(UWord)&gKey );
if (!(sOK && gOK)) {
/* If this happens, then [ea,ea+szB) partially overlaps
Modified: trunk/include/pub_tool_wordfm.h
===================================================================
--- trunk/include/pub_tool_wordfm.h 2008-10-18 19:16:57 UTC (rev 8675)
+++ trunk/include/pub_tool_wordfm.h 2008-10-18 19:55:31 UTC (rev 8676)
@@ -105,12 +105,22 @@
// values are returned in *kMinP and *kMaxP. It follows that if fm is
// empty then the returned values are simply minKey and maxKey.
//
+// For convenience the associated value fields are also returned
+// through *vMinP and *vMaxP. To make that possible in the general
+// case, the caller must supply via minVal and maxVal, the value
+// fields associated with minKey and maxKey.
+//
// If the operation was successful (that is, the given key is not
// present), True is returned. If the given key is in fact present,
-// False is returned, and *kMinP and *kMaxP are undefined.
+// False is returned, and *kMinP, *vMinP, *kMaxP and *vMaxP are
+// undefined. Any of kMinP, vMinP, kMaxP and vMaxP may be safely
+// supplied as NULL.
Bool VG_(findBoundsFM)( WordFM* fm,
- /*OUT*/UWord* kMinP, /*OUT*/UWord* kMaxP,
- UWord minKey, UWord maxKey, UWord key );
+ /*OUT*/UWord* kMinP, /*OUT*/UWord* vMinP,
+ /*OUT*/UWord* kMaxP, /*OUT*/UWord* vMaxP,
+ UWord minKey, UWord minVal,
+ UWord maxKey, UWord maxVal,
+ UWord key );
// How many elements are there in fm?
UWord VG_(sizeFM) ( WordFM* fm );
|
|
From: <sv...@va...> - 2008-10-18 19:17:05
|
Author: sewardj
Date: 2008-10-18 20:16:57 +0100 (Sat, 18 Oct 2008)
New Revision: 8675
Log:
Remove five carriage returns introduced in r8665, so the expected outputs
match the actual outputs again.
Modified:
trunk/exp-ptrcheck/tests/unaligned.c
Modified: trunk/exp-ptrcheck/tests/unaligned.c
===================================================================
--- trunk/exp-ptrcheck/tests/unaligned.c 2008-10-15 16:38:03 UTC (rev 8674)
+++ trunk/exp-ptrcheck/tests/unaligned.c 2008-10-18 19:16:57 UTC (rev 8675)
@@ -10,16 +10,11 @@
char c0[8], c1[8], c2[8], c3[8], c4[8];
// Each of these pointers has a different alignment
- char** p0 = (char**)&c0[0];
- char** p1 = (char**)&c1[1];
- char** p2 = (char**)&c2[2];
- char** p3 = (char**)&c3[3];
+ char** p0 = (char**)&c0[0]; char** p1 = (char**)&c1[1];
+ char** p2 = (char**)&c2[2]; char** p3 = (char**)&c3[3];
char** p4 = (char**)&c4[4];
- *p0 = x;
- *p1 = x;
- *p2 = x;
- *p3 = x;
- *p4 = x;
+ *p0 = x; *p1 = x; *p2 = x;
+ *p3 = x; *p4 = x;
// These 10 are ok
c = (*p0)[0];
|
|
From: Tom H. <th...@cy...> - 2008-10-18 03:24:42
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-10-18 03:15:02 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 == 366 tests, 80 stderr failures, 2 stdout failures, 29 post failures == 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/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (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) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) memcheck/tests/file_locking (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (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/x86/bug152022 (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/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) |
|
From: Tom H. <th...@cy...> - 2008-10-18 03:09:26
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-10-18 03:05:06 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 == 460 tests, 12 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-10-18 02:48:13
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-10-18 03:25:06 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 == 464 tests, 13 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-10-18 02:27:48
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-10-18 03:00: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 == 466 tests, 35 stderr failures, 4 stdout failures, 0 post failures == drd/tests/pth_cancel_locked (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) |
|
From: Tom H. <th...@cy...> - 2008-10-17 03:26:46
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-10-17 03:15:02 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 == 366 tests, 80 stderr failures, 2 stdout failures, 29 post failures == 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/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (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) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) memcheck/tests/file_locking (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (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/x86/bug152022 (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/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) |
|
From: Tom H. <th...@cy...> - 2008-10-17 03:10:49
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-10-17 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 == 460 tests, 12 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-10-17 02:48:04
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-10-17 03:25:07 BST 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 == 464 tests, 13 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) 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 == 464 tests, 14 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Oct 17 03:36:48 2008 --- new.short Fri Oct 17 03:47:53 2008 *************** *** 8,10 **** ! == 464 tests, 14 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) --- 8,10 ---- ! == 464 tests, 13 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) *************** *** 13,15 **** exp-ptrcheck/tests/unaligned (stderr) - helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) --- 13,14 ---- |
|
From: Tom H. <th...@cy...> - 2008-10-17 02:27:57
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-10-17 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 == 466 tests, 35 stderr failures, 4 stdout failures, 0 post failures == drd/tests/pth_cancel_locked (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/unaligned (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) |
|
From: Bart V. A. <bar...@gm...> - 2008-10-16 07:31:20
|
On Wed, Oct 15, 2008 at 11:57 PM, Julian Seward <js...@ac...> wrote: > Probably irrelevant, but .. would it maybe help to model mutexes, > semaphores, in terms of simple message passing between threads? The most difficult part is not how to model inter-thread ordering, but how to extract this ordering information from a running program. E.g. some atomic operations (A) have inter-thread ordering semantics, but no inter-thread semantics must be assigned to other atomic operations (B). Maybe the atomic operations that control the execution of futex system calls fall into category (A) and those atomic operations that do not control the execution of futex system calls fall into category (B), but I'm not sure about this. Bart. |
|
From: Bart V. A. <bar...@gm...> - 2008-10-16 06:24:00
|
On Wed, Oct 15, 2008 at 11:57 PM, Julian Seward <js...@ac...> wrote: > >> One issue that puzzles me is the following: it is possible to >> implement a semaphore using one mutex and one condition variable, and >> it is possible to implement a mutex using one semaphore. libpthread >> implements semaphores, mutexes and condition variables via futexes. So >> how is it possible by only analyzing futex calls and control flow >> whether the (library) programmer has implemented a mutex or a >> semaphore ? > > Probably irrelevant, but .. would it maybe help to model mutexes, > semaphores, in terms of simple message passing between threads? If I understand the above correctly, the message passing model is an alternative way to model the happens-before relationship between threads. Since both libgomp and libpthread use the futex system call on Linux for synchronizing threads, it is probably possible to extract all happens-before relationships between threads by intercepting this system call. This information should be sufficient as input for a happens-before data-race detector. This approach has two disadvantages however: - Not portable to other Unixes -- futexes are Linux-specific. - Pthreads API-level checks are no longer possible. The most comprehensive overview of futexes I know of is the following: http://people.redhat.com/drepper/futex.pdf. Bart. |