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
(9) |
|
2
(5) |
3
(8) |
4
(9) |
5
(9) |
6
(8) |
7
(4) |
8
(18) |
|
9
(9) |
10
(15) |
11
(4) |
12
(9) |
13
(9) |
14
(5) |
15
(4) |
|
16
(7) |
17
(15) |
18
(7) |
19
(13) |
20
(10) |
21
(10) |
22
(8) |
|
23
(4) |
24
(4) |
25
(6) |
26
(6) |
27
(5) |
28
(4) |
29
(4) |
|
30
(4) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2008-11-16 23:25:49
|
Author: sewardj
Date: 2008-11-16 23:25:43 +0000 (Sun, 16 Nov 2008)
New Revision: 8771
Log:
Make these compile on older systems.
Modified:
trunk/helgrind/tests/bar_bad.c
trunk/helgrind/tests/bar_trivial.c
Modified: trunk/helgrind/tests/bar_bad.c
===================================================================
--- trunk/helgrind/tests/bar_bad.c 2008-11-16 21:59:29 UTC (rev 8770)
+++ trunk/helgrind/tests/bar_bad.c 2008-11-16 23:25:43 UTC (rev 8771)
@@ -1,7 +1,7 @@
/* This program checks that Helgrind reports the five degenerate
uses of the barrier functions shown. */
-
+#define _GNU_SOURCE
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
Modified: trunk/helgrind/tests/bar_trivial.c
===================================================================
--- trunk/helgrind/tests/bar_trivial.c 2008-11-16 21:59:29 UTC (rev 8770)
+++ trunk/helgrind/tests/bar_trivial.c 2008-11-16 23:25:43 UTC (rev 8771)
@@ -3,7 +3,7 @@
barriers. If H fails to notice the pthread_barrier_wait call then
it will report a race. Correct behaviour is not to report a race
(there isn't one.) */
-
+#define _GNU_SOURCE
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
|
|
From: <sv...@va...> - 2008-11-16 21:59:35
|
Author: sewardj
Date: 2008-11-16 21:59:29 +0000 (Sun, 16 Nov 2008)
New Revision: 8770
Log:
Make test 'tc21_pthonce' less scheduling-sensitive.
Modified:
trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc23-amd64
trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-amd64
trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-x86
trunk/helgrind/tests/tc21_pthonce.vgtest
Modified: trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc23-amd64
===================================================================
--- trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc23-amd64 2008-11-16 21:40:54 UTC (rev 8769)
+++ trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc23-amd64 2008-11-16 21:59:29 UTC (rev 8770)
@@ -1,12 +1,12 @@
-Thread #2 was created
+Thread #x was created
at 0x........: clone (in /...libc...)
by 0x........: ...
by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc21_pthonce.c:86)
-Thread #3 was created
+Thread #x was created
at 0x........: clone (in /...libc...)
by 0x........: ...
by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
Modified: trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-amd64
===================================================================
--- trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-amd64 2008-11-16 21:40:54 UTC (rev 8769)
+++ trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-amd64 2008-11-16 21:59:29 UTC (rev 8770)
@@ -1,24 +1,24 @@
-Thread #3 was created
+Thread #x was created
at 0x........: clone (in /...libc...)
by 0x........: ...
by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc21_pthonce.c:86)
-Thread #2 was created
+Thread #x was created
at 0x........: clone (in /...libc...)
by 0x........: ...
by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc21_pthonce.c:86)
-Possible data race during read of size 4 at 0x........ by thread #3
+Possible data race during read of size 4 at 0x........ by thread #x
at 0x........: child (tc21_pthonce.c:74)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
by 0x........: ...
by 0x........: ...
- This conflicts with a previous access by thread #2
+ This conflicts with a previous access by thread #x
at 0x........: child (tc21_pthonce.c:74)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
by 0x........: ...
Modified: trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-x86
===================================================================
--- trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-x86 2008-11-16 21:40:54 UTC (rev 8769)
+++ trunk/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-x86 2008-11-16 21:59:29 UTC (rev 8770)
@@ -1,11 +1,11 @@
-Thread #2 was created
+Thread #x was created
at 0x........: clone (in /...libc...)
by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
by 0x........: main (tc21_pthonce.c:86)
-Thread #3 was created
+Thread #x was created
at 0x........: clone (in /...libc...)
by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
Modified: trunk/helgrind/tests/tc21_pthonce.vgtest
===================================================================
--- trunk/helgrind/tests/tc21_pthonce.vgtest 2008-11-16 21:40:54 UTC (rev 8769)
+++ trunk/helgrind/tests/tc21_pthonce.vgtest 2008-11-16 21:59:29 UTC (rev 8770)
@@ -1 +1,2 @@
prog: tc21_pthonce
+stderr_filter: ./filter_threadnums
|
|
From: <sv...@va...> - 2008-11-16 21:41:03
|
Author: sewardj
Date: 2008-11-16 21:40:54 +0000 (Sun, 16 Nov 2008)
New Revision: 8769
Log:
Handle sys_lookup_dcookie on amd64-linux (Andrew Haley). Also take
the opportunity to move the handlers from syswrap-generic.c (which
they certainly aren't) to syswrap-linux.c. Fixes #175044.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-generic.h
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/priv_syswrap-generic.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2008-11-14 19:43:44 UTC (rev 8768)
+++ trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2008-11-16 21:40:54 UTC (rev 8769)
@@ -192,7 +192,6 @@
DECL_TEMPLATE(generic, sys_mincore); // * L?
DECL_TEMPLATE(generic, sys_getdents64); // * (SVr4,SVID?)
DECL_TEMPLATE(generic, sys_fcntl64); // * P?
-DECL_TEMPLATE(generic, sys_lookup_dcookie); // (*/32/64) L
DECL_TEMPLATE(generic, sys_statfs64); // * (?)
DECL_TEMPLATE(generic, sys_fstatfs64); // * (?)
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2008-11-14 19:43:44 UTC (rev 8768)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2008-11-16 21:40:54 UTC (rev 8769)
@@ -236,6 +236,9 @@
DECL_TEMPLATE(linux, sys_init_module);
DECL_TEMPLATE(linux, sys_delete_module);
+// Linux-specific (oprofile-related)
+DECL_TEMPLATE(linux, sys_lookup_dcookie); // (*/32/64) L
+
/* ---------------------------------------------------------------------
Wrappers for sockets and ipc-ery. These are split into standalone
procedures because x86-linux hides them inside multiplexors
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2008-11-14 19:43:44 UTC (rev 8768)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2008-11-16 21:40:54 UTC (rev 8769)
@@ -1269,7 +1269,7 @@
LINXY(__NR_io_cancel, sys_io_cancel), // 210
// (__NR_get_thread_area, sys_ni_syscall), // 211
- // (__NR_lookup_dcookie, sys_lookup_dcookie), // 212
+ LINXY(__NR_lookup_dcookie, sys_lookup_dcookie), // 212
LINXY(__NR_epoll_create, sys_epoll_create), // 213
// (__NR_epoll_ctl_old, sys_ni_syscall), // 214
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2008-11-14 19:43:44 UTC (rev 8768)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2008-11-16 21:40:54 UTC (rev 8769)
@@ -2063,24 +2063,6 @@
PRE_REG_READ1(long, "iopl", unsigned long, level);
}
-// XXX: this wrapper is only suitable for 32-bit platforms
-#if defined(VGP_x86_linux)
-PRE(sys_lookup_dcookie)
-{
- PRINT("sys_lookup_dcookie (0x%llx, %#lx, %ld)", LOHI64(ARG1,ARG2), ARG3, ARG4);
- PRE_REG_READ4(long, "lookup_dcookie",
- vki_u32, cookie_low32, vki_u32, cookie_high32,
- char *, buf, vki_size_t, len);
- PRE_MEM_WRITE( "lookup_dcookie(buf)", ARG3, ARG4);
-}
-POST(sys_lookup_dcookie)
-{
- vg_assert(SUCCESS);
- if (ARG3 != (Addr)NULL)
- POST_MEM_WRITE( ARG3, RES);
-}
-#endif
-
PRE(sys_fsync)
{
*flags |= SfMayBlock;
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2008-11-14 19:43:44 UTC (rev 8768)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2008-11-16 21:40:54 UTC (rev 8769)
@@ -3073,6 +3073,48 @@
PRE_MEM_RASCIIZ("delete_module(name_user)", ARG1);
}
+/* ---------------------------------------------------------------------
+ oprofile-related wrappers
+ ------------------------------------------------------------------ */
+
+#if defined(VGP_x86_linux)
+PRE(sys_lookup_dcookie)
+{
+ PRINT("sys_lookup_dcookie (0x%llx, %#lx, %ld)",
+ LOHI64(ARG1,ARG2), ARG3, ARG4);
+ PRE_REG_READ4(long, "lookup_dcookie",
+ vki_u32, cookie_low32, vki_u32, cookie_high32,
+ char *, buf, vki_size_t, len);
+ PRE_MEM_WRITE( "lookup_dcookie(buf)", ARG3, ARG4);
+}
+POST(sys_lookup_dcookie)
+{
+ vg_assert(SUCCESS);
+ if (ARG3 != (Addr)NULL)
+ POST_MEM_WRITE( ARG3, RES);
+}
+#endif
+
+#if defined(VGP_amd64_linux)
+PRE(sys_lookup_dcookie)
+{
+ *flags |= SfMayBlock;
+ PRINT("sys_lookup_dcookie ( %llu, %#lx, %llu )",
+ (ULong)ARG1, ARG2, (ULong)ARG3);
+ PRE_REG_READ3(int, "lookup_dcookie",
+ unsigned long long, cookie, char *, buf, vki_size_t, len);
+
+ PRE_MEM_WRITE( "sys_lookup_dcookie(buf)", ARG2, ARG3 );
+}
+
+POST(sys_lookup_dcookie)
+{
+ vg_assert(SUCCESS);
+ if (ARG2 != (Addr)NULL)
+ POST_MEM_WRITE( ARG2, RES );
+}
+#endif
+
#undef PRE
#undef POST
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2008-11-14 19:43:44 UTC (rev 8768)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2008-11-16 21:40:54 UTC (rev 8769)
@@ -2145,7 +2145,7 @@
LINX_(__NR_fadvise64, sys_fadvise64), // 250 */(Linux?)
GENX_(251, sys_ni_syscall), // 251
LINX_(__NR_exit_group, sys_exit_group), // 252
- GENXY(__NR_lookup_dcookie, sys_lookup_dcookie), // 253
+ LINXY(__NR_lookup_dcookie, sys_lookup_dcookie), // 253
LINXY(__NR_epoll_create, sys_epoll_create), // 254
LINX_(__NR_epoll_ctl, sys_epoll_ctl), // 255
|
|
From: Tom H. <th...@cy...> - 2008-11-16 03:52:43
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-11-16 03:05:04 GMT 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 == 469 tests, 23 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) |
|
From: Tom H. <th...@cy...> - 2008-11-16 03:51:46
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-11-16 03:25:05 GMT 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 == 473 tests, 23 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) 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-11-16 03:35:26
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-11-16 03:15:13 GMT 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 bar_bad.c:20: `bar1' undeclared (first use in this function) bar_bad.c:20: `bar2' undeclared (first use in this function) bar_bad.c:20: `bar3' undeclared (first use in this function) bar_bad.c:20: `bar4' undeclared (first use in this function) bar_bad.c:20: `bar5' undeclared (first use in this function) bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:39: warning: implicit declaration of function `pthread_barrier_init' bar_bad.c:69: warning: implicit declaration of function `pthread_barrier_destroy' make[4]: *** [bar_bad.o] Error 1 make[4]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind/helgrind/tests' make[3]: *** [check-am] Error 2 make[3]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind/helgrind/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind/helgrind' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind' make: *** [check] Error 2 |
|
From: Tom H. <th...@cy...> - 2008-11-16 03:08:37
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-11-16 03:00:04 GMT 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 bar_bad.c:20: error: `bar2' undeclared (first use in this function) bar_bad.c:20: error: `bar3' undeclared (first use in this function) bar_bad.c:20: error: `bar4' undeclared (first use in this function) bar_bad.c:20: error: `bar5' undeclared (first use in this function) bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:20: warning: left-hand operand of comma expression has no effect bar_bad.c:21: warning: ISO C90 forbids mixed declarations and code bar_bad.c:39: warning: implicit declaration of function `pthread_barrier_init' bar_bad.c:69: warning: implicit declaration of function `pthread_barrier_destroy' make[4]: *** [bar_bad.o] Error 1 make[4]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind/helgrind/tests' make[3]: *** [check-am] Error 2 make[3]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind/helgrind/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind/helgrind' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/vgtest/2008-11-16/valgrind' make: *** [check] Error 2 |
|
From: Tom H. <th...@cy...> - 2008-11-15 04:00:37
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-11-15 03:05:09 GMT 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 == 469 tests, 23 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (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 == 464 tests, 20 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Nov 15 03:28:56 2008 --- new.short Sat Nov 15 04:00:32 2008 *************** *** 8,10 **** ! == 464 tests, 20 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) --- 8,10 ---- ! == 469 tests, 23 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) *************** *** 17,18 **** --- 17,21 ---- helgrind/tests/hg05_race2 (stderr) + helgrind/tests/pth_barrier1 (stderr) + helgrind/tests/pth_barrier2 (stderr) + helgrind/tests/pth_barrier3 (stderr) helgrind/tests/rwlock_race (stderr) |
|
From: Tom H. <th...@cy...> - 2008-11-15 03:59:57
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-11-15 03:15:04 GMT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
bar_bad.c:20: `bar1' undeclared (first use in this function)
bar_bad.c:20: `bar2' undeclared (first use in this function)
bar_bad.c:20: `bar3' undeclared (first use in this function)
bar_bad.c:20: `bar4' undeclared (first use in this function)
bar_bad.c:20: `bar5' undeclared (first use in this function)
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:39: warning: implicit declaration of function `pthread_barrier_init'
bar_bad.c:69: warning: implicit declaration of function `pthread_barrier_destroy'
make[4]: *** [bar_bad.o] Error 1
make[4]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind'
make: *** [check] Error 2
=================================================
== 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
== 369 tests, 84 stderr failures, 1 stdout failure, 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/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)
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/rwlock_race (stderr)
helgrind/tests/rwlock_test (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc02_simple_tls (stderr)
helgrind/tests/tc03_re_excl (stderr)
helgrind/tests/tc04_free_lock (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/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/mismatches (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/mremap2 (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Sat Nov 15 03:47:00 2008
--- new.short Sat Nov 15 03:59:51 2008
***************
*** 3,124 ****
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 369 tests, 84 stderr failures, 1 stdout failure, 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/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)
! 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/rwlock_race (stderr)
! helgrind/tests/rwlock_test (stderr)
! helgrind/tests/tc01_simple_race (stderr)
! helgrind/tests/tc02_simple_tls (stderr)
! helgrind/tests/tc03_re_excl (stderr)
! helgrind/tests/tc04_free_lock (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/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/mismatches (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/mremap2 (stdout)
! none/tests/shell (stderr)
! none/tests/shell_valid1 (stderr)
! none/tests/shell_valid2 (stderr)
! none/tests/shell_valid3 (stderr)
--- 3,26 ----
Configuring valgrind ... done
! Building valgrind ... failed
+ Last 20 lines of verbose log follow echo
+ bar_bad.c:20: `bar1' undeclared (first use in this function)
+ bar_bad.c:20: `bar2' undeclared (first use in this function)
+ bar_bad.c:20: `bar3' undeclared (first use in this function)
+ bar_bad.c:20: `bar4' undeclared (first use in this function)
+ bar_bad.c:20: `bar5' undeclared (first use in this function)
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:39: warning: implicit declaration of function `pthread_barrier_init'
+ bar_bad.c:69: warning: implicit declaration of function `pthread_barrier_destroy'
+ make[4]: *** [bar_bad.o] Error 1
+ make[4]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
+ make[3]: *** [check-am] Error 2
+ make[3]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
+ make[2]: *** [check-recursive] Error 1
+ make[2]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind'
+ make[1]: *** [check-recursive] Error 1
+ make[1]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind'
+ make: *** [check] Error 2
|
|
From: Tom H. <th...@cy...> - 2008-11-15 03:50:49
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-11-15 03:25:07 GMT 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 == 473 tests, 23 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) 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 == 468 tests, 20 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) 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 Sat Nov 15 03:36:08 2008 --- new.short Sat Nov 15 03:50:40 2008 *************** *** 8,10 **** ! == 468 tests, 20 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) --- 8,10 ---- ! == 473 tests, 23 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) *************** *** 16,17 **** --- 16,20 ---- helgrind/tests/hg05_race2 (stderr) + helgrind/tests/pth_barrier1 (stderr) + helgrind/tests/pth_barrier2 (stderr) + helgrind/tests/pth_barrier3 (stderr) helgrind/tests/rwlock_race (stderr) |
|
From: Tom H. <th...@cy...> - 2008-11-15 03:24:02
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-11-15 03:00:04 GMT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
bar_bad.c:20: error: `bar2' undeclared (first use in this function)
bar_bad.c:20: error: `bar3' undeclared (first use in this function)
bar_bad.c:20: error: `bar4' undeclared (first use in this function)
bar_bad.c:20: error: `bar5' undeclared (first use in this function)
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:20: warning: left-hand operand of comma expression has no effect
bar_bad.c:21: warning: ISO C90 forbids mixed declarations and code
bar_bad.c:39: warning: implicit declaration of function `pthread_barrier_init'
bar_bad.c:69: warning: implicit declaration of function `pthread_barrier_destroy'
make[4]: *** [bar_bad.o] Error 1
make[4]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind'
make: *** [check] Error 2
=================================================
== 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
== 470 tests, 34 stderr failures, 3 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/rwlock_race (stderr)
helgrind/tests/rwlock_test (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/malloc_free_fill (stderr)
memcheck/tests/origin5-bz2 (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/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 Sat Nov 15 03:14:36 2008
--- new.short Sat Nov 15 03:23:53 2008
***************
*** 3,47 ****
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 470 tests, 34 stderr failures, 3 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/rwlock_race (stderr)
! helgrind/tests/rwlock_test (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/malloc_free_fill (stderr)
! memcheck/tests/origin5-bz2 (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/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)
--- 3,26 ----
Configuring valgrind ... done
! Building valgrind ... failed
+ Last 20 lines of verbose log follow echo
+ bar_bad.c:20: error: `bar2' undeclared (first use in this function)
+ bar_bad.c:20: error: `bar3' undeclared (first use in this function)
+ bar_bad.c:20: error: `bar4' undeclared (first use in this function)
+ bar_bad.c:20: error: `bar5' undeclared (first use in this function)
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:20: warning: left-hand operand of comma expression has no effect
+ bar_bad.c:21: warning: ISO C90 forbids mixed declarations and code
+ bar_bad.c:39: warning: implicit declaration of function `pthread_barrier_init'
+ bar_bad.c:69: warning: implicit declaration of function `pthread_barrier_destroy'
+ make[4]: *** [bar_bad.o] Error 1
+ make[4]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
+ make[3]: *** [check-am] Error 2
+ make[3]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind/tests'
+ make[2]: *** [check-recursive] Error 1
+ make[2]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind/helgrind'
+ make[1]: *** [check-recursive] Error 1
+ make[1]: Leaving directory `/tmp/vgtest/2008-11-15/valgrind'
+ make: *** [check] Error 2
|
|
From: <sv...@va...> - 2008-11-14 19:43:50
|
Author: sewardj
Date: 2008-11-14 19:43:44 +0000 (Fri, 14 Nov 2008)
New Revision: 8768
Log:
Add some regression tests for pthread_barrier handling.
Added:
trunk/helgrind/tests/bar_bad.c
trunk/helgrind/tests/bar_bad.stderr.exp-glibc28-amd64
trunk/helgrind/tests/bar_bad.stdout.exp
trunk/helgrind/tests/bar_bad.vgtest
trunk/helgrind/tests/bar_trivial.c
trunk/helgrind/tests/bar_trivial.stderr.exp-glibc28-amd64
trunk/helgrind/tests/bar_trivial.stdout.exp
trunk/helgrind/tests/bar_trivial.vgtest
trunk/helgrind/tests/filter_threadnums
trunk/helgrind/tests/pth_barrier1.stderr.exp-glibc28-amd64
trunk/helgrind/tests/pth_barrier1.stdout.exp
trunk/helgrind/tests/pth_barrier1.vgtest
trunk/helgrind/tests/pth_barrier2.stderr.exp-glibc28-amd64
trunk/helgrind/tests/pth_barrier2.stdout.exp
trunk/helgrind/tests/pth_barrier2.vgtest
trunk/helgrind/tests/pth_barrier3.stderr.exp-glibc28-amd64
trunk/helgrind/tests/pth_barrier3.stdout.exp
trunk/helgrind/tests/pth_barrier3.vgtest
Modified:
trunk/helgrind/tests/Makefile.am
Modified: trunk/helgrind/tests/Makefile.am
===================================================================
--- trunk/helgrind/tests/Makefile.am 2008-11-14 19:41:19 UTC (rev 8767)
+++ trunk/helgrind/tests/Makefile.am 2008-11-14 19:43:44 UTC (rev 8768)
@@ -2,9 +2,13 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
-noinst_SCRIPTS = filter_stderr
+noinst_SCRIPTS = filter_stderr filter_threadnums
EXTRA_DIST = $(noinst_SCRIPTS) \
+ bar_bad.vgtest bar_bad.stdout.exp \
+ bar_bad.stderr.exp-glibc28-amd64 \
+ bar_trivial.vgtest bar_trivial.stdout.exp \
+ bar_trivial.stderr.exp-glibc28-amd64 \
hg01_all_ok.vgtest hg01_all_ok.stdout.exp \
hg01_all_ok.stderr.exp-glibc25-amd64 \
hg02_deadlock.vgtest hg02_deadlock.stdout.exp \
@@ -21,6 +25,12 @@
hg05_race2.stderr.exp-glibc25-x86 \
hg06_readshared.vgtest hg06_readshared.stdout.exp \
hg06_readshared.stderr.exp-glibc25-amd64 \
+ pth_barrier1.vgtest pth_barrier1.stdout.exp \
+ pth_barrier1.stderr.exp-glibc28-amd64 \
+ pth_barrier2.vgtest pth_barrier2.stdout.exp \
+ pth_barrier2.stderr.exp-glibc28-amd64 \
+ pth_barrier3.vgtest pth_barrier3.stdout.exp \
+ pth_barrier3.stderr.exp-glibc28-amd64 \
rwlock_race.vgtest rwlock_race.stdout.exp \
rwlock_race.stderr.exp-glibc25-amd64 \
rwlock_test.vgtest rwlock_test.stdout.exp \
@@ -93,12 +103,15 @@
tc24_nonzero_sem.stderr.exp-glibc25-amd64
check_PROGRAMS = \
+ bar_bad \
+ bar_trivial \
hg01_all_ok \
hg02_deadlock \
hg03_inherit \
hg04_race \
hg05_race2 \
hg06_readshared \
+ pth_barrier \
rwlock_race \
rwlock_test \
tc01_simple_race \
@@ -135,5 +148,6 @@
LDADD = -lpthread
# only needed because of referencing sources in drd/tests
+pth_barrier_SOURCES = ../../drd/tests/pth_barrier.c
rwlock_race_SOURCES = ../../drd/tests/rwlock_race.c
rwlock_test_SOURCES = ../../drd/tests/rwlock_test.c
Added: trunk/helgrind/tests/bar_bad.c
===================================================================
--- trunk/helgrind/tests/bar_bad.c (rev 0)
+++ trunk/helgrind/tests/bar_bad.c 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,89 @@
+
+/* This program checks that Helgrind reports the five degenerate
+ uses of the barrier functions shown. */
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+#include <string.h>
+
+void* child1 ( void* arg )
+{
+ pthread_barrier_wait( (pthread_barrier_t*)arg );
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_barrier_t *bar1, *bar2, *bar3, *bar4, *bar5;
+ pthread_t thr1, thr2;
+ int r;
+
+ /* possibly set up a watchdog timer thread here. */
+
+
+
+
+
+
+
+
+
+
+
+ /* initialise a barrier with a zero count */
+ fprintf(stderr, "\ninitialise a barrier with zero count\n");
+ bar1 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar1, NULL, 0);
+
+ /* initialise a barrier twice */
+ fprintf(stderr, "\ninitialise a barrier twice\n");
+ bar2 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar2, NULL, 1);
+ pthread_barrier_init(bar2, NULL, 1);
+
+ /* initialise a barrier which has threads waiting on it.
+ This isn't too simple. */
+ fprintf(stderr, "\ninitialise a barrier which has threads waiting on it\n");
+ bar3 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar3, NULL, 2);
+ /* create a thread, whose only purpose is to block on the barrier */
+ pthread_create(&thr1, NULL, child1, (void*)bar3);
+ /* guarantee that it gets there first */
+ sleep(1);
+ /* and now reinitialise */
+ pthread_barrier_init(bar3, NULL, 3);
+
+ /* destroy a barrier that has threads waiting at it */
+ fprintf(stderr, "\ndestroy a barrier that has waiting threads\n");
+ /* once again, create a thread, whose only purpose is to block. */
+ bar4 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar4, NULL, 2);
+ /* create a thread, whose only purpose is to block on the barrier */
+ pthread_create(&thr2, NULL, child1, (void*)bar4);
+ /* guarantee that it gets there first */
+ sleep(1);
+ /* and now destroy */
+ pthread_barrier_destroy(bar4);
+
+ /* destroy a barrier that was never initialised. This is a bit
+ tricky, in that we have to fill the barrier with bytes which
+ ensure that the pthread_barrier_destroy call doesn't hang for
+ some reason. Zero-fill seems to work ok on amd64-linux (glibc
+ 2.8). */
+ fprintf(stderr, "\ndestroy a barrier that was never initialised\n");
+ bar5 = malloc(sizeof(pthread_barrier_t));
+ assert(bar5);
+ memset(bar5, 0, sizeof(*bar5));
+ pthread_barrier_destroy(bar5);
+
+ /* now we need to clean up the mess .. */
+ r= pthread_cancel(thr1); assert(!r);
+ r= pthread_cancel(thr2); assert(!r);
+
+ free(bar1); free(bar2); free(bar3); free(bar4); free(bar5);
+
+ return 0;
+}
Added: trunk/helgrind/tests/bar_bad.stderr.exp-glibc28-amd64
===================================================================
--- trunk/helgrind/tests/bar_bad.stderr.exp-glibc28-amd64 (rev 0)
+++ trunk/helgrind/tests/bar_bad.stderr.exp-glibc28-amd64 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,45 @@
+
+initialise a barrier with zero count
+Thread #1 is the program's root thread
+
+Thread #1: pthread_barrier_init: 'count' argument is zero
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:39)
+
+Thread #1's call to pthread_barrier_init failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:39)
+
+initialise a barrier twice
+
+Thread #1: pthread_barrier_init: barrier is already initialised
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:45)
+
+initialise a barrier which has threads waiting on it
+
+Thread #1: pthread_barrier_init: barrier is already initialised
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:57)
+
+Thread #1: pthread_barrier_init: threads are waiting at barrier
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:57)
+
+destroy a barrier that has waiting threads
+
+Thread #1: pthread_barrier_destroy: threads are waiting at barrier
+ at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:69)
+
+Thread #1's call to pthread_barrier_destroy failed
+ with error code 16 (EBUSY: Device or resource busy)
+ at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:69)
+
+destroy a barrier that was never initialised
+
+Thread #1: pthread_barrier_destroy: barrier was never initialised
+ at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:80)
Added: trunk/helgrind/tests/bar_bad.stdout.exp
===================================================================
Added: trunk/helgrind/tests/bar_bad.vgtest
===================================================================
--- trunk/helgrind/tests/bar_bad.vgtest (rev 0)
+++ trunk/helgrind/tests/bar_bad.vgtest 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,2 @@
+prog: bar_bad
+vgopts: -q
Added: trunk/helgrind/tests/bar_trivial.c
===================================================================
--- trunk/helgrind/tests/bar_trivial.c (rev 0)
+++ trunk/helgrind/tests/bar_trivial.c 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,57 @@
+
+/* This is the most trivial test I could think of that involves
+ barriers. If H fails to notice the pthread_barrier_wait call then
+ it will report a race. Correct behaviour is not to report a race
+ (there isn't one.) */
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+
+int x = 0;
+
+pthread_barrier_t bar;
+
+void* child_fn ( void* arg )
+{
+ long r, n = (long)arg;
+
+ if (n == 1) x++;
+
+ r = pthread_barrier_wait(&bar);
+ assert(r == 0 || r == PTHREAD_BARRIER_SERIAL_THREAD);
+
+ if (n == 0) x++;
+
+ sleep(1); /* ensure both threads get to this point before
+ either exits. */
+ return NULL;
+}
+
+#define NTHR 2
+
+int main ( void )
+{
+ long i, r;
+ pthread_t thr[NTHR];
+
+ r = pthread_barrier_init(&bar, NULL, NTHR);
+ assert(!r);
+
+ for (i = 0; i < NTHR; i++) {
+ r = pthread_create(&thr[i], NULL, child_fn, (void*)i);
+ assert(!r);
+ }
+
+ for (i = 0; i < NTHR; i++) {
+ r = pthread_join(thr[i], NULL);
+ assert(!r);
+ }
+
+ r = pthread_barrier_destroy(&bar); assert(!r);
+
+ printf("x = %d\n", x);
+ return 0;
+}
Added: trunk/helgrind/tests/bar_trivial.stderr.exp-glibc28-amd64
===================================================================
Added: trunk/helgrind/tests/bar_trivial.stdout.exp
===================================================================
--- trunk/helgrind/tests/bar_trivial.stdout.exp (rev 0)
+++ trunk/helgrind/tests/bar_trivial.stdout.exp 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1 @@
+x = 2
Added: trunk/helgrind/tests/bar_trivial.vgtest
===================================================================
--- trunk/helgrind/tests/bar_trivial.vgtest (rev 0)
+++ trunk/helgrind/tests/bar_trivial.vgtest 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,2 @@
+prog: bar_trivial
+vgopts: -q
Added: trunk/helgrind/tests/filter_threadnums
===================================================================
--- trunk/helgrind/tests/filter_threadnums (rev 0)
+++ trunk/helgrind/tests/filter_threadnums 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+./filter_stderr |
+
+# get rid of the numbers in bits of text "Thread #n" and "thread #n"
+# as these make some tests more scheduling sensitive -- those where
+# there are multiple threads which play interchangeable roles.
+
+sed "s/hread #[0-9]*/hread #x/"
Property changes on: trunk/helgrind/tests/filter_threadnums
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/helgrind/tests/pth_barrier1.stderr.exp-glibc28-amd64
===================================================================
--- trunk/helgrind/tests/pth_barrier1.stderr.exp-glibc28-amd64 (rev 0)
+++ trunk/helgrind/tests/pth_barrier1.stderr.exp-glibc28-amd64 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,26 @@
+Thread #x was created
+ at 0x........: clone (in /...libc...)
+ by 0x........: ...
+ by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ at 0x........: clone (in /...libc...)
+ by 0x........: ...
+ by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
Added: trunk/helgrind/tests/pth_barrier1.stdout.exp
===================================================================
Added: trunk/helgrind/tests/pth_barrier1.vgtest
===================================================================
--- trunk/helgrind/tests/pth_barrier1.vgtest (rev 0)
+++ trunk/helgrind/tests/pth_barrier1.vgtest 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,4 @@
+prog: pth_barrier
+args: 2 1 1
+vgopts: -q
+stderr_filter: ./filter_threadnums
Added: trunk/helgrind/tests/pth_barrier2.stderr.exp-glibc28-amd64
===================================================================
--- trunk/helgrind/tests/pth_barrier2.stderr.exp-glibc28-amd64 (rev 0)
+++ trunk/helgrind/tests/pth_barrier2.stderr.exp-glibc28-amd64 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,367 @@
+Thread #x was created
+ at 0x........: clone (in /...libc...)
+ by 0x........: ...
+ by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ at 0x........: clone (in /...libc...)
+ by 0x........: ...
+ by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
Added: trunk/helgrind/tests/pth_barrier2.stdout.exp
===================================================================
Added: trunk/helgrind/tests/pth_barrier2.vgtest
===================================================================
--- trunk/helgrind/tests/pth_barrier2.vgtest (rev 0)
+++ trunk/helgrind/tests/pth_barrier2.vgtest 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,4 @@
+prog: pth_barrier
+args: 2 32 1
+vgopts: -q --cmp-race-err-addrs=yes
+stderr_filter: ./filter_threadnums
Added: trunk/helgrind/tests/pth_barrier3.stderr.exp-glibc28-amd64
===================================================================
--- trunk/helgrind/tests/pth_barrier3.stderr.exp-glibc28-amd64 (rev 0)
+++ trunk/helgrind/tests/pth_barrier3.stderr.exp-glibc28-amd64 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,26 @@
+Thread #x was created
+ at 0x........: clone (in /...libc...)
+ by 0x........: ...
+ by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ at 0x........: clone (in /...libc...)
+ by 0x........: ...
+ by 0x........: pthread_create@GLIBC_ (in /lib/libpthread...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
+ This conflicts with a previous access by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ by 0x........: ...
+ by 0x........: ...
Added: trunk/helgrind/tests/pth_barrier3.stdout.exp
===================================================================
Added: trunk/helgrind/tests/pth_barrier3.vgtest
===================================================================
--- trunk/helgrind/tests/pth_barrier3.vgtest (rev 0)
+++ trunk/helgrind/tests/pth_barrier3.vgtest 2008-11-14 19:43:44 UTC (rev 8768)
@@ -0,0 +1,4 @@
+prog: pth_barrier
+args: 32 1 1
+vgopts: -q
+stderr_filter: ./filter_threadnums
|
|
From: <sv...@va...> - 2008-11-14 19:41:26
|
Author: sewardj
Date: 2008-11-14 19:41:19 +0000 (Fri, 14 Nov 2008)
New Revision: 8767
Log:
Add a couple more tests for API errors in
evh__HG_PTHREAD_BARRIER_DESTROY_PRE.
Modified:
trunk/helgrind/hg_main.c
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2008-11-13 13:33:09 UTC (rev 8766)
+++ trunk/helgrind/hg_main.c 2008-11-14 19:41:19 UTC (rev 8767)
@@ -2607,7 +2607,7 @@
if (bar->waiting && VG_(sizeXA)(bar->waiting) > 0) {
tl_assert(bar->initted);
HG_(record_error_Misc)(
- thr, "pthread_barrier_init: barrier still has waiting threads"
+ thr, "pthread_barrier_init: threads are waiting at barrier"
);
VG_(dropTailXA)(bar->waiting, VG_(sizeXA)(bar->waiting));
}
@@ -2626,6 +2626,9 @@
static void evh__HG_PTHREAD_BARRIER_DESTROY_PRE ( ThreadId tid,
void* barrier )
{
+ Thread* thr;
+ Bar* bar;
+
/* Deal with destroy events. The only purpose is to free storage
associated with the barrier, so as to avoid any possible
resource leaks. */
@@ -2634,6 +2637,24 @@
"(tid=%d, barrier=%p)\n",
(Int)tid, (void*)barrier );
+ thr = map_threads_maybe_lookup( tid );
+ tl_assert(thr); /* cannot fail - Thread* must already exist */
+
+ bar = map_barrier_to_Bar_lookup_or_alloc(barrier);
+ tl_assert(bar);
+
+ if (!bar->initted) {
+ HG_(record_error_Misc)(
+ thr, "pthread_barrier_destroy: barrier was never initialised"
+ );
+ }
+
+ if (bar->initted && bar->waiting && VG_(sizeXA)(bar->waiting) > 0) {
+ HG_(record_error_Misc)(
+ thr, "pthread_barrier_destroy: threads are waiting at barrier"
+ );
+ }
+
/* Maybe we shouldn't do this; just let it persist, so that when it
is reinitialised we don't need to do any dynamic memory
allocation? The downside is a potentially unlimited space leak,
@@ -2641,7 +2662,7 @@
at different locations. Note that if we do later move to the
don't-delete-it scheme, we need to mark the barrier as
uninitialised again since otherwise a later _init call will
- elicit a duplicate-init error. */
+ elicit a duplicate-init error. */
map_barrier_to_Bar_delete( barrier );
}
@@ -2685,10 +2706,10 @@
if (present < bar->size)
return;
- /* All the threads have arrived. Now do the Interesting bit. Get
+ /* All the threads have arrived. Now do the Interesting Bit. Get
a new synchronisation object and do a weak send to it from all
the participating threads. This makes its vector clocks be the
- join of all the individual thread's vector clocks. Then do a
+ join of all the individual threads' vector clocks. Then do a
strong receive from it back to all threads, so that their VCs
are a copy of it (hence are all equal to the join of their
original VCs.) */
|
|
From: Tom H. <th...@cy...> - 2008-11-14 04:11:07
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-11-14 03:15:10 GMT 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 == 369 tests, 84 stderr failures, 1 stdout failure, 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/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) 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/rwlock_race (stderr) helgrind/tests/rwlock_test (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (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/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/mismatches (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/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-11-14 03:59:36
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-11-14 03:05:07 GMT 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, 20 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) |
|
From: Tom H. <th...@cy...> - 2008-11-14 03:52:01
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-11-14 03:25:05 GMT 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 == 468 tests, 20 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) 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: Ashley P. <api...@co...> - 2008-11-13 22:05:50
|
On Thu, 2008-11-13 at 13:58 -0800, Dan Kegel wrote: > I ran into a situation where I wanted to use --log-file > and --trace-children=yes together. Not surprisingly, > this didn't work so well. I added the following hack > to cause a '$' in the log file name to be expanded to > the pid. This avoids log file corruption by multiple > processes writing to same file. Is there a better > way to do this? Does --log-file=log.%p do what you want? Ashley. |
|
From: Dan K. <da...@ke...> - 2008-11-13 21:58:30
|
I ran into a situation where I wanted to use --log-file and --trace-children=yes together. Not surprisingly, this didn't work so well. I added the following hack to cause a '$' in the log file name to be expanded to the pid. This avoids log file corruption by multiple processes writing to same file. Is there a better way to do this? Thanks, Dan |
|
From: <sv...@va...> - 2008-11-13 13:33:13
|
Author: sewardj
Date: 2008-11-13 13:33:09 +0000 (Thu, 13 Nov 2008)
New Revision: 8766
Log:
Add initial support for POSIX barriers (pthread_barrier_{init,wait,destroy}).
Modified:
trunk/glibc-2.34567-NPTL-helgrind.supp
trunk/helgrind/helgrind.h
trunk/helgrind/hg_intercepts.c
trunk/helgrind/hg_main.c
Modified: trunk/glibc-2.34567-NPTL-helgrind.supp
===================================================================
--- trunk/glibc-2.34567-NPTL-helgrind.supp 2008-11-13 13:17:06 UTC (rev 8765)
+++ trunk/glibc-2.34567-NPTL-helgrind.supp 2008-11-13 13:33:09 UTC (rev 8766)
@@ -215,6 +215,11 @@
Helgrind:Race
fun:pthread_create@*
}
+{
+ helgrind-glibc28-113
+ Helgrind:Race
+ fun:pthread_barrier_wait*
+}
######------------ glibc-2.7 specific ---------######
#
Modified: trunk/helgrind/helgrind.h
===================================================================
--- trunk/helgrind/helgrind.h 2008-11-13 13:17:06 UTC (rev 8765)
+++ trunk/helgrind/helgrind.h 2008-11-13 13:33:09 UTC (rev 8766)
@@ -93,7 +93,9 @@
_VG_USERREQ__HG_POSIX_SEM_DESTROY_PRE, /* sem_t* */
_VG_USERREQ__HG_POSIX_SEM_POST_PRE, /* sem_t* */
_VG_USERREQ__HG_POSIX_SEM_WAIT_POST, /* sem_t* */
- _VG_USERREQ__HG_GET_MY_SEGMENT /* -> Segment* */
+ _VG_USERREQ__HG_PTHREAD_BARRIER_INIT_PRE, /* pth_bar_t*, ulong */
+ _VG_USERREQ__HG_PTHREAD_BARRIER_WAIT_PRE, /* pth_bar_t* */
+ _VG_USERREQ__HG_PTHREAD_BARRIER_DESTROY_PRE /* pth_bar_t* */
} Vg_TCheckClientRequest;
/* Clean memory state. This makes Helgrind forget everything it knew
Modified: trunk/helgrind/hg_intercepts.c
===================================================================
--- trunk/helgrind/hg_intercepts.c 2008-11-13 13:17:06 UTC (rev 8765)
+++ trunk/helgrind/hg_intercepts.c 2008-11-13 13:33:09 UTC (rev 8766)
@@ -755,30 +755,76 @@
/*--- pthread_barrier_t functions ---*/
/*----------------------------------------------------------------*/
-PTH_FUNC(int, pthreadZubarrierZuwait, // pthread_barrier_wait.
- pthread_barrier_t* b)
+/* Handled: pthread_barrier_init
+ pthread_barrier_wait
+ pthread_barrier_destroy
+
+ Unhandled: pthread_barrierattr_destroy
+ pthread_barrierattr_getpshared
+ pthread_barrierattr_init
+ pthread_barrierattr_setpshared
+ -- are these important?
+*/
+
+PTH_FUNC(int, pthreadZubarrierZuinit, // pthread_barrier_init
+ pthread_barrier_t* bar,
+ pthread_barrierattr_t* attr, unsigned long count)
{
int ret;
OrigFn fn;
VALGRIND_GET_ORIG_FN(fn);
if (TRACE_PTH_FNS) {
- fprintf(stderr, "<< pthread_barrier_wait %p", b);
+ fprintf(stderr, "<< pthread_barrier_init %p %p %lu",
+ bar, attr, count);
fflush(stderr);
}
- // We blocked, signal.
- DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_COND_BROADCAST_PRE,
- void*,b);
- CALL_FN_W_W(ret, fn, b);
+ DO_CREQ_v_WW(_VG_USERREQ__HG_PTHREAD_BARRIER_INIT_PRE,
+ pthread_barrier_t*,bar,
+ unsigned long,count);
- // FIXME: handle ret
+ CALL_FN_W_WWW(ret, fn, bar,attr,count);
- // We unblocked, finish wait.
- DO_CREQ_v_WW(_VG_USERREQ__HG_PTHREAD_COND_WAIT_POST,
- void *, b, void *, b);
+ if (ret != 0) {
+ DO_PthAPIerror( "pthread_barrier_init", ret );
+ }
if (TRACE_PTH_FNS) {
+ fprintf(stderr, " pthread_barrier_init -> %d >>\n", ret);
+ }
+
+ return ret;
+}
+
+
+PTH_FUNC(int, pthreadZubarrierZuwait, // pthread_barrier_wait
+ pthread_barrier_t* bar)
+{
+ int ret;
+ OrigFn fn;
+ VALGRIND_GET_ORIG_FN(fn);
+
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, "<< pthread_barrier_wait %p", bar);
+ fflush(stderr);
+ }
+
+ /* That this works correctly, and doesn't screw up when a thread
+ leaving the barrier races round to the front and re-enters while
+ other threads are still leaving it, is quite subtle. See
+ comments in the handler for PTHREAD_BARRIER_WAIT_PRE in
+ hg_main.c. */
+ DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_BARRIER_WAIT_PRE,
+ pthread_barrier_t*,bar);
+
+ CALL_FN_W_W(ret, fn, bar);
+
+ if (ret != 0 && ret != PTHREAD_BARRIER_SERIAL_THREAD) {
+ DO_PthAPIerror( "pthread_barrier_wait", ret );
+ }
+
+ if (TRACE_PTH_FNS) {
fprintf(stderr, " pthread_barrier_wait -> %d >>\n", ret);
}
@@ -786,7 +832,34 @@
}
+PTH_FUNC(int, pthreadZubarrierZudestroy, // pthread_barrier_destroy
+ pthread_barrier_t* bar)
+{
+ int ret;
+ OrigFn fn;
+ VALGRIND_GET_ORIG_FN(fn);
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, "<< pthread_barrier_destroy %p", bar);
+ fflush(stderr);
+ }
+
+ DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_BARRIER_DESTROY_PRE,
+ pthread_barrier_t*,bar);
+
+ CALL_FN_W_W(ret, fn, bar);
+
+ if (ret != 0) {
+ DO_PthAPIerror( "pthread_barrier_destroy", ret );
+ }
+
+ if (TRACE_PTH_FNS) {
+ fprintf(stderr, " pthread_barrier_destroy -> %d >>\n", ret);
+ }
+
+ return ret;
+}
+
/*----------------------------------------------------------------*/
/*--- pthread_rwlock_t functions ---*/
/*----------------------------------------------------------------*/
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2008-11-13 13:17:06 UTC (rev 8765)
+++ trunk/helgrind/hg_main.c 2008-11-13 13:33:09 UTC (rev 8766)
@@ -1397,7 +1397,9 @@
}
-/*--------- Event handlers proper (evh__* functions) ---------*/
+/* ---------------------------------------------------------- */
+/* -------- Event handlers proper (evh__* functions) -------- */
+/* ---------------------------------------------------------- */
/* What is the Thread* for the currently running thread? This is
absolutely performance critical. We receive notifications from the
@@ -1814,8 +1816,9 @@
// evhH__pre_thread_releases_lock( thr, (Addr)&__bus_lock, False/*!isRDWR*/ );
//}
-
+/* ------------------------------------------------------- */
/* -------------- events to do with mutexes -------------- */
+/* ------------------------------------------------------- */
/* EXPOSITION only: by intercepting lock init events we can show the
user where the lock was initialised, rather than only being able to
@@ -1964,7 +1967,9 @@
}
+/* ----------------------------------------------------- */
/* --------------- events to do with CVs --------------- */
+/* ----------------------------------------------------- */
/* A mapping from CV to the SO associated with it. When the CV is
signalled/broadcasted upon, we do a 'send' into the SO, and when a
@@ -1978,7 +1983,8 @@
static void map_cond_to_SO_INIT ( void ) {
if (UNLIKELY(map_cond_to_SO == NULL)) {
- map_cond_to_SO = VG_(newFM)( HG_(zalloc), "hg.mctSI.1", HG_(free), NULL );
+ map_cond_to_SO = VG_(newFM)( HG_(zalloc),
+ "hg.mctSI.1", HG_(free), NULL );
tl_assert(map_cond_to_SO != NULL);
}
}
@@ -2137,7 +2143,9 @@
}
+/* ------------------------------------------------------- */
/* -------------- events to do with rwlocks -------------- */
+/* ------------------------------------------------------- */
/* EXPOSITION only */
static
@@ -2274,7 +2282,9 @@
}
-/* --------------- events to do with semaphores --------------- */
+/* ---------------------------------------------------------- */
+/* -------------- events to do with semaphores -------------- */
+/* ---------------------------------------------------------- */
/* This is similar to but not identical to the handling for condition
variables. */
@@ -2500,6 +2510,213 @@
}
+/* -------------------------------------------------------- */
+/* -------------- events to do with barriers -------------- */
+/* -------------------------------------------------------- */
+
+typedef
+ struct {
+ Bool initted; /* has it yet been initted by guest? */
+ UWord size; /* declared size */
+ XArray* waiting; /* XA of Thread*. # present is 0 .. .size */
+ }
+ Bar;
+
+static Bar* new_Bar ( void ) {
+ Bar* bar = HG_(zalloc)( "hg.nB.1 (new_Bar)", sizeof(Bar) );
+ tl_assert(bar);
+ /* all fields are zero */
+ tl_assert(bar->initted == False);
+ return bar;
+}
+
+static void delete_Bar ( Bar* bar ) {
+ tl_assert(bar);
+ if (bar->waiting)
+ VG_(deleteXA)(bar->waiting);
+ HG_(free)(bar);
+}
+
+/* A mapping which stores auxiliary data for barriers. */
+
+/* pthread_barrier_t* -> Bar* */
+static WordFM* map_barrier_to_Bar = NULL;
+
+static void map_barrier_to_Bar_INIT ( void ) {
+ if (UNLIKELY(map_barrier_to_Bar == NULL)) {
+ map_barrier_to_Bar = VG_(newFM)( HG_(zalloc),
+ "hg.mbtBI.1", HG_(free), NULL );
+ tl_assert(map_barrier_to_Bar != NULL);
+ }
+}
+
+static Bar* map_barrier_to_Bar_lookup_or_alloc ( void* barrier ) {
+ UWord key, val;
+ map_barrier_to_Bar_INIT();
+ if (VG_(lookupFM)( map_barrier_to_Bar, &key, &val, (UWord)barrier )) {
+ tl_assert(key == (UWord)barrier);
+ return (Bar*)val;
+ } else {
+ Bar* bar = new_Bar();
+ VG_(addToFM)( map_barrier_to_Bar, (UWord)barrier, (UWord)bar );
+ return bar;
+ }
+}
+
+static void map_barrier_to_Bar_delete ( void* barrier ) {
+ UWord keyW, valW;
+ map_barrier_to_Bar_INIT();
+ if (VG_(delFromFM)( map_barrier_to_Bar, &keyW, &valW, (UWord)barrier )) {
+ Bar* bar = (Bar*)valW;
+ tl_assert(keyW == (UWord)barrier);
+ delete_Bar(bar);
+ }
+}
+
+
+static void evh__HG_PTHREAD_BARRIER_INIT_PRE ( ThreadId tid,
+ void* barrier,
+ UWord count )
+{
+ Thread* thr;
+ Bar* bar;
+
+ if (SHOW_EVENTS >= 1)
+ VG_(printf)("evh__HG_PTHREAD_BARRIER_INIT_PRE"
+ "(tid=%d, barrier=%p, count=%lu)\n",
+ (Int)tid, (void*)barrier, count );
+
+ thr = map_threads_maybe_lookup( tid );
+ tl_assert(thr); /* cannot fail - Thread* must already exist */
+
+ if (count == 0) {
+ HG_(record_error_Misc)(
+ thr, "pthread_barrier_init: 'count' argument is zero"
+ );
+ }
+
+ bar = map_barrier_to_Bar_lookup_or_alloc(barrier);
+ tl_assert(bar);
+
+ if (bar->initted) {
+ HG_(record_error_Misc)(
+ thr, "pthread_barrier_init: barrier is already initialised"
+ );
+ }
+
+ if (bar->waiting && VG_(sizeXA)(bar->waiting) > 0) {
+ tl_assert(bar->initted);
+ HG_(record_error_Misc)(
+ thr, "pthread_barrier_init: barrier still has waiting threads"
+ );
+ VG_(dropTailXA)(bar->waiting, VG_(sizeXA)(bar->waiting));
+ }
+ if (!bar->waiting) {
+ bar->waiting = VG_(newXA)( HG_(zalloc), "hg.eHPBIP.1", HG_(free),
+ sizeof(Thread*) );
+ }
+
+ tl_assert(bar->waiting);
+ tl_assert(VG_(sizeXA)(bar->waiting) == 0);
+ bar->initted = True;
+ bar->size = count;
+}
+
+
+static void evh__HG_PTHREAD_BARRIER_DESTROY_PRE ( ThreadId tid,
+ void* barrier )
+{
+ /* Deal with destroy events. The only purpose is to free storage
+ associated with the barrier, so as to avoid any possible
+ resource leaks. */
+ if (SHOW_EVENTS >= 1)
+ VG_(printf)("evh__HG_PTHREAD_BARRIER_DESTROY_PRE"
+ "(tid=%d, barrier=%p)\n",
+ (Int)tid, (void*)barrier );
+
+ /* Maybe we shouldn't do this; just let it persist, so that when it
+ is reinitialised we don't need to do any dynamic memory
+ allocation? The downside is a potentially unlimited space leak,
+ if the client creates (in turn) a large number of barriers all
+ at different locations. Note that if we do later move to the
+ don't-delete-it scheme, we need to mark the barrier as
+ uninitialised again since otherwise a later _init call will
+ elicit a duplicate-init error. */
+ map_barrier_to_Bar_delete( barrier );
+}
+
+
+static void evh__HG_PTHREAD_BARRIER_WAIT_PRE ( ThreadId tid,
+ void* barrier )
+{
+ Thread* thr;
+ Bar* bar;
+ SO* so;
+ UWord present, i;
+
+ if (SHOW_EVENTS >= 1)
+ VG_(printf)("evh__HG_PTHREAD_BARRIER_WAIT_PRE"
+ "(tid=%d, barrier=%p)\n",
+ (Int)tid, (void*)barrier );
+
+ thr = map_threads_maybe_lookup( tid );
+ tl_assert(thr); /* cannot fail - Thread* must already exist */
+
+ bar = map_barrier_to_Bar_lookup_or_alloc(barrier);
+ tl_assert(bar);
+
+ if (!bar->initted) {
+ HG_(record_error_Misc)(
+ thr, "pthread_barrier_wait: barrier is uninitialised"
+ );
+ return; /* client is broken .. avoid assertions below */
+ }
+
+ /* guaranteed by _INIT_PRE above */
+ tl_assert(bar->size > 0);
+ tl_assert(bar->waiting);
+
+ VG_(addToXA)( bar->waiting, &thr );
+
+ /* guaranteed by this function */
+ present = VG_(sizeXA)(bar->waiting);
+ tl_assert(present > 0 && present <= bar->size);
+
+ if (present < bar->size)
+ return;
+
+ /* All the threads have arrived. Now do the Interesting bit. Get
+ a new synchronisation object and do a weak send to it from all
+ the participating threads. This makes its vector clocks be the
+ join of all the individual thread's vector clocks. Then do a
+ strong receive from it back to all threads, so that their VCs
+ are a copy of it (hence are all equal to the join of their
+ original VCs.) */
+ so = libhb_so_alloc();
+
+ /* XXX check ->waiting has no duplicates */
+
+ tl_assert(bar->waiting);
+ tl_assert(VG_(sizeXA)(bar->waiting) == bar->size);
+
+ /* compute the join ... */
+ for (i = 0; i < bar->size; i++) {
+ Thread* t = *(Thread**)VG_(indexXA)(bar->waiting, i);
+ Thr* hbthr = t->hbthr;
+ libhb_so_send( hbthr, so, False/*weak send*/ );
+ }
+ /* ... and distribute to all threads */
+ for (i = 0; i < bar->size; i++) {
+ Thread* t = *(Thread**)VG_(indexXA)(bar->waiting, i);
+ Thr* hbthr = t->hbthr;
+ libhb_so_recv( hbthr, so, True/*strong recv*/ );
+ }
+
+ /* finally, we must empty out the waiting vector */
+ VG_(dropTailXA)(bar->waiting, VG_(sizeXA)(bar->waiting));
+}
+
+
/*--------------------------------------------------------------*/
/*--- Lock acquisition order monitoring ---*/
/*--------------------------------------------------------------*/
@@ -3658,20 +3875,21 @@
evh__HG_POSIX_SEM_WAIT_POST( tid, (void*)args[1] );
break;
-//zz case _VG_USERREQ__HG_GET_MY_SEGMENT: { // -> Segment*
-//zz Thread* thr;
-//zz SegmentID segid;
-//zz Segment* seg;
-//zz thr = map_threads_maybe_lookup( tid );
-//zz tl_assert(thr); /* cannot fail */
-//zz segid = thr->csegid;
-//zz tl_assert(is_sane_SegmentID(segid));
-//zz seg = map_segments_lookup( segid );
-//zz tl_assert(seg);
-//zz *ret = (UWord)seg;
-//zz break;
-//zz }
+ case _VG_USERREQ__HG_PTHREAD_BARRIER_INIT_PRE:
+ /* pth_bar_t*, ulong */
+ evh__HG_PTHREAD_BARRIER_INIT_PRE( tid, (void*)args[1], args[2] );
+ break;
+ case _VG_USERREQ__HG_PTHREAD_BARRIER_WAIT_PRE:
+ /* pth_bar_t* */
+ evh__HG_PTHREAD_BARRIER_WAIT_PRE( tid, (void*)args[1] );
+ break;
+
+ case _VG_USERREQ__HG_PTHREAD_BARRIER_DESTROY_PRE:
+ /* pth_bar_t* */
+ evh__HG_PTHREAD_BARRIER_DESTROY_PRE( tid, (void*)args[1] );
+ break;
+
default:
/* Unhandled Helgrind client request! */
tl_assert2(0, "unhandled Helgrind client request 0x%lx",
|
|
From: <sv...@va...> - 2008-11-13 13:17:13
|
Author: sewardj
Date: 2008-11-13 13:17:06 +0000 (Thu, 13 Nov 2008)
New Revision: 8765
Log:
Add performance comments to VG_(sizeFM), and add new method
VG_(isEmptyFM), currently commented out.
Modified:
trunk/coregrind/m_wordfm.c
trunk/include/pub_tool_wordfm.h
Modified: trunk/coregrind/m_wordfm.c
===================================================================
--- trunk/coregrind/m_wordfm.c 2008-11-13 13:14:00 UTC (rev 8764)
+++ trunk/coregrind/m_wordfm.c 2008-11-13 13:17:06 UTC (rev 8765)
@@ -683,12 +683,19 @@
key, fm->kCmp );
}
+// See comment in pub_tool_wordfm.h for performance warning
UWord VG_(sizeFM) ( WordFM* fm )
{
// Hmm, this is a bad way to do this
return fm->root ? size_avl_nonNull( fm->root ) : 0;
}
+// NB UNTESTED! TEST BEFORE USE!
+//Bool VG_(isEmptyFM)( WordFM* fm )
+//{
+// return fm->root ? False : True;
+//}
+
// set up FM for iteration
void VG_(initIterFM) ( WordFM* fm )
{
Modified: trunk/include/pub_tool_wordfm.h
===================================================================
--- trunk/include/pub_tool_wordfm.h 2008-11-13 13:14:00 UTC (rev 8764)
+++ trunk/include/pub_tool_wordfm.h 2008-11-13 13:17:06 UTC (rev 8765)
@@ -122,9 +122,16 @@
UWord maxKey, UWord maxVal,
UWord key );
-// How many elements are there in fm?
+// How many elements are there in fm? NOTE: dangerous in the
+// sense that this is not an O(1) operation but rather O(N),
+// since it involves walking the whole tree.
UWord VG_(sizeFM) ( WordFM* fm );
+// Is fm empty? This at least is an O(1) operation.
+// Code is present in m_wordfm.c but commented out due to no
+// current usage. Un-comment (and TEST IT) if required.
+//Bool VG_(isEmptyFM)( WordFM* fm );
+
// set up FM for iteration
void VG_(initIterFM) ( WordFM* fm );
|
|
From: <sv...@va...> - 2008-11-13 13:14:08
|
Author: sewardj
Date: 2008-11-13 13:14:00 +0000 (Thu, 13 Nov 2008)
New Revision: 8764
Log:
Fix debug printing of fd in mmap system calls.
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2008-11-10 18:54:46 UTC (rev 8763)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2008-11-13 13:14:00 UTC (rev 8764)
@@ -948,8 +948,8 @@
{
SysRes r;
- PRINT("sys_mmap ( %#lx, %llu, %ld, %ld, %ld, %ld )",
- ARG1, (ULong)ARG2, ARG3, ARG4, ARG5, ARG6 );
+ PRINT("sys_mmap ( %#lx, %llu, %ld, %ld, %d, %ld )",
+ ARG1, (ULong)ARG2, ARG3, ARG4, (Int)ARG5, ARG6 );
PRE_REG_READ6(long, "mmap",
unsigned long, start, unsigned long, length,
unsigned long, prot, unsigned long, flags,
|
|
From: Tom H. <th...@cy...> - 2008-11-13 04:12:46
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-11-13 03:15:03 GMT 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 == 369 tests, 84 stderr failures, 1 stdout failure, 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/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) 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/rwlock_race (stderr) helgrind/tests/rwlock_test (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (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/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/mismatches (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/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-11-13 04:01:49
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-11-13 03:05:06 GMT 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, 20 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) |
|
From: Tom H. <th...@cy...> - 2008-11-13 03:52:08
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-11-13 03:25:06 GMT 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 == 468 tests, 20 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (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/tc16_byterace (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) 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-11-13 03:32:52
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-11-13 03:00:03 GMT 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 == 470 tests, 34 stderr failures, 3 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/rwlock_race (stderr) helgrind/tests/rwlock_test (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/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (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/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) |