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
(12) |
2
(5) |
3
(12) |
4
(9) |
5
(4) |
6
(7) |
|
7
(6) |
8
(10) |
9
(5) |
10
(5) |
11
(4) |
12
(7) |
13
(19) |
|
14
(11) |
15
(9) |
16
(6) |
17
(21) |
18
(13) |
19
(12) |
20
(9) |
|
21
(22) |
22
(24) |
23
(21) |
24
(12) |
25
(6) |
26
(3) |
27
(4) |
|
28
(3) |
29
(5) |
30
(11) |
31
(7) |
|
|
|
|
From: Paul M. <pa...@sa...> - 2008-12-22 22:43:37
|
Bart Van Assche writes: > A source code comment in m_machine.c says the following: > > /* ppc32 doesn't seem to have a sane way to find out what insn > sets the CPU supports. So we have to arse around with > SIGILLs. Yuck. */ > > I don't know everything about the PowerPC architecture, but by looking > around in the Linux kernel sources I found out that the Linux kernel > determines the PowerPC CPU type from the value in the PowerPC PVR > register. And although reading the PVR is privileged on PowerPC, under Linux the kernel will emulate the move-from-PVR instruction and supply the actual PVR value. So userspace can do a mfpvr to find out what sort of processor it's running on. The only problem with doing that is that you need some way to handle the case where you don't recognize the PVR value you get, because the processor is a new implementation that didn't exist when your program was compiled. Another way to find out what the hardware can do is to look at the AT_HWCAP and AT_PLATFORM entries in the ELF auxiliary table. The AT_PLATFORM is a string such as "ppc970" or "power6" or "ppc750". The bits in AT_HWCAP are defined in <asm/cputable.h> and are: #define PPC_FEATURE_32 0x80000000 #define PPC_FEATURE_64 0x40000000 #define PPC_FEATURE_601_INSTR 0x20000000 #define PPC_FEATURE_HAS_ALTIVEC 0x10000000 #define PPC_FEATURE_HAS_FPU 0x08000000 #define PPC_FEATURE_HAS_MMU 0x04000000 #define PPC_FEATURE_HAS_4xxMAC 0x02000000 #define PPC_FEATURE_UNIFIED_CACHE 0x01000000 #define PPC_FEATURE_HAS_SPE 0x00800000 #define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 #define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 #define PPC_FEATURE_NO_TB 0x00100000 #define PPC_FEATURE_POWER4 0x00080000 #define PPC_FEATURE_POWER5 0x00040000 #define PPC_FEATURE_POWER5_PLUS 0x00020000 #define PPC_FEATURE_CELL 0x00010000 #define PPC_FEATURE_BOOKE 0x00008000 #define PPC_FEATURE_SMT 0x00004000 #define PPC_FEATURE_ICACHE_SNOOP 0x00002000 #define PPC_FEATURE_ARCH_2_05 0x00001000 #define PPC_FEATURE_PA6T 0x00000800 #define PPC_FEATURE_HAS_DFP 0x00000400 #define PPC_FEATURE_POWER6_EXT 0x00000200 #define PPC_FEATURE_ARCH_2_06 0x00000100 #define PPC_FEATURE_HAS_VSX 0x00000080 #define PPC_FEATURE_PSERIES_PERFMON_COMPAT \ 0x00000040 #define PPC_FEATURE_TRUE_LE 0x00000002 #define PPC_FEATURE_PPC_LE 0x00000001 Is there anything you need to know about that isn't on that list? Paul. |
|
From: <sv...@va...> - 2008-12-22 20:21:45
|
Author: sewardj
Date: 2008-12-22 20:21:38 +0000 (Mon, 22 Dec 2008)
New Revision: 8865
Log:
Rationalise standard suppressions: get rid of vast amounts of
near-duplication on the suppressions concerning combinations of
libc, ld and libpthread.
Modified:
trunk/glibc-2.34567-NPTL-helgrind.supp
Modified: trunk/glibc-2.34567-NPTL-helgrind.supp
===================================================================
--- trunk/glibc-2.34567-NPTL-helgrind.supp 2008-12-22 18:17:24 UTC (rev 8864)
+++ trunk/glibc-2.34567-NPTL-helgrind.supp 2008-12-22 20:21:38 UTC (rev 8865)
@@ -1,97 +1,105 @@
##----------------------------------------------------------------------##
# Suppressions for the Helgrind tool when using
-# a glibc-2.{2,3,4,5,6} system
+# a glibc-2.{3,4,5,6,7,8,9} system
-######------------ glibc-2.5 specific ------------######
+####################################################
+# glibc-2.X specific
+# These are generic cover-alls which catch a lot of stuff
+# in various combinations of ld, libc and libpthread
#
-## NB. This is the "reference set". Derived sets for
-## glibc 2.7, 2.6, 2.4 and 2.3 follow below.
{
- helgrind-glibc25-001
+ helgrind-glibc2X-001
Helgrind:Race
- obj:/lib*/ld-2.5.*so
- obj:/lib*/ld-2.5.*so
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
}
{
- helgrind-glibc25-002
+ helgrind-glibc2X-002
Helgrind:Race
- obj:/lib*/ld-2.5.*so
- obj:/lib*/libc-2.5.*so
- obj:/lib*/ld-2.5.*so
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/libc-2.*so*
+ obj:/lib*/ld-2.*so*
}
{
- helgrind-glibc25-003
+ helgrind-glibc2X-003
Helgrind:Race
- obj:/lib*/ld-2.5.*so
- obj:/lib*/libc-2.5.*so
- obj:/lib*/libc-2.5.*so
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/libc-2.*so*
+ obj:/lib*/libc-2.*so*
}
{
- helgrind-glibc25-004
+ helgrind-glibc2X-004
Helgrind:Race
- obj:/lib*/libc-2.5.*so
- obj:/lib*/libc-2.5.*so
+ obj:/lib*/libc-2.*so*
+ obj:/lib*/libc-2.*so*
}
{
- helgrind-glibc25-005
+ helgrind-glibc2X-005
Helgrind:Race
- obj:/lib*/libpthread-2.5.*so
- obj:/lib*/libpthread-2.5.*so
- obj:/lib*/libpthread-2.5.*so
+ obj:/lib*/libpthread-2.*so*
+ obj:/lib*/libpthread-2.*so*
+ obj:/lib*/libpthread-2.*so*
}
{
- helgrind-glibc25-006
+ helgrind-glibc2X-006
Helgrind:Race
- obj:/lib*/libpthread-2.5.*so
- obj:/lib*/libpthread-2.5.*so
- obj:/lib*/libc-2.5.*so
+ obj:/lib*/libpthread-2.*so*
+ obj:/lib*/libpthread-2.*so*
+ obj:/lib*/libc-2.*so*
}
{
- helgrind-glibc25-007
+ helgrind-glibc2X-007
Helgrind:Race
- obj:/lib*/ld-2.5.*so
- obj:/lib*/libc-2.5.*so
- obj:/lib*/libdl-2.5.*so
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/libc-2.*so*
+ obj:/lib*/libdl-2.*so*
}
{
- helgrind-glibc25-008
+ helgrind-glibc2X-008
Helgrind:Race
- obj:/lib*/libpthread-2.5.*so
- obj:/lib*/libc-2.5.*so
+ obj:/lib*/libpthread-2.*so*
+ obj:/lib*/libc-2.*so*
}
{
- helgrind-glibc25-009
+ helgrind-glibc2X-009
Helgrind:Race
- obj:/lib*/libc-2.5.*so
+ obj:/lib*/libc-2.*so*
fun:*
- obj:/lib*/libc-2.5.*so
+ obj:/lib*/libc-2.*so*
}
{
- helgrind-glibc25-010
+ helgrind-glibc2X-010
Helgrind:Race
- obj:/lib*/ld-2.5.*so
- obj:/lib*/libpthread-2.5.*so
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/libpthread-2.*so*
}
{
- helgrind-glibc25-011
+ helgrind-glibc2X-011
Helgrind:Race
- obj:/lib*/libc-2.5.*so
- obj:/lib*/libpthread-2.5.*so
+ obj:/lib*/libc-2.*so*
+ obj:/lib*/libpthread-2.*so*
}
{
- helgrind-glibc25-013
+ helgrind-glibc2X-012
Helgrind:Race
- obj:/lib*/ld-2.5.*so
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/libc-2.*so*
+}
+{
+ helgrind-glibc2X-013
+ Helgrind:Race
+ obj:/lib*/ld-2.*so*
fun:*
- obj:/lib*/ld-2.5.*so
+ obj:/lib*/ld-2.*so*
}
{
- helgrind-glibc25-014
+ helgrind-glibc2X-014
Helgrind:Race
- obj:/lib*/ld-2.5.*so
- obj:/lib*/ld-2.5.*so
- obj:/lib*/libpthread-2.5.*so
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/ld-2.*so*
+ obj:/lib*/libpthread-2.*so*
}
# These are very ugly. They are needed to suppress errors inside (eg)
@@ -102,410 +110,80 @@
# Therefore it's only one level of unwinding before we're back out in
# user code rather than the 2 levels you'd expect.
{
- helgrind-glibc25-101
+ helgrind-glibc2X-101
Helgrind:Race
- obj:/lib*/libpthread-2.5.*so
+ obj:/lib*/libpthread-2.*so*
fun:pthread_*
}
{
- helgrind-glibc25-102
+ helgrind-glibc2X-102
Helgrind:Race
fun:mythread_wrapper
- obj:/lib*/libpthread-2.5.*so
+ obj:/lib*/libpthread-2.*so*
}
{
- helgrind-glibc25-103
+ helgrind-glibc2X-103
Helgrind:Race
- fun:pthread_cond_*@@GLIBC_2.3.2
+ fun:pthread_cond_*@@GLIBC_2.*
}
{
- helgrind-glibc25-104
+ helgrind-glibc2X-104
Helgrind:Race
fun:__lll_mutex_*
}
{
- helgrind-glibc25-105
+ helgrind-glibc2X-105
Helgrind:Race
fun:pthread_rwlock_*lock*
}
{
- helgrind-glibc25-107
+ helgrind-glibc2X-106
Helgrind:Race
- obj:/lib*/libpthread-2.5.*so
+ fun:__lll_lock_wait
+}
+{
+ helgrind-glibc2X-107
+ Helgrind:Race
+ obj:/lib*/libpthread-2.*so*
fun:sem_*
}
{
- helgrind-glibc25-108
+ helgrind-glibc2X-108
Helgrind:Race
fun:clone
}
{
- helgrind-glibc25-109
+ helgrind-glibc2X-109
Helgrind:Race
fun:start_thread
}
-
-######------------ glibc-2.8 specific ---------######
-#
{
- helgrind-glibc28-001
+ helgrind-glibc2X-110
Helgrind:Race
- obj:/lib*/ld-2.8.*so
- obj:/lib*/ld-2.8.*so
-}
-{
- helgrind-glibc28-002
- Helgrind:Race
- obj:/lib*/ld-2.8.*so
- obj:/lib*/libc-2.8.*so
- obj:/lib*/ld-2.8.*so
-}
-{
- helgrind-glibc28-003
- Helgrind:Race
- obj:/lib*/ld-2.8.*so
- obj:/lib*/libc-2.8.*so
- obj:/lib*/libc-2.8.*so
-}
-{
- helgrind-glibc28-004
- Helgrind:Race
- obj:/lib*/libc-2.8.*so
- obj:/lib*/libc-2.8.*so
-}
-{
- helgrind-glibc28-006
- Helgrind:Race
- obj:/lib*/libpthread-2.8.*so
- obj:/lib*/libpthread-2.8.*so
- obj:/lib*/libc-2.8.*so
-}
-{
- helgrind-glibc28-010
- Helgrind:Race
- obj:/lib*/ld-2.8.*so
- obj:/lib*/libpthread-2.8.*so
-}
-
-{
- helgrind-glibc28-101
- Helgrind:Race
- obj:/lib*/libpthread-2.8.*so
+ obj:/lib*/libc-2.*so*
fun:pthread_*
}
{
- helgrind-glibc28-102
+ helgrind-glibc2X-111
Helgrind:Race
- fun:mythread_wrapper
- obj:/lib*/libpthread-2.8.*so
-}
-{
- helgrind-glibc28-110
- Helgrind:Race
- obj:/lib*/libc-2.8.*so
- fun:pthread_*
-}
-{
- helgrind-glibc28-111
- Helgrind:Race
fun:__lll_*lock_*
}
{
- helgrind-glibc28-112
+ helgrind-glibc2X-112
Helgrind:Race
fun:pthread_create@*
}
{
- helgrind-glibc28-113
+ helgrind-glibc2X-113
Helgrind:Race
fun:pthread_barrier_wait*
}
-######------------ glibc-2.7 specific ---------######
-#
-{
- helgrind-glibc27-001
- Helgrind:Race
- obj:/lib*/ld-2.7.*so
- obj:/lib*/ld-2.7.*so
-}
-{
- helgrind-glibc27-003
- Helgrind:Race
- obj:/lib*/ld-2.7.*so
- obj:/lib*/libc-2.7.*so
- obj:/lib*/libc-2.7.*so
-}
-{
- helgrind-glibc27-004
- Helgrind:Race
- obj:/lib*/libc-2.7.*so
- obj:/lib*/libc-2.7.*so
-}
-{
- helgrind-glibc27-005
- Helgrind:Race
- obj:/lib*/libpthread-2.7.*so
- obj:/lib*/libpthread-2.7.*so
- obj:/lib*/libpthread-2.7.*so
-}
-{
- helgrind-glibc27-011
- Helgrind:Race
- obj:/lib*/libc-2.7.*so
- obj:/lib*/libpthread-2.7.*so
-}
-{
- helgrind-glibc27-101
- Helgrind:Race
- obj:/lib*/libpthread-2.7.*so
- fun:pthread_*
-}
-{
- helgrind-glibc27-102
- Helgrind:Race
- fun:mythread_wrapper
- obj:/lib*/libpthread-2.7.*so
-}
-{
- helgrind-glibc27-107
- Helgrind:Race
- obj:/lib*/libpthread-2.7.*so
- fun:sem_*
-}
-
-######------------ glibc-2.6 specific ---------######
+####################################################
+# qt4 specific (GNU mangling)
#
{
- helgrind-glibc26-001
- Helgrind:Race
- obj:/lib*/ld-2.6.*so
- obj:/lib*/ld-2.6.*so
-}
-{
- helgrind-glibc26-003
- Helgrind:Race
- obj:/lib*/ld-2.6.*so
- obj:/lib*/libc-2.6.*so
- obj:/lib*/libc-2.6.*so
-}
-{
- helgrind-glibc26-004
- Helgrind:Race
- obj:/lib*/libc-2.6.*so
- obj:/lib*/libc-2.6.*so
-}
-{
- helgrind-glibc26-005
- Helgrind:Race
- obj:/lib*/libpthread-2.6.*so
- obj:/lib*/libpthread-2.6.*so
- obj:/lib*/libpthread-2.6.*so
-}
-{
- helgrind-glibc26-006
- Helgrind:Race
- obj:/lib*/libpthread-2.6.*so
- obj:/lib*/libpthread-2.6.*so
- obj:/lib*/libc-2.6.*so
-}
-{
- helgrind-glibc26-008
- Helgrind:Race
- obj:/lib*/libpthread-2.6.*so
- obj:/lib*/libc-2.6.*so
-}
-{
- helgrind-glibc26-011
- Helgrind:Race
- obj:/lib*/libc-2.6.*so
- obj:/lib*/libpthread-2.6.*so
-}
-{
- helgrind-glibc26-014
- Helgrind:Race
- obj:/lib*/ld-2.6.*so
- obj:/lib*/ld-2.6.*so
- obj:/lib*/libpthread-2.6.*so
-}
-
-{
- helgrind-glibc26-101
- Helgrind:Race
- obj:/lib*/libpthread-2.6.*so
- fun:pthread_*
-}
-{
- helgrind-glibc26-102
- Helgrind:Race
- fun:mythread_wrapper
- obj:/lib*/libpthread-2.6.*so
-}
-{
- helgrind-glibc26-106
- Helgrind:Race
- fun:__lll_lock_wait
-}
-{
- helgrind-glibc26-107
- Helgrind:Race
- obj:/lib*/libpthread-2.6.*so
- fun:sem_*
-}
-
-######------------ glibc-2.4 specific ------------######
-#
-{
- helgrind-glibc24-001
- Helgrind:Race
- obj:/lib*/ld-2.4.*so
- obj:/lib*/ld-2.4.*so
-}
-{
- helgrind-glibc24-003
- Helgrind:Race
- obj:/lib*/ld-2.4.*so
- obj:/lib*/libc-2.4.*so
- obj:/lib*/libc-2.4.*so
-}
-{
- helgrind-glibc24-004
- Helgrind:Race
- obj:/lib*/libc-2.4.*so
- obj:/lib*/libc-2.4.*so
-}
-{
- helgrind-glibc24-005
- Helgrind:Race
- obj:/lib*/libpthread-2.4.*so
- obj:/lib*/libpthread-2.4.*so
- obj:/lib*/libpthread-2.4.*so
-}
-{
- helgrind-glibc24-006
- Helgrind:Race
- obj:/lib*/libpthread-2.4.*so
- obj:/lib*/libpthread-2.4.*so
- obj:/lib*/libc-2.4.*so
-}
-{
- helgrind-glibc24-008
- Helgrind:Race
- obj:/lib*/libpthread-2.4.*so
- obj:/lib*/libc-2.4.*so
-}
-{
- helgrind-glibc24-010
- Helgrind:Race
- obj:/lib*/ld-2.4.*so
- obj:/lib*/libpthread-2.4.*so
-}
-{
- helgrind-glibc24-011
- Helgrind:Race
- obj:/lib*/libc-2.4.*so
- obj:/lib*/libpthread-2.4.*so
-}
-
-{
- helgrind-glibc24-101
- Helgrind:Race
- obj:/lib*/libpthread-2.4.*so
- fun:pthread_*
-}
-{
- helgrind-glibc24-102
- Helgrind:Race
- fun:mythread_wrapper
- obj:/lib*/libpthread-2.4.*so
-}
-
-######--------- glibc-2.3 specific ---------######
-{
- helgrind-glibc23-001
- Helgrind:Race
- obj:/lib*/ld-2.3.*so
- obj:/lib*/ld-2.3.*so
-}
-{
- helgrind-glibc23-002
- Helgrind:Race
- obj:/lib*/ld-2.3.*so
- obj:/lib*/libc-2.3.*so
- obj:/lib*/ld-2.3.*so
-}
-{
- helgrind-glibc23-003
- Helgrind:Race
- obj:/lib*/ld-2.3.*so
- obj:/lib*/libc-2.3.*so
- obj:/lib*/libc-2.3.*so
-}
-{
- helgrind-glibc23-004
- Helgrind:Race
- obj:/lib*/libc-2.3.*so
- obj:/lib*/libc-2.3.*so
-}
-{
- helgrind-glibc23-006
- Helgrind:Race
- obj:/lib*/libpthread-2.3.*so
- obj:/lib*/libpthread-2.3.*so
- obj:/lib*/libc-2.3.*so
-}
-{
- helgrind-glibc23-008
- Helgrind:Race
- obj:/lib*/libpthread-2.3.*so
- obj:/lib*/libc-2.3.*so
-}
-{
- helgrind-glibc23-009
- Helgrind:Race
- obj:/lib*/libc-2.3.*so
- obj:/lib*/ld-2.3.*so
- obj:/lib*/libc-2.3.*so
-}
-{
- helgrind-glibc23-011
- Helgrind:Race
- obj:/lib*/libc-2.3.*so
- obj:/lib*/libpthread-2.3.*so
-}
-{
- helgrind-glibc23-012
- Helgrind:Race
- obj:/lib*/ld-2.3.*so
- obj:/lib*/ld-2.3.*so
- obj:/lib*/libc-2.3.*so
-}
-{
- helgrind-glibc23-014
- Helgrind:Race
- obj:/lib*/ld-2.3.*so
- obj:/lib*/ld-2.3.*so
- obj:/lib*/libpthread-2.3.*so
-}
-
-{
- helgrind-glibc23-100
- Helgrind:Race
- obj:/lib*/libpthread-2.3.*so
- fun:pthread_*
-}
-{
- helgrind-glibc23-101
- Helgrind:Race
- fun:mythread_wrapper
- obj:/lib*/libpthread-2.3.*so
-}
-
-
-####################################################
-######------ qt4 specific (GNU mangling) ------######
-{
helgrind-qt4---QMutex::lock()-QMutex::lock()
Helgrind:Race
fun:_ZN6QMutex4lockEv
|
|
From: Julian S. <js...@ac...> - 2008-12-22 19:05:58
|
On Monday 22 December 2008, Bart Van Assche wrote: > On Mon, Dec 22, 2008 at 9:49 AM, Julian Seward <js...@ac...> wrote: > > - what else? > > Maybe it's worth mentioning for which new system calls support has been > added ? Yes; however that will kind-of be in the list of fixed bugs I construct (from 3_3_BUGSTATUS.txt). J |
|
From: Bart V. A. <bar...@gm...> - 2008-12-22 18:30:58
|
On Mon, Dec 22, 2008 at 9:49 AM, Julian Seward <js...@ac...> wrote: > - what else? Maybe it's worth mentioning for which new system calls support has been added ? Bart. |
|
From: <sv...@va...> - 2008-12-22 18:17:31
|
Author: sewardj
Date: 2008-12-22 18:17:24 +0000 (Mon, 22 Dec 2008)
New Revision: 8864
Log:
During instrumentation, handle Imbe_SnoopedStore{Begin,End} a bit more
convincingly.
Modified:
trunk/helgrind/hg_main.c
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2008-12-22 15:40:48 UTC (rev 8863)
+++ trunk/helgrind/hg_main.c 2008-12-22 18:17:24 UTC (rev 8864)
@@ -3606,7 +3606,8 @@
{
Int i;
IRSB* bbOut;
- Bool x86busLocked = False;
+ Bool x86busLocked = False;
+ Bool isSnoopedStore = False;
if (gWordTy != hWordTy) {
/* We don't currently support this case. */
@@ -3645,6 +3646,8 @@
switch (st->Ist.MBE.event) {
case Imbe_Fence:
break; /* not interesting */
+ /* Imbe_Bus{Lock,Unlock} arise from x86/amd64 LOCK
+ prefixed instructions. */
case Imbe_BusLock:
tl_assert(x86busLocked == False);
x86busLocked = True;
@@ -3653,10 +3656,15 @@
tl_assert(x86busLocked == True);
x86busLocked = False;
break;
+ /* Imbe_SnoopedStore{Begin,End} arise from ppc
+ stwcx. instructions. */
case Imbe_SnoopedStoreBegin:
+ tl_assert(isSnoopedStore == False);
+ isSnoopedStore = True;
+ break;
case Imbe_SnoopedStoreEnd:
- /* These arise from ppc stwcx. insns. They should
- perhaps be handled better. */
+ tl_assert(isSnoopedStore == True);
+ isSnoopedStore = False;
break;
default:
goto unhandled;
@@ -3664,7 +3672,7 @@
break;
case Ist_Store:
- if (!x86busLocked)
+ if (!x86busLocked && !isSnoopedStore)
instrument_mem_access(
bbOut,
st->Ist.Store.addr,
@@ -3703,6 +3711,11 @@
sizeofIRType(hWordTy)
);
}
+ /* This isn't really correct. Really the
+ instrumentation should be only added when
+ (!x86busLocked && !isSnoopedStore), just like with
+ Ist_Store. Still, I don't think this is
+ particularly important. */
if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify) {
instrument_mem_access(
bbOut, d->mAddr, dataSize, True/*isStore*/,
|
|
From: Bart V. A. <bar...@gm...> - 2008-12-22 17:36:00
|
On Mon, Dec 22, 2008 at 9:49 AM, Julian Seward <js...@ac...> wrote: > - Drd majorly improved (details ..) Hello Julian, The list of changes for Drd is as follows (hopefully I didn't forget anything): - Greatly improved performance. - Reduced memory consumption significantly. - Added support for several major threading libraries (Boost.Thread, Qt4, glib, OpenMP). - Added support for atomic instructions. - Added support for POSIX semaphores, barriers and reader-writer locks. - Works now on PowerPC CPU's too. - Added support for printing thread stack usage at thread exit time. - Added support for debugging lock contention. - Added a manual for Drd. Bart. |
|
From: <sv...@va...> - 2008-12-22 15:40:54
|
Author: sewardj
Date: 2008-12-22 15:40:48 +0000 (Mon, 22 Dec 2008)
New Revision: 8863
Log:
Update expected outputs.
Modified:
trunk/none/tests/cmdline1.stdout.exp
trunk/none/tests/cmdline2.stdout.exp
Modified: trunk/none/tests/cmdline1.stdout.exp
===================================================================
--- trunk/none/tests/cmdline1.stdout.exp 2008-12-22 07:10:44 UTC (rev 8862)
+++ trunk/none/tests/cmdline1.stdout.exp 2008-12-22 15:40:48 UTC (rev 8863)
@@ -24,6 +24,9 @@
only for code found in stacks, or all [stack]
--kernel-variant=variant1,variant2,... known variants: bproc [none]
handle non-standard kernel variants
+ --read-var-info=yes|no read debug info on stack and global variables
+ and use it to print better error messages in
+ tools that make use of it (Memcheck, Helgrind)
user options for Valgrind tools that report errors:
--xml=yes all output is in XML (some tools only)
Modified: trunk/none/tests/cmdline2.stdout.exp
===================================================================
--- trunk/none/tests/cmdline2.stdout.exp 2008-12-22 07:10:44 UTC (rev 8862)
+++ trunk/none/tests/cmdline2.stdout.exp 2008-12-22 15:40:48 UTC (rev 8863)
@@ -24,6 +24,9 @@
only for code found in stacks, or all [stack]
--kernel-variant=variant1,variant2,... known variants: bproc [none]
handle non-standard kernel variants
+ --read-var-info=yes|no read debug info on stack and global variables
+ and use it to print better error messages in
+ tools that make use of it (Memcheck, Helgrind)
user options for Valgrind tools that report errors:
--xml=yes all output is in XML (some tools only)
@@ -64,7 +67,6 @@
--profile-heap=no|yes profile Valgrind's own space use
--wait-for-gdb=yes|no pause on startup to wait for gdb attach
--sym-offsets=yes|no show syms in form 'name+offset' ? [no]
- --read-var-info=yes|no read variable type & location info? [no]
--command-line-only=no|yes only use command line options [no]
--vex-iropt-verbosity 0 .. 9 [0]
|
|
From: Bart V. A. <bar...@gm...> - 2008-12-22 14:50:27
|
On Mon, Dec 22, 2008 at 3:19 PM, Julian Seward <js...@ac...> wrote: > >> The reason I was asking about the PVR register is because apparently >> some PowerPC CPU's are not yet supported by Valgrind -- see e.g. >> http://bugs.kde.org/show_bug.cgi?id=176926. > > It's a signal handling problem. I added a comment to > http://bugs.kde.org/show_bug.cgi?id=176926. OK, thanks. Bart. |
|
From: Julian S. <js...@ac...> - 2008-12-22 14:33:33
|
> The reason I was asking about the PVR register is because apparently > some PowerPC CPU's are not yet supported by Valgrind -- see e.g. > http://bugs.kde.org/show_bug.cgi?id=176926. It's a signal handling problem. I added a comment to http://bugs.kde.org/show_bug.cgi?id=176926. J |
|
From: Bart V. A. <bar...@gm...> - 2008-12-22 13:58:52
|
On Mon, Dec 22, 2008 at 2:34 PM, Julian Seward <js...@ac...> wrote: > >> Has it already been considered before to use the value of the PVR >> register for PPC instruction set detection in Valgrind ? > > No. I didn't know of its existence. Is the instruction usable from > user space? > > In fact the SIGILL scheme works pretty well most of the time, afaics, > and means we don't have to drag around a big table listing all known > PowerPC/POWER CPUs. Is there a specific difficulty with the SIGILL > scheme? I'm not sure the PVR register is directly accessible from user space, but recent kernels make this information available through /proc/cpuinfo: $ cat /proc/cpuinfo ... processor : 3 cpu : Cell Broadband Engine, altivec supported clock : 3200.000000MHz revision : 5.1 (pvr 0070 0501) ... The reason I was asking about the PVR register is because apparently some PowerPC CPU's are not yet supported by Valgrind -- see e.g. http://bugs.kde.org/show_bug.cgi?id=176926. Bart. |
|
From: Julian S. <js...@ac...> - 2008-12-22 13:48:40
|
> Has it already been considered before to use the value of the PVR > register for PPC instruction set detection in Valgrind ? No. I didn't know of its existence. Is the instruction usable from user space? In fact the SIGILL scheme works pretty well most of the time, afaics, and means we don't have to drag around a big table listing all known PowerPC/POWER CPUs. Is there a specific difficulty with the SIGILL scheme? J |
|
From: Josef W. <Jos...@gm...> - 2008-12-22 12:23:20
|
On Sunday 21 December 2008, Bart Van Assche wrote: > > Callgrind: add code pattern for runtime_resolve on OpenSuse11.0/x86 > > By compiling Valgrind on ppc64 I found out that the source file > callgrind/fn.c triggers a compiler warning on that platform (fn.c:52: > warning: 'check_code' defined but not used). Hmm.. yes, it's better to exclude it from compilation when on ppc64. > Is it intended that the > function search_runtime_resolve() only does something for > VGP_x86_linux, VGP_ppc32_linux and for VGP_amd64_linux, but not for > VGP_ppc64_linux ? This signature check searching for _dl_runtime_resolve is only a best effort, and not needed when the symbol is available anyway in the symbol table of the runtime linker. Unfortunately, all newer distributions strip ld.so (unless one has debuginfo for glibc installed). By detecting and special-handling of runtime_resolve, the call graph can be made much more useful, by avoiding runtime_resolve to appear in every first call to a function in a shared lib. For ppc32 and ppc64, the call/return detection is quite bad at the moment, so special handling of runtime_resolve does not really improve quality of the call graph :-( There was somebody promising a patch to make call/return detection better on ppc... Josef > > Bart. > |
|
From: Bart V. A. <bar...@gm...> - 2008-12-22 12:23:15
|
Hello Julian, A source code comment in m_machine.c says the following: /* ppc32 doesn't seem to have a sane way to find out what insn sets the CPU supports. So we have to arse around with SIGILLs. Yuck. */ I don't know everything about the PowerPC architecture, but by looking around in the Linux kernel sources I found out that the Linux kernel determines the PowerPC CPU type from the value in the PowerPC PVR register. A partial list of PVR values can be found here: http://www.freescale.com/files/archives/doc/support_info/PPCPVR.pdf?fpsp=1&WT_TYPE=Supporting%20Information&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation Has it already been considered before to use the value of the PVR register for PPC instruction set detection in Valgrind ? Bart. |
|
From: Nicholas N. <nj...@cs...> - 2008-12-22 09:27:15
|
On Mon, 22 Dec 2008, Julian Seward wrote: > - Basic support for IBM Power6 (64-bit processes only) processors? Everything else looks good, I can't think of anything else. Nick |
|
From: Julian S. <js...@ac...> - 2008-12-22 09:03:50
|
Hi, I'd like to release valgrind-3.4.0 shortly. A lot of bugs got fixed in the past two months, and I believe the trunk is in quite a good state right now. I am thinking of Friday 2 Jan. If that's too soon, please yell. Also, I'd like to propose to remove the exp-Omega tool. It is unmaintained -- there has never been a single maintenance commit for it. More significantly I fear it is based on assumptions about program behaviour that are not in general true, and so it can never be made to work reliably. The main change points are listed below. What did I forget? J Main change points (need to add details for all) - Origin tracking in Memcheck - Helgrind completely rewritten, to remove false error and scaling problems and to give improved diagnostics - Drd majorly improved (details ..) - New tool: exp-ptrcheck, for doing checks on stack and global arrays - gcc-4.4.0 support, including demangler fixes for recent g++'s - glibc-2.9 support ? - new distro support: OpenSUSE 11.1, Fedora 10, Ubuntu 8.10 - Frame level wildcarding in suppressions - Basic support for IBM Power6 (64-bit processes only) - SSSE3 insns now supported. Changed CPUID output to be Core-2, so now it claims to be a Core 2 E6600. - cross-compilation support - many bugs fixed, as usual - non-user-visible: able to read Dwarf3 type/variable information, so as to understand the location and type of stack and local variables - matching release of Valkyrie, (a GUI for Memcheck), v 1.4.0 - what else? |
|
From: <sv...@va...> - 2008-12-22 07:10:50
|
Author: bart Date: 2008-12-22 07:10:44 +0000 (Mon, 22 Dec 2008) New Revision: 8862 Log: Updated after merge of Helgrind from YARD branch to trunk. Modified: trunk/drd/docs/drd-manual.xml Modified: trunk/drd/docs/drd-manual.xml =================================================================== --- trunk/drd/docs/drd-manual.xml 2008-12-22 01:00:15 UTC (rev 8861) +++ trunk/drd/docs/drd-manual.xml 2008-12-22 07:10:44 UTC (rev 8862) @@ -233,8 +233,8 @@ </sect2> -<sect2 id="drd-manual.drd-versus-helgrind" xreflabel="DRD-versus-Helgrind"> -<title>Data Race Detection by DRD versus Helgrind</title> +<sect2 id="drd-manual.data-race-detection" xreflabel="data-race-detection"> +<title>Data Race Detection</title> <para> Synchronization operations impose an order on interthread memory @@ -277,8 +277,7 @@ </para> <para> -DRD is based on the happens-before algorithm, while Helgrind uses a -variant of the Eraser algorithm. +DRD is based on the happens-before algorithm. </para> </sect2> |
|
From: Tom H. <th...@cy...> - 2008-12-22 04:06:34
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-12-22 03:15:03 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 == 374 tests, 92 stderr failures, 3 stdout failures, 29 post failures == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/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/bar_bad (stderr) helgrind/tests/bar_trivial (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/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (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/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (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/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) ================================================= == 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 == 375 tests, 93 stderr failures, 1 stdout failure, 29 post failures == drd/tests/circular_buffer (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/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/bar_bad (stderr) helgrind/tests/bar_trivial (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/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (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/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (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 Mon Dec 22 03:42:15 2008 --- new.short Mon Dec 22 04:06:25 2008 *************** *** 8,11 **** ! == 375 tests, 93 stderr failures, 1 stdout failure, 29 post failures == ! drd/tests/circular_buffer (stderr) exp-ptrcheck/tests/bad_percentify (stderr) --- 8,10 ---- ! == 374 tests, 92 stderr failures, 3 stdout failures, 29 post failures == exp-ptrcheck/tests/bad_percentify (stderr) *************** *** 127,128 **** --- 126,129 ---- none/tests/blockfault (stderr) + none/tests/cmdline1 (stdout) + none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-12-22 04:05:00
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-12-22 03:05: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 == 472 tests, 26 stderr failures, 2 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/bar_bad (stderr) helgrind/tests/hg02_deadlock (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/tc14_laog_dinphils (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) none/tests/cmdline1 (stdout) none/tests/cmdline2 (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 == 472 tests, 26 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/bar_bad (stderr) helgrind/tests/hg02_deadlock (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/tc14_laog_dinphils (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 Mon Dec 22 03:32:48 2008 --- new.short Mon Dec 22 04:04:55 2008 *************** *** 8,10 **** ! == 472 tests, 26 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) --- 8,10 ---- ! == 472 tests, 26 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) *************** *** 35,36 **** --- 35,38 ---- none/tests/blockfault (stderr) + none/tests/cmdline1 (stdout) + none/tests/cmdline2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-12-22 03:49:02
|
Nightly build on vauxhall ( x86_64, Fedora 10 ) started at 2008-12-22 03:20:05 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 == 481 tests, 45 stderr failures, 2 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/wrap5 (stderr) cachegrind/tests/x86/fpu-28-108 (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/preen_invars (stderr) helgrind/tests/bar_bad (stderr) helgrind/tests/bar_trivial (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/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (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/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/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) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (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 == 480 tests, 45 stderr failures, 0 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/wrap5 (stderr) cachegrind/tests/x86/fpu-28-108 (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/preen_invars (stderr) helgrind/tests/bar_bad (stderr) helgrind/tests/bar_trivial (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/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (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/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/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) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Dec 22 03:35:08 2008 --- new.short Mon Dec 22 03:48:57 2008 *************** *** 8,10 **** ! == 480 tests, 45 stderr failures, 0 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) --- 8,10 ---- ! == 481 tests, 45 stderr failures, 2 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) *************** *** 54,55 **** --- 54,57 ---- none/tests/blockfault (stderr) + none/tests/cmdline1 (stdout) + none/tests/cmdline2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-12-22 03:48:01
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-12-22 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 == 476 tests, 25 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/hg02_deadlock (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/tc14_laog_dinphils (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-12-22 03:32:17
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2008-12-22 03:10:04 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 == 478 tests, 32 stderr failures, 3 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/wrap5 (stderr) cachegrind/tests/x86/fpu-28-108 (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (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/hg02_deadlock (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/tc14_laog_dinphils (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) 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 == 477 tests, 32 stderr failures, 2 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/wrap5 (stderr) cachegrind/tests/x86/fpu-28-108 (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (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/hg02_deadlock (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/tc14_laog_dinphils (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) none/tests/mremap2 (stdout) none/tests/pth_cvsimple (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Dec 22 03:21:14 2008 --- new.short Mon Dec 22 03:32:12 2008 *************** *** 8,10 **** ! == 477 tests, 32 stderr failures, 2 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) --- 8,10 ---- ! == 478 tests, 32 stderr failures, 3 stdout failures, 0 post failures == cachegrind/tests/chdir (stderr) *************** *** 41,44 **** none/tests/blockfault (stderr) none/tests/mremap2 (stdout) - none/tests/pth_cvsimple (stdout) --- 41,45 ---- none/tests/blockfault (stderr) + none/tests/cmdline1 (stdout) + none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-12-22 03:28:45
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-12-22 03:00:04 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 == 478 tests, 37 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) helgrind/tests/bar_bad (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/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (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/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 478 tests, 37 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) helgrind/tests/bar_bad (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/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (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 Mon Dec 22 03:15:03 2008 --- new.short Mon Dec 22 03:28:39 2008 *************** *** 8,10 **** ! == 478 tests, 37 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) --- 8,10 ---- ! == 478 tests, 37 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) *************** *** 44,45 **** --- 44,47 ---- none/tests/blockfault (stderr) + none/tests/cmdline1 (stdout) + none/tests/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) |
|
From: <sv...@va...> - 2008-12-22 01:00:18
|
Author: sewardj
Date: 2008-12-22 01:00:15 +0000 (Mon, 22 Dec 2008)
New Revision: 8861
Log:
Minor updates for 3.4.0. Also fix a large number of missing <para>
and </para> tags.
Modified:
trunk/docs/xml/quick-start-guide.xml
Modified: trunk/docs/xml/quick-start-guide.xml
===================================================================
--- trunk/docs/xml/quick-start-guide.xml 2008-12-22 00:39:41 UTC (rev 8860)
+++ trunk/docs/xml/quick-start-guide.xml 2008-12-22 01:00:15 UTC (rev 8861)
@@ -79,7 +79,7 @@
the codebase. They can be distinguished by the "exp-" prefix on
their names. Experimental tools are not subject to the same
quality control standards that apply to our production-grade tools
- (Memcheck, Cachegrind, Callgrind, Massif and Helgrind).</para>
+ (Memcheck, Cachegrind, Callgrind, Massif, Helgrind and DRD).</para>
</listitem>
</itemizedlist>
@@ -89,7 +89,7 @@
<para>What follows is the minimum information you need to start
detecting memory errors in your program with Memcheck. Note that this
-guide applies to Valgrind version 3.3.0 and later. Some of the
+guide applies to Valgrind version 3.4.0 and later. Some of the
information is not quite right for earlier versions.</para>
</sect1>
@@ -104,7 +104,8 @@
idea, if you can tolerate the slowdown. With
<computeroutput>-O1</computeroutput> line numbers in error messages can
be inaccurate, although generally speaking Memchecking code compiled at
-<computeroutput>-O1</computeroutput> works fairly well. Use of
+<computeroutput>-O1</computeroutput> works fairly well and is
+recommended. Use of
<computeroutput>-O2</computeroutput> and above is not recommended as
Memcheck occasionally reports uninitialised-value errors which don't
really exist.</para>
@@ -115,16 +116,16 @@
<sect1 id="quick-start.mcrun" xreflabel="Running your program under Memcheck">
<title>Running your program under Memcheck</title>
-<para>If you normally run your program like this:
+<para>If you normally run your program like this:</para>
<programlisting> myprog arg1 arg2
</programlisting>
-Use this command line:
+<para>Use this command line:</para>
<programlisting> valgrind --leak-check=yes myprog arg1 arg2
</programlisting>
-Memcheck is the default tool. The <option>--leak-check</option> option
-turns on the detailed memory leak detector.</para>
+<para>Memcheck is the default tool. The <option>--leak-check</option>
+option turns on the detailed memory leak detector.</para>
<para>Your program will run much slower (eg. 20 to 30 times) than
normal, and use a lot more memory. Memcheck will issue messages about
@@ -136,7 +137,8 @@
<sect1 id="quick-start.interpret"
xreflabel="Interpreting Memcheck's output">
<title>Interpreting Memcheck's output</title>
-<para>Here's an example C program with a memory error and a memory leak.
+<para>Here's an example C program with a memory error and a memory
+leak.</para>
<programlisting>
#include <stdlib.h>
@@ -154,8 +156,8 @@
}
</programlisting>
-Most error messages look like the following, which describes problem 1,
-the heap block overrun:
+<para>Most error messages look like the following, which describes
+problem 1, the heap block overrun:</para>
<programlisting>
==19182== Invalid write of size 4
@@ -167,7 +169,7 @@
==19182== by 0x80483AB: main (example.c:11)
</programlisting>
-Things to notice:
+<para>Things to notice:</para>
<itemizedlist>
<listitem>
@@ -202,11 +204,11 @@
</listitem>
</itemizedlist>
-It's worth fixing errors in the order they are reported, as later
-errors can be caused by earlier errors. Failing to do this is a
+<para>It's worth fixing errors in the order they are reported, as
+later errors can be caused by earlier errors. Failing to do this is a
common cause of difficulty with Memcheck.</para>
-<para>Memory leak messages look like this:
+<para>Memory leak messages look like this:</para>
<programlisting>
==19182== 40 bytes in 1 blocks are definitely lost in loss record 1 of 1
@@ -215,12 +217,13 @@
==19182== by 0x80483AB: main (a.c:11)
</programlisting>
-The stack trace tells you where the leaked memory was allocated.
-Memcheck cannot tell you why the memory leaked, unfortunately. (Ignore
-the "vg_replace_malloc.c", that's an implementation detail.)</para>
+<para>The stack trace tells you where the leaked memory was allocated.
+Memcheck cannot tell you why the memory leaked, unfortunately.
+(Ignore the "vg_replace_malloc.c", that's an implementation
+detail.)</para>
<para>There are several kinds of leaks; the two most important
-categories are:
+categories are:</para>
<itemizedlist>
<listitem>
@@ -234,7 +237,14 @@
</listitem>
</itemizedlist>
-If you don't understand an error message, please consult
+<para>It can be difficult to track down the root causes of
+uninitialised-value errors reported by Memcheck. Try using
+the <option>--track-origins=yes</option> to get extra information.
+This makes Memcheck run slower, but the extra information you get
+often saves a lot of time figuring out where the uninitialised values
+are coming from.</para>
+
+<para>If you don't understand an error message, please consult
<xref linkend="mc-manual.errormsgs"/> in the <xref linkend="manual"/>
which has examples of all the error messages Memcheck produces.</para>
|
|
From: <sv...@va...> - 2008-12-22 00:39:45
|
Author: sewardj
Date: 2008-12-22 00:39:41 +0000 (Mon, 22 Dec 2008)
New Revision: 8860
Log:
Finish off updates to the Helgrind manual.
Modified:
trunk/helgrind/docs/hg-manual.xml
Modified: trunk/helgrind/docs/hg-manual.xml
===================================================================
--- trunk/helgrind/docs/hg-manual.xml 2008-12-21 23:11:14 UTC (rev 8859)
+++ trunk/helgrind/docs/hg-manual.xml 2008-12-22 00:39:41 UTC (rev 8860)
@@ -51,7 +51,7 @@
<para><link linkend="hg-manual.data-races">
Data races -- accessing memory without adequate locking
or synchronisation</link>.
- Note that Helgrind in Valgrind 3.4.0 and later uses a
+ Note that race detection in versions 3.4.0 and later uses a
different algorithm than in 3.3.x. Hence, if you have been using
Helgrind in 3.3.x, you may want to re-read this section.
</para>
@@ -320,7 +320,7 @@
function <computeroutput>main</computeroutput> at line 13 in the
program.</para>
-<para>The error message shows two other important:</para>
+<para>Two important parts of the message are:</para>
<itemizedlist>
<listitem>
@@ -337,8 +337,9 @@
one of these will be a write (since two concurrent, unsynchronised
reads are harmless), and they will of course be from different
threads.</para>
- <para>By examining your program at the two locations, it should be
- fairly clear what the root cause of the problem is.</para>
+ <para>By examining your program at the two locations, you should be
+ able to get at least some idea of what the root cause of the
+ problem is.</para>
</listitem>
<listitem>
<para>For races which occur on global or stack variables, Helgrind
@@ -367,8 +368,8 @@
<para>Most programmers think about threaded programming in terms of
the abstractions provided by the threading library (POSIX Pthreads):
-thread creation, thread joining, locks, condition variables and
-barriers.</para>
+thread creation, thread joining, locks, condition variables,
+semaphores and barriers.</para>
<para>The effect of using locks, barriers, etc, is to impose on a
threaded program, constraints upon the order in which memory accesses
@@ -376,22 +377,25 @@
"happens-before relationship". Once you understand the happens-before
relationship, it is easy to see how Helgrind finds races in your code.
Fortunately, the happens-before relationship is itself easy to
-understand, and, additionally, is by itself a useful tool for
-reasoning about the behaviour of parallel programs. We now introduce
-it using a simple example.</para>
+understand, and is by itself a useful tool for reasoning about the
+behaviour of parallel programs. We now introduce it using a simple
+example.</para>
<para>Consider first the following buggy program:</para>
<programlisting><![CDATA[
- int var;
+Parent thread: Child thread:
- create child
-
- var = 20; var = 10;
- exit
+int var;
- wait for child
- print(var);
+// create child thread
+pthread_create(...)
+var = 20; var = 10;
+ exit
+
+// wait for child
+pthread_join(...)
+printf("%d\n", var);
]]></programlisting>
<para>The parent thread creates a child. Both then write different
@@ -418,18 +422,21 @@
send a message from one thread to the other:</para>
<programlisting><![CDATA[
- int var;
+Parent thread: Child thread:
- create child
-
- var = 20;
- send message
- wait for message
- var = 10;
- exit
+int var;
- wait for child
- print(var);
+// create child thread
+pthread_create(...)
+var = 20;
+// send message to child
+ // wait for message to arrive
+ var = 10;
+ exit
+
+// wait for child
+pthread_join(...)
+printf("%d\n", var);
]]></programlisting>
<para>Now the program reliably prints "10", regardless of the speed of
@@ -464,7 +471,7 @@
<computeroutput>x</computeroutput> is less than, equal to, or greater
than
<computeroutput>y</computeroutput>. A partial ordering is like a
-total ordering, but it can also express the concepts that two elements
+total ordering, but it can also express the concept that two elements
are neither equal, less or greater, but merely unordered with respect
to each other.</para>
@@ -495,14 +502,14 @@
although with some complication so as to allow correct handling of
reads vs writes.</para>
</listitem>
- <listitem><para>When a condition variable is signed on by thread T1
- and some other thread T2 is thereby released from a wait on the same
- CV, then the memory accesses in T1 prior to the signalling must
- happen-before those in T2 after it returns from the wait. If no
- thread was waiting on the CV then there is no
+ <listitem><para>When a condition variable (CV) is signalled on by
+ thread T1 and some other thread T2 is thereby released from a wait
+ on the same CV, then the memory accesses in T1 prior to the
+ signalling must happen-before those in T2 after it returns from the
+ wait. If no thread was waiting on the CV then there is no
effect.</para>
</listitem>
- <listitem><para>If instead T1 broadcasts on a CV then all of the
+ <listitem><para>If instead T1 broadcasts on a CV, then all of the
waiting threads, rather than just one of them, acquire a
happens-before dependency on the broadcasting thread at the point it
did the broadcast.</para>
@@ -532,20 +539,20 @@
</listitem>
</itemizedlist>
-<para>Helgrind intercepts the above listed events, and builds a
+<para>In summary: Helgrind intercepts the above listed events, and builds a
directed acyclic graph represented the collective happens-before
dependencies. It also monitors all memory accesses.</para>
<para>If a location is accessed by two different threads, but Helgrind
cannot find any path through the happens-before graph from one access
-to the other, then it complains of a race.</para>
+to the other, then it reports a race.</para>
<para>There are a couple of caveats:</para>
<itemizedlist>
- <listitem><para>Helgrind doesn't check in the case where both
- accesses are reads. That would be silly, since concurrent reads are
- harmless.</para>
+ <listitem><para>Helgrind doesn't check for a race in the case where
+ both accesses are reads. That would be silly, since concurrent
+ reads are harmless.</para>
</listitem>
<listitem><para>Two accesses are considered to be ordered by the
happens-before dependency even through arbitrarily long chains of
@@ -627,8 +634,8 @@
requires considerable amounts of memory, for large programs.
</para>
-<para>Once you have your two call stacks, how do you begin to get to
-the root problem?</para>
+<para>Once you have your two call stacks, how do you find the root
+cause of the race?</para>
<para>The first thing to do is examine the source locations referred
to by each call stack. They should both show an access to the same
@@ -644,14 +651,14 @@
Did you perhaps forget the locking at one or other of the
accesses?</para>
</listitem>
- <listitem><para>Alternatively, you intended to use a some other
- scheme to make it safe, such as signalling on a condition variable.
- In all such cases, try to find a synchronisation event (or a chain
- thereof) which separates the earlier-observed access (as shown in the
- second call stack) from the later-observed access (as shown in the
- first call stack). In other words, try to find evidence that the
- earlier access "happens-before" the later access. See the previous
- subsection for an explanation of the happens-before
+ <listitem><para>Alternatively, perhaps you intended to use a some
+ other scheme to make it safe, such as signalling on a condition
+ variable. In all such cases, try to find a synchronisation event
+ (or a chain thereof) which separates the earlier-observed access (as
+ shown in the second call stack) from the later-observed access (as
+ shown in the first call stack). In other words, try to find
+ evidence that the earlier access "happens-before" the later access.
+ See the previous subsection for an explanation of the happens-before
relationship.</para>
<para>
The fact that Helgrind is reporting a race means it did not observe
@@ -932,62 +939,71 @@
<!-- start of xi:include in the manpage -->
<variablelist id="hg.opts.list">
- <varlistentry id="opt.happens-before" xreflabel="--happens-before">
+ <varlistentry id="opt.track-lockorders"
+ xreflabel="--track-lockorders">
<term>
- <option><![CDATA[--happens-before=none|threads|all
- [default: all] ]]></option>
+ <option><![CDATA[--track-lockorders=no|yes
+ [default: yes] ]]></option>
</term>
<listitem>
- <para>Helgrind always regards locks as the basis for
- inter-thread synchronisation. However, by default, before
- reporting a race error, Helgrind will also check whether
- certain other kinds of inter-thread synchronisation events
- happened. It may be that if such events took place, then no
- race really occurred, and so no error needs to be reported.
- See <link linkend="hg-manual.data-races.exclusive">above</link>
- for a discussion of transfers of exclusive ownership states
- between threads.
- </para>
- <para>With <varname>--happens-before=all</varname>, the
- following events are regarded as sources of synchronisation:
- thread creation/joinage, condition variable
- signal/broadcast/waits, and semaphore posts/waits.
- </para>
- <para>With <varname>--happens-before=threads</varname>, only
- thread creation/joinage events are regarded as sources of
- synchronisation.
- </para>
- <para>With <varname>--happens-before=none</varname>, no events
- (apart, of course, from locking) are regarded as sources of
- synchronisation.
- </para>
- <para>Changing this setting from the default will increase your
- false-error rate but give little or no gain. The only advantage
- is that <option>--happens-before=threads</option> and
- <option>--happens-before=none</option> should make Helgrind
- less and less sensitive to the scheduling of threads, and hence
- the output more and more repeatable across runs.
- </para>
+ <para>When enabled (the default), Helgrind performs lock order
+ consistency checking. For some buggy programs, the large number
+ of lock order errors reported can become annoying, particularly
+ if you're only interested in race errors. You may therefore find
+ it helpful to disable lock order checking.</para>
</listitem>
</varlistentry>
- <varlistentry id="opt.trace-addr" xreflabel="--trace-addr">
+ <varlistentry id="opt.show-conflicts"
+ xreflabel="--show-conflicts">
<term>
- <option><![CDATA[--trace-addr=0xXXYYZZ
- ]]></option> and
- <option><![CDATA[--trace-level=0|1|2 [default: 1]
- ]]></option>
+ <option><![CDATA[--show-conflicts=no|yes
+ [default: yes] ]]></option>
</term>
<listitem>
- <para>Requests that Helgrind produces a log of all state changes
- to location 0xXXYYZZ. This can be helpful in tracking down
- tricky races. <varname>--trace-level</varname> controls the
- verbosity of the log. At the default setting (1), a one-line
- summary of is printed for each state change. At level 2 a
- complete stack trace is printed for each state change.</para>
+ <para>When enabled (the default), Helgrind collects enough
+ information about "old" accesses that it can produce two stack
+ traces in a race report -- both the stack trace for the
+ current access, and the trace for the older, conflicting
+ access.</para>
+ <para>Collecting such information is expensive in both speed and
+ memory. This flag disables collection of such information.
+ Helgrind will run significantly faster and use less memory,
+ but without the conflicting access stacks, it will be very
+ much more difficult to track down the root causes of
+ races. However, this option may be useful in situations where
+ you just want to check for the presence or absence of races,
+ for example, when doing regression testing of a previously
+ race-free program.</para>
</listitem>
</varlistentry>
+ <varlistentry id="opt.conflict-cache-size"
+ xreflabel="--conflict-cache-size">
+ <term>
+ <option><![CDATA[--conflict-cache-size=N
+ [default: 1000000] ]]></option>
+ </term>
+ <listitem>
+ <para>Information about "old" conflicting accesses is stored in
+ a cache of limited size, with LRU-style management. This is
+ necessary because it isn't practical to store a stack trace
+ for every single memory access made by the program.
+ Historical information on not recently accessed locations is
+ periodically discarded, to free up space in the cache.</para>
+ <para>This flag controls the size of the cache, in terms of the
+ number of different memory addresses for which
+ conflicting access information is stored. If you find that
+ Helgrind is showing race errors with only one stack instead of
+ the expected two stacks, try increasing this value.</para>
+ <para>The minimum value is 10,000 and the maximum is 10,000,000
+ (ten times the default value). Increasing the value by 1
+ increases Helgrind's memory requirement by very roughly 100
+ bytes, so the maximum value will easily eat up an extra
+ gigabyte or so of memory.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
<!-- end of xi:include in the manpage -->
@@ -1007,26 +1023,6 @@
</listitem>
</varlistentry>
- <varlistentry id="opt.gen-vcg" xreflabel="--gen-vcg">
- <term>
- <option><![CDATA[--gen-vcg=no|yes|yes-w-vts [no]
- ]]></option>
- </term>
- <listitem>
- <para>At exit, write to stderr a dump of the happens-before
- graph computed by Helgrind, in a format suitable for the VCG
- graph visualisation tool. A suitable command line is:</para>
- <para><computeroutput>valgrind --tool=helgrind
- --gen-vcg=yes my_app 2>&1
- | grep xxxxxx | sed "s/xxxxxx//g"
- | xvcg -</computeroutput></para>
- <para>With <varname>--gen-vcg=yes</varname>, the basic
- happens-before graph is shown. With
- <varname>--gen-vcg=yes-w-vts</varname>, the vector timestamp
- for each node is also shown.</para>
- </listitem>
- </varlistentry>
-
<varlistentry id="opt.cmp-race-err-addrs"
xreflabel="--cmp-race-err-addrs">
<term>
@@ -1054,8 +1050,6 @@
<para>Run extensive sanity checks on Helgrind's internal
data structures at events defined by the bitstring, as
follows:</para>
- <para><computeroutput>100000 </computeroutput>at every query
- to the happens-before graph</para>
<para><computeroutput>010000 </computeroutput>after changes to
the lock order acquisition graph</para>
<para><computeroutput>001000 </computeroutput>after every client
@@ -1095,14 +1089,11 @@
<listitem><para>Document the VALGRIND_HG_CLEAN_MEMORY client
request.</para>
</listitem>
- <listitem><para>Possibly a client request to forcibly transfer
- ownership of memory from one thread to another. Requires further
- consideration.</para>
+ <listitem><para>The conflicting access mechanism sometimes
+ mysteriously fails to show the conflicting access' stack, even
+ when provided with unbounded storage for conflicting access info.
+ This should be investigated.</para>
</listitem>
- <listitem><para>Add a new client request that marks an address range
- as being "shared-modified with empty lockset" (the error state),
- and describe how to use it.</para>
- </listitem>
<listitem><para>Document races caused by gcc's thread-unsafe code
generation for speculative stores. In the interim see
<computeroutput>http://gcc.gnu.org/ml/gcc/2007-10/msg00266.html
@@ -1119,8 +1110,8 @@
generate false lock-order errors and confuse users.</para>
</listitem>
<listitem><para> Performance can be very poor. Slowdowns on the
- order of 100:1 are not unusual. There is quite some scope for
- performance improvements, though.
+ order of 100:1 are not unusual. There is limited scope for
+ performance improvements.
</para>
</listitem>
|