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
(21) |
|
2
(19) |
3
(33) |
4
(24) |
5
(18) |
6
(13) |
7
(22) |
8
(21) |
|
9
(38) |
10
(25) |
11
(20) |
12
(27) |
13
(43) |
14
(9) |
15
(19) |
|
16
(37) |
17
(19) |
18
(13) |
19
(11) |
20
(8) |
21
(11) |
22
(25) |
|
23
(21) |
24
(30) |
25
(18) |
26
(11) |
27
(10) |
28
(14) |
29
(40) |
|
30
(24) |
31
(14) |
|
|
|
|
|
|
From: Julian S. <js...@ac...> - 2008-03-03 22:21:20
|
Fixed (r7551). J On Monday 03 March 2008 20:33, Bart Van Assche wrote: > On Mon, Mar 3, 2008 at 12:51 AM, Julian Seward <js...@ac...> wrote: > > Because the changes are mostly self contained, I don't expect > > this merge to cause any serious problems. Please complain if > > they do. > > The following command triggers a segmentation fault on my system: > > ./vg-in-place --tool=exp-drd --trace-address=0x601088 > --trace-danger-set=yes exp-drd/tests/hg01_all_ok > > When I start the above command under gdb, then gdb tells me that the > segmentation fault happened at line 253 in m_stacktrace.c, and that > fp_min == 0. Who should look into this ? > > Program received signal SIGSEGV, Segmentation fault. > vgPlain_get_StackTrace_wrk (tid_if_known=<value optimized out>, > ips=<value optimized out>, n_ips=12, sps=0x0, fps=0x0, ip=0, sp=0, > fp=0, lr=0, fp_min=0, fp_max_orig=0) at m_stacktrace.c:253 > 253 ip = (((UWord*)fp)[1]); > (gdb) print fp > $1 = 0 > (gdb) where > #0 vgPlain_get_StackTrace_wrk (tid_if_known=<value optimized out>, > ips=<value optimized out>, n_ips=12, sps=0x0, fps=0x0, ip=0, sp=0, > fp=0, lr=0, fp_min=0, fp_max_orig=0) at m_stacktrace.c:253 > #1 0x000000003801d504 in vgPlain_get_StackTrace (tid=1, > ips=0x3892c7d0, n_ips=12, sps=0x0, fps=0x0, first_ip_delta=0) at > m_stacktrace.c:477 > #2 0x000000003801d56a in vgPlain_get_and_pp_StackTrace (tid=10, > n_ips=949143368) at m_stacktrace.c:520 > #3 0x0000000038012eb1 in valgrind_main (argc=<value optimized out>, > argv=<value optimized out>, envp=0x7ffffa7794a8) at m_main.c:1789 > #4 0x00000000380149fe in _start_in_C_linux (pArgc=0x7ffffa779470) at > m_main.c:2375 > #5 0x0000000038011891 in _start () > (gdb) print fp_min > $2 = 0 > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: <sv...@va...> - 2008-03-03 22:20:47
|
Author: sewardj
Date: 2008-03-03 22:20:51 +0000 (Mon, 03 Mar 2008)
New Revision: 7551
Log:
VG_(get_strace_wrk): don't segfault in the degenerate case fp_min =
fp_max_orig = 0.
Modified:
trunk/coregrind/m_stacktrace.c
Modified: trunk/coregrind/m_stacktrace.c
===================================================================
--- trunk/coregrind/m_stacktrace.c 2008-03-03 20:40:51 UTC (rev 7550)
+++ trunk/coregrind/m_stacktrace.c 2008-03-03 22:20:51 UTC (rev 7551)
@@ -90,7 +90,8 @@
// current page, at least. Dunno if it helps.
// NJN 2002-sep-17: seems to -- stack traces look like 1.0.X again
fp_max = VG_PGROUNDUP(fp_max_orig);
- fp_max -= sizeof(Addr);
+ if (fp_max >= sizeof(Addr))
+ fp_max -= sizeof(Addr);
if (debug)
VG_(printf)("n_ips=%d fp_min=%p fp_max_orig=%p, "
|
|
From: <sv...@va...> - 2008-03-03 20:48:36
|
Author: bart
Date: 2008-03-03 20:40:51 +0000 (Mon, 03 Mar 2008)
New Revision: 7550
Log:
Compiles now with gcc 2.96 too.
Modified:
trunk/coregrind/m_debuginfo/readdwarf3.c
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2008-03-03 20:31:58 UTC (rev 7549)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2008-03-03 20:40:51 UTC (rev 7550)
@@ -153,7 +153,7 @@
UChar* region_start_img;
UWord region_szB;
UWord region_next;
- __attribute__((noreturn)) void (*barf)( HChar* );
+ void (*barf)( HChar* ) __attribute__((noreturn));
HChar* barfstr;
}
Cursor;
@@ -371,7 +371,7 @@
typedef
struct {
/* Call here if anything goes wrong */
- __attribute__((noreturn)) void (*barf)( HChar* );
+ void (*barf)( HChar* ) __attribute__((noreturn));
/* Is this 64-bit DWARF ? */
Bool is_dw64;
/* Which DWARF version ? (2 or 3) */
|
|
From: <sv...@va...> - 2008-03-03 20:32:04
|
Author: bart
Date: 2008-03-03 20:31:58 +0000 (Mon, 03 Mar 2008)
New Revision: 7549
Log:
Added new command-line option --trace-rwlock. Added regression test exp-drd/tests/rwlock_race. Updated to do list. Fixed bug in vc_min(), the function that computes the elementwise minimum of two vector clocks. Fixed bug in thread_update_danger_set(). Fixed recently introduced bug in mutex code with regard to vector clock combining.
Added:
trunk/exp-drd/tests/rwlock_race.c
trunk/exp-drd/tests/rwlock_race.stderr.exp
trunk/exp-drd/tests/rwlock_race.vgtest
Modified:
trunk/exp-drd/TODO.txt
trunk/exp-drd/drd_clientreq.c
trunk/exp-drd/drd_clientreq.h
trunk/exp-drd/drd_intercepts.c
trunk/exp-drd/drd_main.c
trunk/exp-drd/drd_mutex.c
trunk/exp-drd/drd_rwlock.c
trunk/exp-drd/drd_thread.c
trunk/exp-drd/drd_track.h
trunk/exp-drd/drd_vc.c
trunk/exp-drd/tests/Makefile.am
trunk/exp-drd/tests/tc06_two_races.stderr.exp
trunk/exp-drd/tests/tc21_pthonce.stderr.exp
trunk/glibc-2.X-drd.supp
Modified: trunk/exp-drd/TODO.txt
===================================================================
--- trunk/exp-drd/TODO.txt 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/TODO.txt 2008-03-03 20:31:58 UTC (rev 7549)
@@ -12,6 +12,11 @@
without triggering Valgrind's redirection mechanism.
- Discuss on the Valgrind mailing list the modificaiton of tests/vg_regtest
such that it ignores files ending in ~ or #.
+- Continue the discussion on the Valgrind mailing list about docbook and
+ 'make dist'.
+- Continue the discussion on the Valgrind mailing list about -Wformat.
+- Explain on the Valgrind mailing list the difference between a bus lock
+ and acquire / release labels.
- Find out why a race is reported on std::string::string(std::string const&)
(stc test case 16).
- Add support for objects that are shared over threads and that use reference
@@ -27,8 +32,9 @@
- Performance testing and tuning.
- testing on PPC and AIX (current implementation is only tested on X86 and
AMD64).
-- [AMD64] Find out why removing 'write(1, "", 0)' in drd_intercepts.c triggers
- a crash on AMD64. Is this an exp-drd or a VEX bug ?
+- Find out why there are sometimes races reported on exp-drd/test/matinv.
+- [Fedora 8] Find out why pth_broadcast sometimes hangs on Fedora 8. Is this an
+ exp-drd, pth_broadcast, kernel or glibc bug ?
- On x86 and amd64 platforms, add support for implicit locking arising from
the use of the LOCK instruction prefix.
- Convert the array in drd_thread.c with thread information into an OSet.
@@ -65,5 +71,3 @@
(works fine on i386). This is a bug in Valgrind's debug info reader
-- VG_(find_seginfo)() returns NULL for BSS symbols on x86_64. Not yet in
the KDE bug tracking system.
-- No error message is printed for tc20_verifywrap when a locked mutex is
- deallocated (mutex was allocated on the stack).
Modified: trunk/exp-drd/drd_clientreq.c
===================================================================
--- trunk/exp-drd/drd_clientreq.c 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_clientreq.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -111,6 +111,10 @@
thread_new_segment(PtThreadIdToDrdThreadId(arg[1]));
break;
+ case VG_USERREQ__DRD_TRACE_ADDR:
+ drd_trace_addr(arg[1]);
+ break;
+
case VG_USERREQ__SET_PTHREADID:
thread_set_pthreadid(thread_get_running_tid(), arg[1]);
break;
Modified: trunk/exp-drd/drd_clientreq.h
===================================================================
--- trunk/exp-drd/drd_clientreq.h 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_clientreq.h 2008-03-03 20:31:58 UTC (rev 7549)
@@ -28,6 +28,9 @@
/* To ask the drd tool to start a new segment in the specified thread. */
VG_USERREQ__DRD_START_NEW_SEGMENT,
/* args: POSIX thread ID. */
+ /* To ask the drd tool to trace all accesses to the specified address. */
+ VG_USERREQ__DRD_TRACE_ADDR,
+ /* args: Addr. */
/* Tell the core the pthread_t of the running thread */
VG_USERREQ__SET_PTHREADID,
Modified: trunk/exp-drd/drd_intercepts.c
===================================================================
--- trunk/exp-drd/drd_intercepts.c 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_intercepts.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -339,12 +339,6 @@
VALGRIND_GET_ORIG_FN(fn);
VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__PRE_PTHREAD_MUTEX_LOCK,
mutex, sizeof(*mutex), mutex_type(mutex), 0, 0);
-#if 1
- // The only purpose of the system call below is to make drd work on AMD64
- // systems. Without this system call, clients crash (SIGSEGV) in
- // std::locale::locale().
- write(1, "", 0);
-#endif
CALL_FN_W_W(ret, fn, mutex);
VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__POST_PTHREAD_MUTEX_LOCK,
mutex, ret == 0, 0, 0, 0);
Modified: trunk/exp-drd/drd_main.c
===================================================================
--- trunk/exp-drd/drd_main.c 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_main.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -30,6 +30,7 @@
#include "drd_error.h"
#include "drd_malloc_wrappers.h"
#include "drd_mutex.h"
+#include "drd_rwlock.h"
#include "drd_segment.h"
#include "drd_semaphore.h"
#include "drd_suppression.h"
@@ -82,6 +83,7 @@
Bool trace_csw = False;
Bool trace_danger_set = False;
Bool trace_mutex = False;
+ Bool trace_rwlock = False;
Bool trace_segment = False;
Bool trace_semaphore = False;
Bool trace_suppression = False;
@@ -96,6 +98,7 @@
else VG_BOOL_CLO(arg, "--trace-fork-join", drd_trace_fork_join)
else VG_BOOL_CLO(arg, "--trace-mem", drd_trace_mem)
else VG_BOOL_CLO(arg, "--trace-mutex", trace_mutex)
+ else VG_BOOL_CLO(arg, "--trace-rwlock", trace_rwlock)
else VG_BOOL_CLO(arg, "--trace-segment", trace_segment)
else VG_BOOL_CLO(arg, "--trace-semaphore", trace_semaphore)
else VG_BOOL_CLO(arg, "--trace-suppression", trace_suppression)
@@ -119,6 +122,8 @@
thread_trace_danger_set(trace_danger_set);
if (trace_mutex)
mutex_set_trace(trace_mutex);
+ if (trace_rwlock)
+ rwlock_set_trace(trace_rwlock);
if (trace_segment)
sg_set_trace(trace_segment);
if (trace_semaphore)
@@ -160,12 +165,15 @@
#if 1
if (drd_trace_mem || (addr == drd_trace_address))
{
- VG_(message)(Vg_UserMsg, "load 0x%lx size %ld %s (vg %d / drd %d)",
+ char vc[80];
+ vc_snprint(vc, sizeof(vc), thread_get_vc(thread_get_running_tid()));
+ VG_(message)(Vg_UserMsg, "load 0x%lx size %ld %s (vg %d / drd %d / vc %s)",
addr,
size,
thread_get_name(thread_get_running_tid()),
VG_(get_running_tid)(),
- thread_get_running_tid());
+ thread_get_running_tid(),
+ vc);
VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
VG_(clo_backtrace_size));
tl_assert(DrdThreadIdToVgThreadId(thread_get_running_tid())
@@ -200,13 +208,16 @@
#if 1
if (drd_trace_mem || (addr == drd_trace_address))
{
- VG_(message)(Vg_UserMsg, "store 0x%lx size %ld %s (vg %d / drd %d / off %d)",
+ char vc[80];
+ vc_snprint(vc, sizeof(vc), thread_get_vc(thread_get_running_tid()));
+ VG_(message)(Vg_UserMsg, "store 0x%lx size %ld %s (vg %d / drd %d / off %d / vc %s)",
addr,
size,
thread_get_name(thread_get_running_tid()),
VG_(get_running_tid)(),
thread_get_running_tid(),
- addr - thread_get_stack_min(thread_get_running_tid()));
+ addr - thread_get_stack_min(thread_get_running_tid()),
+ vc);
VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
VG_(clo_backtrace_size));
tl_assert(DrdThreadIdToVgThreadId(thread_get_running_tid())
@@ -420,6 +431,11 @@
barrier_thread_delete(drd_joinee);
}
+void drd_trace_addr(const Addr addr)
+{
+ drd_trace_address = addr;
+}
+
/* Called after a thread has performed its last memory access. */
static void drd_thread_finished(ThreadId tid)
{
Modified: trunk/exp-drd/drd_mutex.c
===================================================================
--- trunk/exp-drd/drd_mutex.c 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_mutex.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -29,6 +29,7 @@
#include "priv_drd_clientreq.h"
#include "pub_tool_errormgr.h" // VG_(maybe_record_error)()
#include "pub_tool_libcassert.h" // tl_assert()
+#include "pub_tool_libcbase.h" // VG_(strlen)
#include "pub_tool_libcprint.h" // VG_(message)()
#include "pub_tool_machine.h" // VG_(get_IP)()
#include "pub_tool_threadstate.h" // VG_(get_running_tid)()
@@ -117,13 +118,13 @@
if (clientobj_present(mutex, mutex + size))
{
- GenericErrInfo GEI;
- VG_(maybe_record_error)(VG_(get_running_tid)(),
- GenericErr,
- VG_(get_IP)(VG_(get_running_tid)()),
- "Not a mutex",
- &GEI);
- return 0;
+ GenericErrInfo GEI;
+ VG_(maybe_record_error)(VG_(get_running_tid)(),
+ GenericErr,
+ VG_(get_IP)(VG_(get_running_tid)()),
+ "Not a mutex",
+ &GEI);
+ return 0;
}
p = &clientobj_add(mutex, mutex + size, ClientMutex)->mutex;
@@ -281,10 +282,16 @@
}
if (! p || ! took_lock)
- return;
+ return;
if (p->recursion_count == 0)
{
+ const DrdThreadId last_owner = p->owner;
+
+ if (last_owner != drd_tid && last_owner != DRD_INVALID_THREADID)
+ thread_combine_vc2(drd_tid, mutex_get_last_vc(mutex));
+ thread_new_segment(drd_tid);
+
p->owner = drd_tid;
s_mutex_lock_count++;
}
@@ -298,15 +305,6 @@
p->owner = drd_tid;
}
p->recursion_count++;
-
- if (p->recursion_count == 1)
- {
- const DrdThreadId last_owner = p->owner;
-
- if (last_owner != drd_tid && last_owner != DRD_INVALID_THREADID)
- thread_combine_vc2(drd_tid, mutex_get_last_vc(mutex));
- thread_new_segment(drd_tid);
- }
}
/**
@@ -339,13 +337,13 @@
if (p == 0 || mutex_type == mutex_type_invalid_mutex)
{
- GenericErrInfo GEI;
- VG_(maybe_record_error)(vg_tid,
- GenericErr,
- VG_(get_IP)(vg_tid),
- "Not a mutex",
- &GEI);
- return;
+ GenericErrInfo GEI;
+ VG_(maybe_record_error)(vg_tid,
+ GenericErr,
+ VG_(get_IP)(vg_tid),
+ "Not a mutex",
+ &GEI);
+ return;
}
if (p->owner == DRD_INVALID_THREADID)
@@ -356,14 +354,14 @@
VG_(get_IP)(vg_tid),
"Mutex not locked",
&MEI);
- return;
+ return;
}
tl_assert(p);
if (p->mutex_type != mutex_type)
{
VG_(message)(Vg_UserMsg, "??? mutex %p: type changed from %d into %d",
- p->a1, p->mutex_type, mutex_type);
+ p->a1, p->mutex_type, mutex_type);
}
tl_assert(p->mutex_type == mutex_type);
tl_assert(p->owner != DRD_INVALID_THREADID);
@@ -483,6 +481,6 @@
/*
* Local variables:
- * c-basic-offset: 3
+ * c-basic-offset: 2
* End:
*/
Modified: trunk/exp-drd/drd_rwlock.c
===================================================================
--- trunk/exp-drd/drd_rwlock.c 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_rwlock.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -39,10 +39,11 @@
struct rwlock_thread_info
{
- UWord tid; // DrdThreadId.
- UInt reader_nesting_count;
- UInt writer_nesting_count;
+ UWord tid; // DrdThreadId.
+ UInt reader_nesting_count;
+ UInt writer_nesting_count;
VectorClock vc; // Vector clock associated with last unlock by this thread.
+ Bool last_lock_was_writer_lock;
};
@@ -129,6 +130,7 @@
q->reader_nesting_count = 0;
q->writer_nesting_count = 0;
vc_init(&q->vc, 0, 0);
+ q->last_lock_was_writer_lock = False;
VG_(OSetGen_Insert)(oset, q);
}
tl_assert(q);
@@ -136,14 +138,15 @@
}
static void rwlock_combine_other_vc(struct rwlock_info* const p,
- const DrdThreadId tid)
+ const DrdThreadId tid,
+ const Bool readers_too)
{
struct rwlock_thread_info* q;
VG_(OSetGen_ResetIter)(p->thread_info);
for ( ; (q = VG_(OSetGen_Next)(p->thread_info)) != 0; )
{
- if (q->tid != tid)
+ if (q->tid != tid && (readers_too || q->last_lock_was_writer_lock))
{
thread_combine_vc2(tid, &q->vc);
}
@@ -175,7 +178,7 @@
if (s_trace_rwlock)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] rwlock_destroy 0x%lx",
+ "[%d/%d] rwlock_destroy 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
p->a1);
@@ -244,7 +247,7 @@
if (s_trace_rwlock)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] rwlock_init %s 0x%lx",
+ "[%d/%d] rwlock_init 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
rwlock);
@@ -351,7 +354,7 @@
q = lookup_or_insert_node(p->thread_info, drd_tid);
if (++q->reader_nesting_count == 1)
{
- rwlock_combine_other_vc(p, drd_tid);
+ rwlock_combine_other_vc(p, drd_tid, False);
thread_new_segment(drd_tid);
}
}
@@ -422,8 +425,9 @@
q = lookup_or_insert_node(p->thread_info, thread_get_running_tid());
tl_assert(q->writer_nesting_count == 0);
q->writer_nesting_count++;
+ q->last_lock_was_writer_lock = True;
tl_assert(q->writer_nesting_count == 1);
- rwlock_combine_other_vc(p, drd_tid);
+ rwlock_combine_other_vc(p, drd_tid, True);
thread_new_segment(drd_tid);
}
@@ -447,7 +451,7 @@
if (s_trace_rwlock && p != 0)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] rwlock_unlock 0x%lx",
+ "[%d/%d] rwlock_unlock 0x%lx",
vg_tid,
drd_tid,
rwlock);
@@ -479,6 +483,7 @@
/* current vector clock of the thread such that it is available when */
/* this rwlock is locked again. */
vc_assign(&q->vc, vc);
+ q->last_lock_was_writer_lock = False;
thread_new_segment(drd_tid);
}
Modified: trunk/exp-drd/drd_thread.c
===================================================================
--- trunk/exp-drd/drd_thread.c 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_thread.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -582,7 +582,7 @@
}
/**
- * Discard all segments that have a defined ordered against the latest vector
+ * Discard all segments that have a defined order against the latest vector
* clock of every thread -- these segments can no longer be involved in a
* data race.
*/
@@ -875,7 +875,7 @@
VG_(message)(Vg_DebugMsg, "%s", msg);
}
- for (p = s_threadinfo[tid].first; p; p = p->next)
+ p = s_threadinfo[tid].last;
{
unsigned j;
@@ -896,7 +896,8 @@
{
if (IsValidDrdThreadId(j))
{
- const Segment* const q = s_threadinfo[j].last;
+ const Segment* q;
+ for (q = s_threadinfo[j].last; q; q = q->prev)
if (j != tid && q != 0
&& ! vc_lte(&q->vc, &p->vc) && ! vc_lte(&p->vc, &q->vc))
{
Modified: trunk/exp-drd/drd_track.h
===================================================================
--- trunk/exp-drd/drd_track.h 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_track.h 2008-03-03 20:31:58 UTC (rev 7549)
@@ -25,6 +25,8 @@
void drd_post_thread_join(DrdThreadId joiner, DrdThreadId joinee);
+void drd_trace_addr(const Addr addr);
+
void drd_pre_mutex_init(Addr mutex, SizeT size, const MutexT mutex_type);
void drd_post_mutex_destroy(Addr mutex, const MutexT mutex_type);
void drd_pre_mutex_lock(const Addr mutex, const SizeT size,
Modified: trunk/exp-drd/drd_vc.c
===================================================================
--- trunk/exp-drd/drd_vc.c 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/drd_vc.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -134,9 +134,7 @@
return vc_lte(vc1, vc2) || vc_lte(vc2, vc1);
}
-/**
- * Compute elementwise minimum.
- */
+/** Compute elementwise minimum. */
void vc_min(VectorClock* const result,
const VectorClock* const rhs)
{
@@ -148,7 +146,7 @@
tl_assert(result);
tl_assert(rhs);
- // First count the number of shared thread id's.
+ /* First count the number of shared thread ID's. */
j = 0;
shared = 0;
for (i = 0; i < result->size; i++)
@@ -169,14 +167,18 @@
vc_check(result);
- // Next, combine both vector clocks into one.
+ /* Next, combine both vector clocks into one. */
i = 0;
for (j = 0; j < rhs->size; j++)
{
vc_check(result);
while (i < result->size && result->vc[i].threadid < rhs->vc[j].threadid)
+ {
+ /* Thread ID is missing in second vector clock. Clear the count. */
+ result->vc[i].count = 0;
i++;
+ }
if (i >= result->size)
{
result->size++;
@@ -185,17 +187,12 @@
}
else if (result->vc[i].threadid > rhs->vc[j].threadid)
{
- unsigned k;
- for (k = result->size; k > i; k--)
- {
- result->vc[k] = result->vc[k - 1];
- }
- result->size++;
- result->vc[i] = rhs->vc[j];
- vc_check(result);
+ /* Thread ID is missing in first vector clock. Leave out. */
}
else
{
+ /* The thread ID is present in both vector clocks. Compute the minimum */
+ /* of vc[i].count and vc[j].count. */
tl_assert(result->vc[i].threadid == rhs->vc[j].threadid);
if (rhs->vc[j].count < result->vc[i].count)
{
@@ -205,7 +202,6 @@
}
}
vc_check(result);
- tl_assert(result->size == new_size);
}
/**
Modified: trunk/exp-drd/tests/Makefile.am
===================================================================
--- trunk/exp-drd/tests/Makefile.am 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/tests/Makefile.am 2008-03-03 20:31:58 UTC (rev 7549)
@@ -48,6 +48,7 @@
pth_detached2.vgtest \
pth_detached2.stdout.exp pth_detached2.stderr.exp \
recursive_mutex.vgtest recursive_mutex.stderr.exp \
+ rwlock_race.vgtest rwlock_race.stderr.exp \
sem_as_mutex.vgtest sem_as_mutex.stderr.exp \
sem_as_mutex2.vgtest sem_as_mutex2.stderr.exp \
sigalrm.vgtest \
@@ -121,8 +122,9 @@
pth_cond_race \
pth_create_chain \
pth_detached \
+ recursive_mutex \
+ rwlock_race \
sem_as_mutex \
- recursive_mutex \
sigalrm \
tc01_simple_race \
tc02_simple_tls \
@@ -194,6 +196,9 @@
recursive_mutex_SOURCES = recursive_mutex.c
recursive_mutex_LDADD = -lpthread
+rwlock_race_SOURCES = rwlock_race.c
+rwlock_race_LDADD = -lpthread
+
sem_as_mutex_SOURCES = sem_as_mutex.c
sem_as_mutex_LDADD = -lpthread
Added: trunk/exp-drd/tests/rwlock_race.c
===================================================================
--- trunk/exp-drd/tests/rwlock_race.c (rev 0)
+++ trunk/exp-drd/tests/rwlock_race.c 2008-03-03 20:31:58 UTC (rev 7549)
@@ -0,0 +1,48 @@
+/** Cause a race inside code protected by a reader lock.
+ */
+
+
+/* Needed for older glibc's (2.3 and older, at least) who don't
+ otherwise "know" about pthread_rwlock_anything or about
+ PTHREAD_MUTEX_RECURSIVE (amongst things). */
+
+#define _GNU_SOURCE 1
+
+#include <stdio.h>
+#include <pthread.h>
+#include "../drd_clientreq.h"
+
+
+static pthread_rwlock_t s_rwlock;
+static int s_racy;
+
+static void* thread(void* arg)
+{
+ pthread_rwlock_rdlock(&s_rwlock);
+ s_racy++;
+ pthread_rwlock_unlock(&s_rwlock);
+ return 0;
+}
+
+int main(int argc, char** argv)
+{
+ pthread_t thread1;
+ pthread_t thread2;
+
+#if 0
+ int res;
+ VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_TRACE_ADDR,
+ &s_racy, 0, 0, 0, 0);
+#endif
+
+ pthread_rwlock_init(&s_rwlock, 0);
+ pthread_create(&thread1, 0, thread, 0);
+ pthread_create(&thread2, 0, thread, 0);
+ pthread_join(thread1, 0);
+ pthread_join(thread2, 0);
+ pthread_rwlock_destroy(&s_rwlock);
+
+ fprintf(stderr, "Result: %d\n", s_racy);
+
+ return 0;
+}
Added: trunk/exp-drd/tests/rwlock_race.stderr.exp
===================================================================
--- trunk/exp-drd/tests/rwlock_race.stderr.exp (rev 0)
+++ trunk/exp-drd/tests/rwlock_race.stderr.exp 2008-03-03 20:31:58 UTC (rev 7549)
@@ -0,0 +1,26 @@
+
+Thread 2:
+Conflicting load by thread 2 at 0x........ size 4
+ at 0x........: thread (rwlock_race.c:?)
+ by 0x........: vg_thread_wrapper (drd_intercepts.c:?)
+ by 0x........: start_thread (in libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Allocation context: unknown
+Other segment start (thread 2)
+ (thread finished, call stack no longer available)
+Other segment end (thread 2)
+ (thread finished, call stack no longer available)
+
+Conflicting store by thread 2 at 0x........ size 4
+ at 0x........: thread (rwlock_race.c:?)
+ by 0x........: vg_thread_wrapper (drd_intercepts.c:?)
+ by 0x........: start_thread (in libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Allocation context: unknown
+Other segment start (thread 2)
+ (thread finished, call stack no longer available)
+Other segment end (thread 2)
+ (thread finished, call stack no longer available)
+Result: 2
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Added: trunk/exp-drd/tests/rwlock_race.vgtest
===================================================================
--- trunk/exp-drd/tests/rwlock_race.vgtest (rev 0)
+++ trunk/exp-drd/tests/rwlock_race.vgtest 2008-03-03 20:31:58 UTC (rev 7549)
@@ -0,0 +1 @@
+prog: rwlock_race
Modified: trunk/exp-drd/tests/tc06_two_races.stderr.exp
===================================================================
--- trunk/exp-drd/tests/tc06_two_races.stderr.exp 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/tests/tc06_two_races.stderr.exp 2008-03-03 20:31:58 UTC (rev 7549)
@@ -1 +1 @@
-ERROR SUMMARY: 2 errors from 2 contexts
+ERROR SUMMARY: 4 errors from 4 contexts
Modified: trunk/exp-drd/tests/tc21_pthonce.stderr.exp
===================================================================
--- trunk/exp-drd/tests/tc21_pthonce.stderr.exp 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/exp-drd/tests/tc21_pthonce.stderr.exp 2008-03-03 20:31:58 UTC (rev 7549)
@@ -1,3 +1,45 @@
+Thread 2:
+Conflicting load by thread 2 at 0x........ size 4
+ at 0x........: vfprintf (in /...libc...)
+ by 0x........: printf (in /...libc...)
+ by 0x........: child (tc21_pthonce.c:73)
+ by 0x........: vg_thread_wrapper (drd_intercepts.c:?)
+ by 0x........: start_thread (in libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Allocation context: unknown
+Other segment start (thread 1)
+ at 0x........: clone (in /...libc...)
+ by 0x........: do_clone (in libpthread-?.?.so)
+ by 0x........: pthread_create@@GLIBC_2.2.5 (in libpthread-?.?.so)
+ by 0x........: pthread_create* (drd_intercepts.c:?)
+ by 0x........: main (tc21_pthonce.c:86)
+Other segment end (thread 1)
+ at 0x........: clone (in /...libc...)
+ by 0x........: do_clone (in libpthread-?.?.so)
+ by 0x........: pthread_create@@GLIBC_2.2.5 (in libpthread-?.?.so)
+ by 0x........: pthread_create* (drd_intercepts.c:?)
+ by 0x........: main (tc21_pthonce.c:86)
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+Conflicting load by thread 2 at 0x........ size 4
+ at 0x........: vfprintf (in /...libc...)
+ by 0x........: printf (in /...libc...)
+ by 0x........: child (tc21_pthonce.c:73)
+ by 0x........: vg_thread_wrapper (drd_intercepts.c:?)
+ by 0x........: start_thread (in libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Allocation context: unknown
+Other segment start (thread 1)
+ at 0x........: clone (in /...libc...)
+ by 0x........: do_clone (in libpthread-?.?.so)
+ by 0x........: pthread_create@@GLIBC_2.2.5 (in libpthread-?.?.so)
+ by 0x........: pthread_create* (drd_intercepts.c:?)
+ by 0x........: main (tc21_pthonce.c:86)
+Other segment end (thread 1)
+ at 0x........: clone (in /...libc...)
+ by 0x........: do_clone (in libpthread-?.?.so)
+ by 0x........: pthread_create@@GLIBC_2.2.5 (in libpthread-?.?.so)
+ by 0x........: pthread_create* (drd_intercepts.c:?)
+ by 0x........: main (tc21_pthonce.c:86)
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Modified: trunk/glibc-2.X-drd.supp
===================================================================
--- trunk/glibc-2.X-drd.supp 2008-03-03 17:40:31 UTC (rev 7548)
+++ trunk/glibc-2.X-drd.supp 2008-03-03 20:31:58 UTC (rev 7549)
@@ -113,6 +113,14 @@
fun:pthread_create*
}
{
+ pthread
+ exp-drd:ConflictingAccess
+ fun:clone
+ fun:do_clone
+ fun:pthread_create@@GLIBC_*
+ fun:pthread_create*
+}
+{
pthread-glibc2.7-pthread_create
exp-drd:ConflictingAccess
fun:memset
@@ -127,6 +135,13 @@
{
pthread
exp-drd:ConflictingAccess
+ fun:__pthread_mutex_cond_lock
+ fun:pthread_cond_wait@@GLIBC_*
+ fun:pthread_cond_wait*
+}
+{
+ pthread
+ exp-drd:ConflictingAccess
fun:clone
fun:pthread_create@@GLIBC_*
fun:pthread_create*
|
|
From: Bart V. A. <bar...@gm...> - 2008-03-03 19:33:34
|
On Mon, Mar 3, 2008 at 12:51 AM, Julian Seward <js...@ac...> wrote: > Because the changes are mostly self contained, I don't expect > this merge to cause any serious problems. Please complain if > they do. The following command triggers a segmentation fault on my system: ./vg-in-place --tool=exp-drd --trace-address=0x601088 --trace-danger-set=yes exp-drd/tests/hg01_all_ok When I start the above command under gdb, then gdb tells me that the segmentation fault happened at line 253 in m_stacktrace.c, and that fp_min == 0. Who should look into this ? Program received signal SIGSEGV, Segmentation fault. vgPlain_get_StackTrace_wrk (tid_if_known=<value optimized out>, ips=<value optimized out>, n_ips=12, sps=0x0, fps=0x0, ip=0, sp=0, fp=0, lr=0, fp_min=0, fp_max_orig=0) at m_stacktrace.c:253 253 ip = (((UWord*)fp)[1]); (gdb) print fp $1 = 0 (gdb) where #0 vgPlain_get_StackTrace_wrk (tid_if_known=<value optimized out>, ips=<value optimized out>, n_ips=12, sps=0x0, fps=0x0, ip=0, sp=0, fp=0, lr=0, fp_min=0, fp_max_orig=0) at m_stacktrace.c:253 #1 0x000000003801d504 in vgPlain_get_StackTrace (tid=1, ips=0x3892c7d0, n_ips=12, sps=0x0, fps=0x0, first_ip_delta=0) at m_stacktrace.c:477 #2 0x000000003801d56a in vgPlain_get_and_pp_StackTrace (tid=10, n_ips=949143368) at m_stacktrace.c:520 #3 0x0000000038012eb1 in valgrind_main (argc=<value optimized out>, argv=<value optimized out>, envp=0x7ffffa7794a8) at m_main.c:1789 #4 0x00000000380149fe in _start_in_C_linux (pArgc=0x7ffffa779470) at m_main.c:2375 #5 0x0000000038011891 in _start () (gdb) print fp_min $2 = 0 |
|
From: Bart V. A. <bar...@gm...> - 2008-03-03 19:22:36
|
On Sun, Mar 2, 2008 at 11:49 PM, Nicholas Nethercote <nj...@cs...> wrote: > > Perhaps it would be useful for vg_regtest to warn about and ignore > > *exp files with ~ and # in their names. > > I just committed a change to ignore them. Thanks ! Bart. |
|
From: <sv...@va...> - 2008-03-03 17:40:30
|
Author: bart Date: 2008-03-03 17:40:31 +0000 (Mon, 03 Mar 2008) New Revision: 7548 Log: Added test for recursive writer locking. Modified: trunk/exp-drd/tests/trylock.c trunk/exp-drd/tests/trylock.stderr.exp Modified: trunk/exp-drd/tests/trylock.c =================================================================== --- trunk/exp-drd/tests/trylock.c 2008-03-03 17:37:24 UTC (rev 7547) +++ trunk/exp-drd/tests/trylock.c 2008-03-03 17:40:31 UTC (rev 7548) @@ -48,6 +48,10 @@ fprintf(stderr, "Locking rwlock via pthread_rwlock_timedrdlock().\n"); r = pthread_rwlock_timedrdlock(&rwlock, &abs_timeout); assert(r == 0); r = pthread_rwlock_unlock(&rwlock); assert(r == 0); + fprintf(stderr, "Attempt to lock for writing recursively (not allowed).\n"); + r = pthread_rwlock_wrlock(&rwlock); assert(r == 0); + r = pthread_rwlock_wrlock(&rwlock); assert(r != 0); + r = pthread_rwlock_unlock(&rwlock); assert(r == 0); r = pthread_rwlock_destroy(&rwlock); assert(r == 0); r = pthread_mutex_init(&mutex, NULL); assert(r == 0); Modified: trunk/exp-drd/tests/trylock.stderr.exp =================================================================== --- trunk/exp-drd/tests/trylock.stderr.exp 2008-03-03 17:37:24 UTC (rev 7547) +++ trunk/exp-drd/tests/trylock.stderr.exp 2008-03-03 17:40:31 UTC (rev 7548) @@ -5,8 +5,12 @@ Locking rwlock via pthread_rwlock_rdlock(). Locking rwlock via pthread_rwlock_tryrdlock(). Locking rwlock via pthread_rwlock_timedrdlock(). +Attempt to lock for writing recursively (not allowed). +Recursive writer locking not allowed: rwlock 0x......... + at 0x........: pthread_rwlock_wrlock* (drd_intercepts.c:?) + by 0x........: main (trylock.c:?) Locking mutex via pthread_mutex_trylock(). Locking mutex via pthread_mutex_lock(). Locking mutex via pthread_mutex_timedlock(). -ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) |
|
From: <sv...@va...> - 2008-03-03 17:37:21
|
Author: bart Date: 2008-03-03 17:37:24 +0000 (Mon, 03 Mar 2008) New Revision: 7547 Log: The pth_broadcast test program now prints a message when finished such that the difference between successful completion and termination because of SIGALRM can be detected. Modified: trunk/exp-drd/tests/pth_broadcast.c trunk/exp-drd/tests/pth_broadcast.stderr.exp Modified: trunk/exp-drd/tests/pth_broadcast.c =================================================================== --- trunk/exp-drd/tests/pth_broadcast.c 2008-03-03 15:51:58 UTC (rev 7546) +++ trunk/exp-drd/tests/pth_broadcast.c 2008-03-03 17:37:24 UTC (rev 7547) @@ -1,8 +1,9 @@ -// Broadcast a (POSIX threads) signal to all running threads, where the -// number of threads can be specified on the command line. This test program -// is intended not only to test the correctness of drd but also to test -// whether performance does not degrade too much when the number of threads -// increases. +/** Broadcast a (POSIX threads) signal to all running threads, where the + * number of threads can be specified on the command line. This test program + * is intended not only to test the correctness of drd but also to test + * whether performance does not degrade too much when the number of threads + * increases. + */ #include <assert.h> @@ -176,5 +177,8 @@ } pthread_cond_destroy(&s_cond); pthread_mutex_destroy(&s_mutex); + + fprintf(stderr, "Done.\n"); + return 0; } Modified: trunk/exp-drd/tests/pth_broadcast.stderr.exp =================================================================== --- trunk/exp-drd/tests/pth_broadcast.stderr.exp 2008-03-03 15:51:58 UTC (rev 7546) +++ trunk/exp-drd/tests/pth_broadcast.stderr.exp 2008-03-03 17:37:24 UTC (rev 7547) @@ -1,3 +1,4 @@ +Done. ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) |
|
From: Ashley P. <api...@co...> - 2008-03-03 16:56:22
|
On Sat, 2008-03-01 at 21:15 +0100, Julian Seward wrote:
> On Friday 29 February 2008 16:54, Ashley Pittman wrote:
> > I've been looking at my output aggregation tool again this week and have
> > spotted a problem with the new output qualifier, in the old system with
> > the --log-file-qualifier option the name and value of the variable are
>
> You're absolutely right. Sorry for the breakage.
It's as much my fault as yours, I didn't spot it either.
> You can find some code used to deal with ${FOO} in VG_(expand_file_name).
> Perhaps that could be factored into a function used by both the
> current log-file-name handling, and the logfilequalifier stuff.
I've simply copied the function to m_main.c and stripped out the bits I
don't need.
Ashley,
|
|
From: Ashley P. <api...@co...> - 2008-03-03 16:18:44
|
On Mon, 2008-03-03 at 17:01 +0100, Julian Seward wrote: > On Monday 03 March 2008 16:51, Ashley Pittman wrote: > > I'm trying a VPATH build of valgrind and have found that omega doesn't > > build when using VPATH, it appears omega is the only tool to try and > > include pub_core_options.h > > Euh, that's a bug. By definition tools are only allowed to see > include/pub_tool_*.h and not coregrind/anythingatall.h. > > You could probably fix this by changing the include to be > pub_tool_include.h, and then moving any required definitions from > the core_ to tool_ include files. > > But before you do that, have a look at > http://bugs.kde.org/show_bug.cgi?id=155913 > since that fixes vpath compilation, i believe. That looks like it should fix it however as you say gives tools full access to coregrind/*.h The attached patch should work although the VG_(start_debugger) function is the only prototype in pub_core_debugger.h so the whole file should probably be moved to include/pub_tool_debugger.h and the Makefiles updated accordingly. It's only the two prototypes omega needs to compile. Ashley, |
|
From: Julian S. <js...@ac...> - 2008-03-03 16:04:35
|
On Monday 03 March 2008 16:51, Ashley Pittman wrote: > I'm trying a VPATH build of valgrind and have found that omega doesn't > build when using VPATH, it appears omega is the only tool to try and > include pub_core_options.h Euh, that's a bug. By definition tools are only allowed to see include/pub_tool_*.h and not coregrind/anythingatall.h. You could probably fix this by changing the include to be pub_tool_include.h, and then moving any required definitions from the core_ to tool_ include files. But before you do that, have a look at http://bugs.kde.org/show_bug.cgi?id=155913 since that fixes vpath compilation, i believe. J > and a extra -I{top_srcdir} is needed > somewhere, if only I could work out auto-make foo! > > The steps to reproduce this from a clean checkout are: > > mkdir -p v/valgrind > cd v/valgrind > svn co... > ./autogen.sh > mkdir ../build > cd ../build > ../valgrind/configure --prefix=.. > make > > gcc -DHAVE_CONFIG_H -I. -I.. -I../../valgrind/exp-omega > -I../../valgrind/include -I../../valgrind/VEX/pub -DVGA_x86=1 > -DVGO_linux=1 -DVGP_x86_linux=1 -m32 -mpreferred-stack-boundary=2 -O2 > -g -Wmissing-prototypes -Wall -Wshadow -Wpointer-arith > -Wstrict-prototypes -Wmissing-declarations -fno-strict-aliasing -O2 > -Wno-long-long -Wno-pointer-sign -Wdeclaration-after-statement > -fno-stack-protector -MT exp_omega_x86_linux-o_main.o -MD -MP > -MF .deps/exp_omega_x86_linux-o_main.Tpo -c -o > exp_omega_x86_linux-o_main.o `test -f 'o_main.c' || echo > '../../valgrind/exp-omega/'`o_main.c > ../../valgrind/exp-omega/o_main.c:61:40: error: > coregrind/pub_core_options.h: No such file or directory > ../../valgrind/exp-omega/o_main.c:62:41: error: > coregrind/pub_core_debugger.h: No such file or directory > ../../valgrind/exp-omega/o_main.c: In function ‘o_doLeakReport’: > ../../valgrind/exp-omega/o_main.c:1644: error: ‘vgPlain_clo_db_attach’ > undeclared (first use in this function) > ../../valgrind/exp-omega/o_main.c:1644: error: (Each undeclared > identifier is reported only once > ../../valgrind/exp-omega/o_main.c:1644: error: for each function it > appears in.) > ../../valgrind/exp-omega/o_main.c:1646: warning: implicit declaration of > function ‘vgPlain_start_debugger’ > make[3]: *** [exp_omega_x86_linux-o_main.o] Error 1 > make[3]: Leaving directory > `/home/apittman/code/valgrind/build/exp-omega' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory > `/home/apittman/code/valgrind/build/exp-omega' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/home/apittman/code/valgrind/build' > make: *** [all] Error 2 > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: <sv...@va...> - 2008-03-03 15:51:59
|
Author: sewardj
Date: 2008-03-03 15:51:58 +0000 (Mon, 03 Mar 2008)
New Revision: 7546
Log:
Don't be quite so paranoid about rejecting symbols that fall outside
the .text segment. Instead only reject ones that fall outside the r-x
area. This is in line with r7427, which instituted such a change in
other places in the system.
Modified:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2008-03-03 11:16:33 UTC (rev 7545)
+++ trunk/coregrind/m_debuginfo/readelf.c 2008-03-03 15:51:58 UTC (rev 7546)
@@ -458,7 +458,19 @@
if (*is_text_out) {
- if (!in_text) {
+ /* This used to reject any symbol falling outside the text
+ segment ("if (!in_text) ..."). Now it is relaxed slightly,
+ to reject only symbols which fall outside the area mapped
+ r-x. This is in accordance with r7427. See
+ "Comment_Regarding_Text_Range_Checks" in storage.c for
+ background. */
+ Bool in_rx;
+ vg_assert(di->have_rx_map);
+ in_rx = (!(*sym_avma_out + *sym_size_out <= di->rx_map_avma
+ || *sym_avma_out >= di->rx_map_avma + di->rx_map_size));
+ if (in_text)
+ vg_assert(in_rx);
+ if (!in_rx) {
TRACE_SYMTAB(
"ignore -- %p .. %p outside .text svma range %p .. %p\n",
*sym_avma_out, *sym_avma_out + *sym_size_out,
|
|
From: Ashley P. <api...@co...> - 2008-03-03 15:51:38
|
I'm trying a VPATH build of valgrind and have found that omega doesn't
build when using VPATH, it appears omega is the only tool to try and
include pub_core_options.h and a extra -I{top_srcdir} is needed
somewhere, if only I could work out auto-make foo!
The steps to reproduce this from a clean checkout are:
mkdir -p v/valgrind
cd v/valgrind
svn co...
./autogen.sh
mkdir ../build
cd ../build
../valgrind/configure --prefix=..
make
gcc -DHAVE_CONFIG_H -I. -I.. -I../../valgrind/exp-omega
-I../../valgrind/include -I../../valgrind/VEX/pub -DVGA_x86=1
-DVGO_linux=1 -DVGP_x86_linux=1 -m32 -mpreferred-stack-boundary=2 -O2
-g -Wmissing-prototypes -Wall -Wshadow -Wpointer-arith
-Wstrict-prototypes -Wmissing-declarations -fno-strict-aliasing -O2
-Wno-long-long -Wno-pointer-sign -Wdeclaration-after-statement
-fno-stack-protector -MT exp_omega_x86_linux-o_main.o -MD -MP
-MF .deps/exp_omega_x86_linux-o_main.Tpo -c -o
exp_omega_x86_linux-o_main.o `test -f 'o_main.c' || echo
'../../valgrind/exp-omega/'`o_main.c
../../valgrind/exp-omega/o_main.c:61:40: error:
coregrind/pub_core_options.h: No such file or directory
../../valgrind/exp-omega/o_main.c:62:41: error:
coregrind/pub_core_debugger.h: No such file or directory
../../valgrind/exp-omega/o_main.c: In function ‘o_doLeakReport’:
../../valgrind/exp-omega/o_main.c:1644: error: ‘vgPlain_clo_db_attach’
undeclared (first use in this function)
../../valgrind/exp-omega/o_main.c:1644: error: (Each undeclared
identifier is reported only once
../../valgrind/exp-omega/o_main.c:1644: error: for each function it
appears in.)
../../valgrind/exp-omega/o_main.c:1646: warning: implicit declaration of
function ‘vgPlain_start_debugger’
make[3]: *** [exp_omega_x86_linux-o_main.o] Error 1
make[3]: Leaving directory
`/home/apittman/code/valgrind/build/exp-omega'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/apittman/code/valgrind/build/exp-omega'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/apittman/code/valgrind/build'
make: *** [all] Error 2
|
|
From: Bart V. A. <bar...@gm...> - 2008-03-03 11:18:21
|
On Mon, Mar 3, 2008 at 12:06 PM, Tom Hughes <to...@co...> wrote: > In message <e2e...@ma...> > > > Bart Van Assche <bar...@gm...> wrote: > > > On Mon, Mar 3, 2008 at 11:42 AM, Tom Hughes <th...@cy...> wrote: > >> > >> Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-03-01 03:10:04 GMT > >> Results differ from 24 hours ago > >> ... > >> pth_broadcast: valgrind ./pth_broadcast > >> sh: line 1: 19837 Killed VALGRIND_LIB=/tmp/vgtest/2008-03-01/valgrind/.in_place VALGRIND_LIB_INNER=/tmp/vgtest/2008-03-01/valgrind/.in_place /tmp/vgtest/2008-03-01/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=exp-drd ./pth_broadcast > pth_broadcast.stdout.out 2> pth_broadcast.stderr.out > >> *** pth_broadcast failed (stderr) *** > > > > Hello Tom, > > > > I haven't seen this test being killed ever before. Could this be > > caused by the regression test framework ? If not, can you please post > > pth_broadcast.stderr.out ? > > It was killed by me because I had about five days worth of valgrind > tests hanging around chewing cpu on that machine. > > It doesn't actually seem to be hanging under manual testing at the > moment. That's unfortunate. I have added the statement "alarm(100);" inside pth_broadcast.c, such that the test is aborted if it did not complete within 100s. Bart. |
|
From: <sv...@va...> - 2008-03-03 11:16:31
|
Author: bart
Date: 2008-03-03 11:16:33 +0000 (Mon, 03 Mar 2008)
New Revision: 7545
Log:
Made sure that the pth_broadcast test is aborted if it does not complete within 100s.
Modified:
trunk/exp-drd/tests/pth_broadcast.c
Modified: trunk/exp-drd/tests/pth_broadcast.c
===================================================================
--- trunk/exp-drd/tests/pth_broadcast.c 2008-03-03 07:40:54 UTC (rev 7544)
+++ trunk/exp-drd/tests/pth_broadcast.c 2008-03-03 11:16:33 UTC (rev 7545)
@@ -124,6 +124,11 @@
break;
}
}
+
+ /* This test should complete in 15s or less. If the test does not complete */
+ /* within that time, abort the test via the signal SIGALRM. */
+ alarm(100);
+
s_signal_count = argc > optind ? atoi(argv[optind]) : 10;
thread_count = argc > optind + 1 ? atoi(argv[optind + 1]) : 10;
|
|
From: Julian S. <js...@ac...> - 2008-03-03 11:12:53
|
> --29598-- warning: addVar: in range 0xFA08 .. 0xFA12 outside segment > 0x36DD005210 .. 0x36DD00FC07 (ignore) And just when I thought I had it all working :-) Looks like a failure to add on the text bias at some point. Can you send me the relevant .so to look at? J |
|
From: Tom H. <to...@co...> - 2008-03-03 11:06:38
|
In message <e2e...@ma...>
Bart Van Assche <bar...@gm...> wrote:
> On Mon, Mar 3, 2008 at 11:42 AM, Tom Hughes <th...@cy...> wrote:
>>
>> Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-03-01 03:10:04 GMT
>> Results differ from 24 hours ago
>> ...
>> pth_broadcast: valgrind ./pth_broadcast
>> sh: line 1: 19837 Killed VALGRIND_LIB=/tmp/vgtest/2008-03-01/valgrind/.in_place VALGRIND_LIB_INNER=/tmp/vgtest/2008-03-01/valgrind/.in_place /tmp/vgtest/2008-03-01/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=exp-drd ./pth_broadcast > pth_broadcast.stdout.out 2> pth_broadcast.stderr.out
>> *** pth_broadcast failed (stderr) ***
>
> Hello Tom,
>
> I haven't seen this test being killed ever before. Could this be
> caused by the regression test framework ? If not, can you please post
> pth_broadcast.stderr.out ?
It was killed by me because I had about five days worth of valgrind
tests hanging around chewing cpu on that machine.
It doesn't actually seem to be hanging under manual testing at the
moment.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Bart V. A. <bar...@gm...> - 2008-03-03 11:01:27
|
On Mon, Mar 3, 2008 at 11:42 AM, Tom Hughes <th...@cy...> wrote: > > Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-03-01 03:10:04 GMT > Results differ from 24 hours ago > ... > pth_broadcast: valgrind ./pth_broadcast > sh: line 1: 19837 Killed VALGRIND_LIB=/tmp/vgtest/2008-03-01/valgrind/.in_place VALGRIND_LIB_INNER=/tmp/vgtest/2008-03-01/valgrind/.in_place /tmp/vgtest/2008-03-01/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=exp-drd ./pth_broadcast > pth_broadcast.stdout.out 2> pth_broadcast.stderr.out > *** pth_broadcast failed (stderr) *** Hello Tom, I haven't seen this test being killed ever before. Could this be caused by the regression test framework ? If not, can you please post pth_broadcast.stderr.out ? Bart. |
|
From: Tom H. <to...@co...> - 2008-03-03 11:01:25
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
> Memcheck is able to make use of Dwarf3 info if it has been read,
> but does not read it by default. To allow users to force this
> information to be read, a flag --read-var-info=yes has been
> added. This is a core flag and so applies to all tools.
I'm getting thousands of messages along these lines when I turn
on reading of variable info:
--29598-- warning: addVar: in range 0xFA08 .. 0xFA12 outside segment 0x36DD005210 .. 0x36DD00FC07 (ignore)
It looks like they all relate to the C library rather than our
code.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Tom H. <th...@cy...> - 2008-03-03 10:42:12
|
Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-03-01 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 Last 20 lines of verbose log follow echo matinv: valgrind ./matinv 30 15 1 pth_barrier: valgrind ./pth_barrier 2 1 1 pth_barrier2: valgrind ./pth_barrier 2 32 1 pth_barrier3: valgrind ./pth_barrier 32 1 1 pth_broadcast: valgrind ./pth_broadcast sh: line 1: 19837 Killed VALGRIND_LIB=/tmp/vgtest/2008-03-01/valgrind/.in_place VALGRIND_LIB_INNER=/tmp/vgtest/2008-03-01/valgrind/.in_place /tmp/vgtest/2008-03-01/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=exp-drd ./pth_broadcast > pth_broadcast.stdout.out 2> pth_broadcast.stderr.out *** pth_broadcast failed (stderr) *** pth_cond_race: valgrind ./pth_cond_race pth_cond_race2: valgrind ./pth_cond_race -m pth_create_chain: valgrind ./pth_create_chain 100 pth_detached: valgrind ./pth_detached 1 1 pth_detached2: valgrind ./pth_detached 10 10 recursive_mutex: valgrind ./recursive_mutex sh: line 1: 21322 Alarm clock VALGRIND_LIB=/tmp/vgtest/2008-03-01/valgrind/.in_place VALGRIND_LIB_INNER=/tmp/vgtest/2008-03-01/valgrind/.in_place /tmp/vgtest/2008-03-01/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=exp-drd ./recursive_mutex > recursive_mutex.stdout.out 2> recursive_mutex.stderr.out sem_as_mutex: valgrind ./sem_as_mutex sem_as_mutex2: valgrind ./sem_as_mutex -m sigalrm: valgrind ./sigalrm tc01_simple_race: valgrind ./tc01_simple_race tc02_simple_tls: valgrind ./tc02_simple_tls tc03_re_excl: valgrind ./tc03_re_excl ================================================= == 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 == 400 tests, 11 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/tc04_free_lock (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Mar 1 03:19:19 2008 --- new.short Mon Mar 3 10:42:11 2008 *************** *** 6,23 **** ! Regression test results follow ! ! == 400 tests, 11 stderr failures, 2 stdout failures, 0 post failures == ! memcheck/tests/malloc_free_fill (stderr) ! memcheck/tests/pointer-trace (stderr) ! memcheck/tests/vcpu_fnfns (stdout) ! memcheck/tests/x86/scalar (stderr) ! memcheck/tests/xml1 (stderr) ! none/tests/mremap (stderr) ! none/tests/mremap2 (stdout) ! helgrind/tests/tc18_semabuse (stderr) ! helgrind/tests/tc20_verifywrap (stderr) ! helgrind/tests/tc22_exit_w_lock (stderr) ! exp-drd/tests/hg03_inherit (stderr) ! exp-drd/tests/tc04_free_lock (stderr) ! exp-drd/tests/tc22_exit_w_lock (stderr) ! --- 6,27 ---- ! Last 20 lines of verbose log follow echo ! matinv: valgrind ./matinv 30 15 1 ! pth_barrier: valgrind ./pth_barrier 2 1 1 ! pth_barrier2: valgrind ./pth_barrier 2 32 1 ! pth_barrier3: valgrind ./pth_barrier 32 1 1 ! pth_broadcast: valgrind ./pth_broadcast ! sh: line 1: 19837 Killed VALGRIND_LIB=/tmp/vgtest/2008-03-01/valgrind/.in_place VALGRIND_LIB_INNER=/tmp/vgtest/2008-03-01/valgrind/.in_place /tmp/vgtest/2008-03-01/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=exp-drd ./pth_broadcast > pth_broadcast.stdout.out 2> pth_broadcast.stderr.out ! *** pth_broadcast failed (stderr) *** ! pth_cond_race: valgrind ./pth_cond_race ! pth_cond_race2: valgrind ./pth_cond_race -m ! pth_create_chain: valgrind ./pth_create_chain 100 ! pth_detached: valgrind ./pth_detached 1 1 ! pth_detached2: valgrind ./pth_detached 10 10 ! recursive_mutex: valgrind ./recursive_mutex ! sh: line 1: 21322 Alarm clock VALGRIND_LIB=/tmp/vgtest/2008-03-01/valgrind/.in_place VALGRIND_LIB_INNER=/tmp/vgtest/2008-03-01/valgrind/.in_place /tmp/vgtest/2008-03-01/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=exp-drd ./recursive_mutex > recursive_mutex.stdout.out 2> recursive_mutex.stderr.out ! sem_as_mutex: valgrind ./sem_as_mutex ! sem_as_mutex2: valgrind ./sem_as_mutex -m ! sigalrm: valgrind ./sigalrm ! tc01_simple_race: valgrind ./tc01_simple_race ! tc02_simple_tls: valgrind ./tc02_simple_tls ! tc03_re_excl: valgrind ./tc03_re_excl |
|
From: <sv...@va...> - 2008-03-03 07:40:51
|
Author: bart Date: 2008-03-03 07:40:54 +0000 (Mon, 03 Mar 2008) New Revision: 7544 Log: Made exp-drd/tests/trylock.c compile with older glibc versions. Modified: trunk/exp-drd/tests/trylock.c Modified: trunk/exp-drd/tests/trylock.c =================================================================== --- trunk/exp-drd/tests/trylock.c 2008-03-03 02:15:03 UTC (rev 7543) +++ trunk/exp-drd/tests/trylock.c 2008-03-03 07:40:54 UTC (rev 7544) @@ -1,3 +1,15 @@ +/** Test interception of the various pthread_timed*lock() and pthread_try*lock() + * functions. If any of these are not intercepted, an error message will be + * printed at unlock time. + */ + + +/* Needed for older glibc's (2.3 and older, at least) who don't + otherwise "know" about pthread_rwlock_anything or about + PTHREAD_MUTEX_RECURSIVE (amongst things). */ + +#define _GNU_SOURCE 1 + #include <stdio.h> #include <assert.h> #include <pthread.h> @@ -2,2 +14,3 @@ + int main(int argc, char** argv) |
|
From: Tom H. <th...@cy...> - 2008-03-03 05:12:19
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-03-03 03:15:12 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo trylock.c:17: warning: implicit declaration of function `pthread_rwlock_wrlock' trylock.c:18: warning: implicit declaration of function `pthread_rwlock_unlock' trylock.c:20: warning: implicit declaration of function `pthread_rwlock_trywrlock' trylock.c:23: warning: implicit declaration of function `pthread_rwlock_timedwrlock' trylock.c:26: warning: implicit declaration of function `pthread_rwlock_rdlock' trylock.c:33: warning: implicit declaration of function `pthread_rwlock_tryrdlock' trylock.c:36: warning: implicit declaration of function `pthread_rwlock_timedrdlock' trylock.c:38: warning: implicit declaration of function `pthread_rwlock_destroy' trylock.c:48: warning: implicit declaration of function `pthread_mutex_timedlock' make[5]: *** [trylock.o] Error 1 make[5]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd/tests' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd/tests' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/vgtest/2008-03-03/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 == 367 tests, 102 stderr failures, 6 stdout failures, 29 post failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/lsframe1 (stderr) memcheck/tests/lsframe2 (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/noisy_child (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/bug152022 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (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) none/tests/blockfault (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) exp-drd/tests/fp_race (stderr) exp-drd/tests/fp_race2 (stderr) exp-drd/tests/hg01_all_ok (stderr) exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/hg04_race (stderr) exp-drd/tests/hg05_race2 (stderr) exp-drd/tests/hg06_readshared (stderr) exp-drd/tests/matinv (stdout) exp-drd/tests/matinv (stderr) exp-drd/tests/pth_barrier (stderr) exp-drd/tests/pth_barrier2 (stderr) exp-drd/tests/pth_barrier3 (stderr) exp-drd/tests/pth_broadcast (stderr) exp-drd/tests/pth_cond_race (stderr) exp-drd/tests/pth_cond_race2 (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stdout) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stdout) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/sem_as_mutex (stderr) exp-drd/tests/sem_as_mutex2 (stderr) exp-drd/tests/sigalrm (stderr) exp-drd/tests/tc01_simple_race (stderr) exp-drd/tests/tc02_simple_tls (stderr) exp-drd/tests/tc03_re_excl (stderr) exp-drd/tests/tc05_simple_race (stderr) exp-drd/tests/tc06_two_races (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc11_XCHG (stdout) exp-drd/tests/tc11_XCHG (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) exp-drd/tests/tc16_byterace (stderr) exp-drd/tests/tc17_sembar (stderr) exp-drd/tests/tc18_semabuse (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stdout) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc23_bogus_condwait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Mar 3 04:55:49 2008 --- new.short Mon Mar 3 05:12:24 2008 *************** *** 6,147 **** ! Regression test results follow ! ! == 367 tests, 102 stderr failures, 6 stdout failures, 29 post failures == ! memcheck/tests/addressable (stderr) ! memcheck/tests/badjump (stderr) ! memcheck/tests/describe-block (stderr) ! memcheck/tests/erringfds (stderr) ! memcheck/tests/leak-0 (stderr) ! memcheck/tests/leak-cycle (stderr) ! memcheck/tests/leak-pool-0 (stderr) ! memcheck/tests/leak-pool-1 (stderr) ! memcheck/tests/leak-pool-2 (stderr) ! memcheck/tests/leak-pool-3 (stderr) ! memcheck/tests/leak-pool-4 (stderr) ! memcheck/tests/leak-pool-5 (stderr) ! memcheck/tests/leak-regroot (stderr) ! memcheck/tests/leak-tree (stderr) ! memcheck/tests/long_namespace_xml (stderr) ! memcheck/tests/lsframe1 (stderr) ! memcheck/tests/lsframe2 (stderr) ! memcheck/tests/malloc_free_fill (stderr) ! memcheck/tests/match-overrun (stderr) ! memcheck/tests/noisy_child (stderr) ! memcheck/tests/partial_load_dflt (stderr) ! memcheck/tests/partial_load_ok (stderr) ! memcheck/tests/partiallydefinedeq (stderr) ! memcheck/tests/pointer-trace (stderr) ! memcheck/tests/sigkill (stderr) ! memcheck/tests/stack_changes (stderr) ! memcheck/tests/x86/bug152022 (stderr) ! memcheck/tests/x86/scalar (stderr) ! memcheck/tests/x86/scalar_supp (stderr) ! memcheck/tests/x86/xor-undef-x86 (stderr) ! memcheck/tests/xml1 (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) ! none/tests/blockfault (stderr) ! none/tests/mremap (stderr) ! none/tests/mremap2 (stdout) ! helgrind/tests/hg01_all_ok (stderr) ! helgrind/tests/hg02_deadlock (stderr) ! helgrind/tests/hg03_inherit (stderr) ! helgrind/tests/hg04_race (stderr) ! helgrind/tests/hg05_race2 (stderr) ! helgrind/tests/hg06_readshared (stderr) ! helgrind/tests/tc01_simple_race (stderr) ! helgrind/tests/tc02_simple_tls (stderr) ! helgrind/tests/tc03_re_excl (stderr) ! helgrind/tests/tc05_simple_race (stderr) ! helgrind/tests/tc06_two_races (stderr) ! helgrind/tests/tc07_hbl1 (stderr) ! helgrind/tests/tc08_hbl2 (stderr) ! helgrind/tests/tc09_bad_unlock (stderr) ! helgrind/tests/tc11_XCHG (stderr) ! helgrind/tests/tc12_rwl_trivial (stderr) ! helgrind/tests/tc14_laog_dinphils (stderr) ! helgrind/tests/tc16_byterace (stderr) ! helgrind/tests/tc17_sembar (stderr) ! helgrind/tests/tc18_semabuse (stderr) ! helgrind/tests/tc19_shadowmem (stderr) ! helgrind/tests/tc20_verifywrap (stderr) ! helgrind/tests/tc21_pthonce (stderr) ! helgrind/tests/tc22_exit_w_lock (stderr) ! helgrind/tests/tc23_bogus_condwait (stderr) ! helgrind/tests/tc24_nonzero_sem (stderr) ! exp-drd/tests/fp_race (stderr) ! exp-drd/tests/fp_race2 (stderr) ! exp-drd/tests/hg01_all_ok (stderr) ! exp-drd/tests/hg02_deadlock (stderr) ! exp-drd/tests/hg03_inherit (stderr) ! exp-drd/tests/hg04_race (stderr) ! exp-drd/tests/hg05_race2 (stderr) ! exp-drd/tests/hg06_readshared (stderr) ! exp-drd/tests/matinv (stdout) ! exp-drd/tests/matinv (stderr) ! exp-drd/tests/pth_barrier (stderr) ! exp-drd/tests/pth_barrier2 (stderr) ! exp-drd/tests/pth_barrier3 (stderr) ! exp-drd/tests/pth_broadcast (stderr) ! exp-drd/tests/pth_cond_race (stderr) ! exp-drd/tests/pth_cond_race2 (stderr) ! exp-drd/tests/pth_create_chain (stderr) ! exp-drd/tests/pth_detached (stdout) ! exp-drd/tests/pth_detached (stderr) ! exp-drd/tests/pth_detached2 (stdout) ! exp-drd/tests/pth_detached2 (stderr) ! exp-drd/tests/sem_as_mutex (stderr) ! exp-drd/tests/sem_as_mutex2 (stderr) ! exp-drd/tests/sigalrm (stderr) ! exp-drd/tests/tc01_simple_race (stderr) ! exp-drd/tests/tc02_simple_tls (stderr) ! exp-drd/tests/tc03_re_excl (stderr) ! exp-drd/tests/tc05_simple_race (stderr) ! exp-drd/tests/tc06_two_races (stderr) ! exp-drd/tests/tc09_bad_unlock (stderr) ! exp-drd/tests/tc11_XCHG (stdout) ! exp-drd/tests/tc11_XCHG (stderr) ! exp-drd/tests/tc12_rwl_trivial (stderr) ! exp-drd/tests/tc16_byterace (stderr) ! exp-drd/tests/tc17_sembar (stderr) ! exp-drd/tests/tc18_semabuse (stderr) ! exp-drd/tests/tc20_verifywrap (stderr) ! exp-drd/tests/tc20_verifywrap2 (stderr) ! exp-drd/tests/tc21_pthonce (stdout) ! exp-drd/tests/tc21_pthonce (stderr) ! exp-drd/tests/tc22_exit_w_lock (stderr) ! exp-drd/tests/tc23_bogus_condwait (stderr) ! --- 6,27 ---- ! Last 20 lines of verbose log follow echo ! trylock.c:17: warning: implicit declaration of function `pthread_rwlock_wrlock' ! trylock.c:18: warning: implicit declaration of function `pthread_rwlock_unlock' ! trylock.c:20: warning: implicit declaration of function `pthread_rwlock_trywrlock' ! trylock.c:23: warning: implicit declaration of function `pthread_rwlock_timedwrlock' ! trylock.c:26: warning: implicit declaration of function `pthread_rwlock_rdlock' ! trylock.c:33: warning: implicit declaration of function `pthread_rwlock_tryrdlock' ! trylock.c:36: warning: implicit declaration of function `pthread_rwlock_timedrdlock' ! trylock.c:38: warning: implicit declaration of function `pthread_rwlock_destroy' ! trylock.c:48: warning: implicit declaration of function `pthread_mutex_timedlock' ! make[5]: *** [trylock.o] Error 1 ! make[5]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd/tests' ! make[4]: *** [check-am] Error 2 ! make[4]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd/tests' ! make[3]: *** [check-recursive] Error 1 ! make[3]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd/tests' ! make[2]: *** [check-recursive] Error 1 ! make[2]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind/exp-drd' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/tmp/vgtest/2008-03-03/valgrind' ! make: *** [check] Error 2 |
|
From: Tom H. <th...@cy...> - 2008-03-03 04:28:55
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-03-03 03:05: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 == 408 tests, 78 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (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/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/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) exp-drd/tests/fp_race (stderr) exp-drd/tests/fp_race2 (stderr) exp-drd/tests/hg01_all_ok (stderr) exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/hg04_race (stderr) exp-drd/tests/hg05_race2 (stderr) exp-drd/tests/hg06_readshared (stderr) exp-drd/tests/matinv (stderr) exp-drd/tests/pth_broadcast (stderr) exp-drd/tests/pth_cond_race (stderr) exp-drd/tests/pth_cond_race2 (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/recursive_mutex (stderr) exp-drd/tests/sem_as_mutex (stderr) exp-drd/tests/sem_as_mutex2 (stderr) exp-drd/tests/sigalrm (stderr) exp-drd/tests/tc01_simple_race (stderr) exp-drd/tests/tc02_simple_tls (stderr) exp-drd/tests/tc03_re_excl (stderr) exp-drd/tests/tc04_free_lock (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc10_rec_lock (stderr) exp-drd/tests/tc11_XCHG (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) exp-drd/tests/tc13_laog1 (stderr) exp-drd/tests/tc15_laog_lockdel (stderr) exp-drd/tests/tc16_byterace (stderr) exp-drd/tests/tc17_sembar (stderr) exp-drd/tests/tc18_semabuse (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc23_bogus_condwait (stderr) exp-drd/tests/trylock (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 == 401 tests, 8 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/hg03_inherit (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Mar 3 03:36:57 2008 --- new.short Mon Mar 3 04:28:54 2008 *************** *** 8,20 **** ! == 401 tests, 8 stderr failures, 2 stdout failures, 0 post failures == ! memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) ! memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/hg03_inherit (stderr) --- 8,90 ---- ! == 408 tests, 78 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (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/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) ! none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) + helgrind/tests/hg01_all_ok (stderr) + helgrind/tests/hg02_deadlock (stderr) + helgrind/tests/hg03_inherit (stderr) + helgrind/tests/hg04_race (stderr) + helgrind/tests/hg05_race2 (stderr) + helgrind/tests/hg06_readshared (stderr) + helgrind/tests/tc01_simple_race (stderr) + helgrind/tests/tc02_simple_tls (stderr) + helgrind/tests/tc03_re_excl (stderr) + helgrind/tests/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) + exp-drd/tests/fp_race (stderr) + exp-drd/tests/fp_race2 (stderr) + exp-drd/tests/hg01_all_ok (stderr) + exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) + exp-drd/tests/hg04_race (stderr) + exp-drd/tests/hg05_race2 (stderr) + exp-drd/tests/hg06_readshared (stderr) + exp-drd/tests/matinv (stderr) + exp-drd/tests/pth_broadcast (stderr) + exp-drd/tests/pth_cond_race (stderr) + exp-drd/tests/pth_cond_race2 (stderr) + exp-drd/tests/pth_create_chain (stderr) + exp-drd/tests/pth_detached (stderr) + exp-drd/tests/pth_detached2 (stderr) + exp-drd/tests/recursive_mutex (stderr) + exp-drd/tests/sem_as_mutex (stderr) + exp-drd/tests/sem_as_mutex2 (stderr) + exp-drd/tests/sigalrm (stderr) + exp-drd/tests/tc01_simple_race (stderr) + exp-drd/tests/tc02_simple_tls (stderr) + exp-drd/tests/tc03_re_excl (stderr) + exp-drd/tests/tc04_free_lock (stderr) + exp-drd/tests/tc09_bad_unlock (stderr) + exp-drd/tests/tc10_rec_lock (stderr) + exp-drd/tests/tc11_XCHG (stderr) + exp-drd/tests/tc12_rwl_trivial (stderr) + exp-drd/tests/tc13_laog1 (stderr) + exp-drd/tests/tc15_laog_lockdel (stderr) + exp-drd/tests/tc16_byterace (stderr) + exp-drd/tests/tc17_sembar (stderr) + exp-drd/tests/tc18_semabuse (stderr) + exp-drd/tests/tc20_verifywrap (stderr) + exp-drd/tests/tc20_verifywrap2 (stderr) + exp-drd/tests/tc21_pthonce (stderr) + exp-drd/tests/tc22_exit_w_lock (stderr) + exp-drd/tests/tc23_bogus_condwait (stderr) + exp-drd/tests/trylock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-03 03:59:01
|
Nightly build on aston ( x86_64, Fedora Core 5 ) started at 2008-03-03 03:20:06 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 == 414 tests, 81 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (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/scalar (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/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) exp-drd/tests/fp_race (stderr) exp-drd/tests/fp_race2 (stderr) exp-drd/tests/hg01_all_ok (stderr) exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/hg04_race (stderr) exp-drd/tests/hg05_race2 (stderr) exp-drd/tests/hg06_readshared (stderr) exp-drd/tests/matinv (stderr) exp-drd/tests/pth_broadcast (stderr) exp-drd/tests/pth_cond_race (stderr) exp-drd/tests/pth_cond_race2 (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/recursive_mutex (stderr) exp-drd/tests/sem_as_mutex (stderr) exp-drd/tests/sem_as_mutex2 (stderr) exp-drd/tests/sigalrm (stderr) exp-drd/tests/tc01_simple_race (stderr) exp-drd/tests/tc02_simple_tls (stderr) exp-drd/tests/tc03_re_excl (stderr) exp-drd/tests/tc04_free_lock (stderr) exp-drd/tests/tc06_two_races (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc10_rec_lock (stderr) exp-drd/tests/tc11_XCHG (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) exp-drd/tests/tc13_laog1 (stderr) exp-drd/tests/tc15_laog_lockdel (stderr) exp-drd/tests/tc16_byterace (stderr) exp-drd/tests/tc17_sembar (stderr) exp-drd/tests/tc18_semabuse (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc23_bogus_condwait (stderr) exp-drd/tests/trylock (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 == 407 tests, 9 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/blockfault (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/hg03_inherit (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Mar 3 03:34:59 2008 --- new.short Mon Mar 3 03:59:03 2008 *************** *** 8,20 **** ! == 407 tests, 9 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) - memcheck/tests/xml1 (stderr) none/tests/blockfault (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/hg03_inherit (stderr) --- 8,92 ---- ! == 414 tests, 81 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (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/scalar (stderr) none/tests/blockfault (stderr) + none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) + helgrind/tests/hg01_all_ok (stderr) + helgrind/tests/hg02_deadlock (stderr) + helgrind/tests/hg03_inherit (stderr) + helgrind/tests/hg04_race (stderr) + helgrind/tests/hg05_race2 (stderr) + helgrind/tests/hg06_readshared (stderr) + helgrind/tests/tc01_simple_race (stderr) + helgrind/tests/tc02_simple_tls (stderr) + helgrind/tests/tc03_re_excl (stderr) + helgrind/tests/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) + exp-drd/tests/fp_race (stderr) + exp-drd/tests/fp_race2 (stderr) + exp-drd/tests/hg01_all_ok (stderr) + exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) + exp-drd/tests/hg04_race (stderr) + exp-drd/tests/hg05_race2 (stderr) + exp-drd/tests/hg06_readshared (stderr) + exp-drd/tests/matinv (stderr) + exp-drd/tests/pth_broadcast (stderr) + exp-drd/tests/pth_cond_race (stderr) + exp-drd/tests/pth_cond_race2 (stderr) + exp-drd/tests/pth_create_chain (stderr) + exp-drd/tests/pth_detached (stderr) + exp-drd/tests/pth_detached2 (stderr) + exp-drd/tests/recursive_mutex (stderr) + exp-drd/tests/sem_as_mutex (stderr) + exp-drd/tests/sem_as_mutex2 (stderr) + exp-drd/tests/sigalrm (stderr) + exp-drd/tests/tc01_simple_race (stderr) + exp-drd/tests/tc02_simple_tls (stderr) + exp-drd/tests/tc03_re_excl (stderr) + exp-drd/tests/tc04_free_lock (stderr) + exp-drd/tests/tc06_two_races (stderr) + exp-drd/tests/tc09_bad_unlock (stderr) + exp-drd/tests/tc10_rec_lock (stderr) + exp-drd/tests/tc11_XCHG (stderr) + exp-drd/tests/tc12_rwl_trivial (stderr) + exp-drd/tests/tc13_laog1 (stderr) + exp-drd/tests/tc15_laog_lockdel (stderr) + exp-drd/tests/tc16_byterace (stderr) + exp-drd/tests/tc17_sembar (stderr) + exp-drd/tests/tc18_semabuse (stderr) + exp-drd/tests/tc20_verifywrap (stderr) + exp-drd/tests/tc20_verifywrap2 (stderr) + exp-drd/tests/tc21_pthonce (stderr) + exp-drd/tests/tc22_exit_w_lock (stderr) + exp-drd/tests/tc23_bogus_condwait (stderr) + exp-drd/tests/trylock (stderr) |
|
From: Nicholas N. <nj...@cs...> - 2008-03-03 03:49:14
|
On Mon, 3 Mar 2008, Julian Seward wrote: > On Monday 03 March 2008 04:17, Nicholas Nethercote wrote: >> On Mon, 3 Mar 2008, Julian Seward wrote: >>> Location 0x7feffba09 is 1 byte inside a[3].xyzzy[21].c2[2], >>> declared at varinfo4.c:45, in frame #1 of thread 1 >> >> What's the frame number? > > It tries to locate an address in all call frames of all thread > stacks. So "frame #1" is really a cryptic way to say "1 frame > down from the top of stack of thread 1". I found it hard to > think of an equally concise but less cryptic way to phrase it. So it's the top stack frame on thread 1's stack? Or the 2nd frame? Can you summarise the different messages that are possible now -- eg. stack variables, static (global) variables, static (local) variables, heap variables, etc? That might help determine if the messages could be made clearer. Nick |