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: <sv...@va...> - 2008-03-30 18:41:03
|
Author: bart
Date: 2008-03-30 19:41:07 +0100 (Sun, 30 Mar 2008)
New Revision: 7825
Log:
Split bm_has_any() into bm_has_any_load() and bm_has_any_store().
Modified:
trunk/exp-drd/drd_bitmap.c
trunk/exp-drd/drd_suppression.c
trunk/exp-drd/pub_drd_bitmap.h
Modified: trunk/exp-drd/drd_bitmap.c
===================================================================
--- trunk/exp-drd/drd_bitmap.c 2008-03-30 17:56:43 UTC (rev 7824)
+++ trunk/exp-drd/drd_bitmap.c 2008-03-30 18:41:07 UTC (rev 7825)
@@ -280,24 +280,112 @@
return True;
}
-Bool bm_has_any(const struct bitmap* const bm,
- const Addr a1, const Addr a2,
- const BmAccessTypeT access_type)
+Bool bm_has_any_load(const struct bitmap* const bm,
+ const Addr a1, const Addr a2)
{
- Addr b;
+ Addr b, b_next;
tl_assert(bm);
- for (b = a1; b < a2; b++)
+ for (b = a1; b < a2; b = b_next)
{
- if (bm_has_1(bm, b, access_type))
+ const struct bitmap2* bm2 = bm2_lookup(bm, b >> ADDR0_BITS);
+
+ b_next = (b & ~ADDR0_MASK) + ADDR0_COUNT;
+ if (b_next > a2)
{
- return True;
+ b_next = a2;
}
+
+ if (bm2)
+ {
+ Addr b_start;
+ Addr b_end;
+ UWord b0;
+ const struct bitmap1* const p1 = &bm2->bm1;
+
+ if ((bm2->addr << ADDR0_BITS) < a1)
+ b_start = a1;
+ else
+ if ((bm2->addr << ADDR0_BITS) < a2)
+ b_start = (bm2->addr << ADDR0_BITS);
+ else
+ break;
+ tl_assert(a1 <= b_start && b_start <= a2);
+
+ if ((bm2->addr << ADDR0_BITS) + ADDR0_COUNT < a2)
+ b_end = (bm2->addr << ADDR0_BITS) + ADDR0_COUNT;
+ else
+ b_end = a2;
+ tl_assert(a1 <= b_end && b_end <= a2);
+ tl_assert(b_start < b_end);
+ tl_assert((b_start & ADDR0_MASK) <= ((b_end - 1) & ADDR0_MASK));
+
+ for (b0 = b_start & ADDR0_MASK; b0 <= ((b_end-1) & ADDR0_MASK); b0++)
+ {
+ if (bm0_is_set(p1->bm0_r, b0))
+ {
+ return True;
+ }
+ }
+ }
}
- return False;
+ return 0;
}
+Bool bm_has_any_store(const struct bitmap* const bm,
+ const Addr a1, const Addr a2)
+{
+ Addr b, b_next;
+
+ tl_assert(bm);
+
+ for (b = a1; b < a2; b = b_next)
+ {
+ const struct bitmap2* bm2 = bm2_lookup(bm, b >> ADDR0_BITS);
+
+ b_next = (b & ~ADDR0_MASK) + ADDR0_COUNT;
+ if (b_next > a2)
+ {
+ b_next = a2;
+ }
+
+ if (bm2)
+ {
+ Addr b_start;
+ Addr b_end;
+ UWord b0;
+ const struct bitmap1* const p1 = &bm2->bm1;
+
+ if ((bm2->addr << ADDR0_BITS) < a1)
+ b_start = a1;
+ else
+ if ((bm2->addr << ADDR0_BITS) < a2)
+ b_start = (bm2->addr << ADDR0_BITS);
+ else
+ break;
+ tl_assert(a1 <= b_start && b_start <= a2);
+
+ if ((bm2->addr << ADDR0_BITS) + ADDR0_COUNT < a2)
+ b_end = (bm2->addr << ADDR0_BITS) + ADDR0_COUNT;
+ else
+ b_end = a2;
+ tl_assert(a1 <= b_end && b_end <= a2);
+ tl_assert(b_start < b_end);
+ tl_assert((b_start & ADDR0_MASK) <= ((b_end - 1) & ADDR0_MASK));
+
+ for (b0 = b_start & ADDR0_MASK; b0 <= ((b_end-1) & ADDR0_MASK); b0++)
+ {
+ if (bm0_is_set(p1->bm0_w, b0))
+ {
+ return True;
+ }
+ }
+ }
+ }
+ return 0;
+}
+
/* Return a non-zero value if there is a read access, write access or both */
/* to any of the addresses in the range [ a1, a2 [ in bitmap bm. */
UWord bm_has_any_access(const struct bitmap* const bm,
Modified: trunk/exp-drd/drd_suppression.c
===================================================================
--- trunk/exp-drd/drd_suppression.c 2008-03-30 17:56:43 UTC (rev 7824)
+++ trunk/exp-drd/drd_suppression.c 2008-03-30 18:41:07 UTC (rev 7825)
@@ -102,7 +102,7 @@
*/
Bool drd_is_any_suppressed(const Addr a1, const Addr a2)
{
- return bm_has_any(s_suppressed, a1, a2, eStore);
+ return bm_has_any_store(s_suppressed, a1, a2);
}
void drd_start_tracing_address_range(const Addr a1, const Addr a2)
@@ -123,13 +123,13 @@
bm_clear_load(s_suppressed, a1, a2);
if (g_any_address_traced)
{
- g_any_address_traced = bm_has_any(s_suppressed, 0, ~(Addr)0, eLoad);
+ g_any_address_traced = bm_has_any_load(s_suppressed, 0, ~(Addr)0);
}
}
Bool drd_is_any_traced(const Addr a1, const Addr a2)
{
- return bm_has_any(s_suppressed, a1, a2, eLoad);
+ return bm_has_any_load(s_suppressed, a1, a2);
}
void drd_suppression_stop_using_mem(const Addr a1, const Addr a2)
Modified: trunk/exp-drd/pub_drd_bitmap.h
===================================================================
--- trunk/exp-drd/pub_drd_bitmap.h 2008-03-30 17:56:43 UTC (rev 7824)
+++ trunk/exp-drd/pub_drd_bitmap.h 2008-03-30 18:41:07 UTC (rev 7825)
@@ -71,9 +71,10 @@
Bool bm_has(const struct bitmap* const bm,
const Addr a1, const Addr a2,
const BmAccessTypeT access_type);
-Bool bm_has_any(const struct bitmap* const bm,
- const Addr a1, const Addr a2,
- const BmAccessTypeT access_type);
+Bool bm_has_any_load(const struct bitmap* const bm,
+ const Addr a1, const Addr a2);
+Bool bm_has_any_store(const struct bitmap* const bm,
+ const Addr a1, const Addr a2);
UWord bm_has_any_access(const struct bitmap* const bm,
const Addr a1, const Addr a2);
UWord bm_has_1(const struct bitmap* const bm,
|
|
From: <sv...@va...> - 2008-03-30 18:06:05
|
Author: bart
Date: 2008-03-30 18:56:43 +0100 (Sun, 30 Mar 2008)
New Revision: 7824
Log:
Introduced bm_test_and_clear().
Modified:
trunk/exp-drd/drd_bitmap.c
trunk/exp-drd/drd_thread.c
trunk/exp-drd/pub_drd_bitmap.h
Modified: trunk/exp-drd/drd_bitmap.c
===================================================================
--- trunk/exp-drd/drd_bitmap.c 2008-03-30 16:55:40 UTC (rev 7823)
+++ trunk/exp-drd/drd_bitmap.c 2008-03-30 17:56:43 UTC (rev 7824)
@@ -477,6 +477,20 @@
}
}
+/** Clear bitmap bm starting at address a1 and up to but not including address
+ * a2. Return True if and only if any of the addresses was set before
+ * clearing.
+ */
+Bool bm_test_and_clear(const struct bitmap* const bm,
+ const Addr a1, const Addr a2)
+{
+ Bool result;
+
+ result = bm_has_any_access(bm, a1, a2) != 0;
+ bm_clear(bm, a1, a2);
+ return result;
+}
+
Bool bm_has_conflict_with(const struct bitmap* const bm,
const Addr a1, const Addr a2,
const BmAccessTypeT access_type)
Modified: trunk/exp-drd/drd_thread.c
===================================================================
--- trunk/exp-drd/drd_thread.c 2008-03-30 16:55:40 UTC (rev 7823)
+++ trunk/exp-drd/drd_thread.c 2008-03-30 17:56:43 UTC (rev 7824)
@@ -670,10 +670,13 @@
for (p = s_threadinfo[i].first; p; p = p->next)
{
if (other_user == DRD_INVALID_THREADID
- && i != s_drd_running_tid
- && bm_has_any_access(p->bm, a1, a2))
+ && i != s_drd_running_tid)
{
- other_user = i;
+ if (UNLIKELY(bm_test_and_clear(p->bm, a1, a2)))
+ {
+ other_user = i;
+ }
+ continue;
}
bm_clear(p->bm, a1, a2);
}
Modified: trunk/exp-drd/pub_drd_bitmap.h
===================================================================
--- trunk/exp-drd/pub_drd_bitmap.h 2008-03-30 16:55:40 UTC (rev 7823)
+++ trunk/exp-drd/pub_drd_bitmap.h 2008-03-30 17:56:43 UTC (rev 7824)
@@ -84,6 +84,8 @@
const Addr a1, const Addr a2);
void bm_clear_store(const struct bitmap* const bm,
const Addr a1, const Addr a2);
+Bool bm_test_and_clear(const struct bitmap* const bm,
+ const Addr a1, const Addr a2);
Bool bm_has_conflict_with(const struct bitmap* const bm,
const Addr a1, const Addr a2,
const BmAccessTypeT access_type);
|
|
From: Sergei T. <sl...@in...> - 2008-03-30 18:05:58
|
Resending to val...@li... On Tue, 25 Mar 2008 12:00:28 +0100 Julian Seward <js...@ac...> wrote: > > > I've tried to insert VALGRIND_DO_LEAK_CHECK into program's main > > loop, but eventually got false positive `definetly lost' blocks in > > this place (there's no memleaks when program normally stops in > > valgrind's report). > > > > The question is: > > Does VALGRIND_DO_LEAK_CHECK work in ANY cases and I > > should model this situation and report a bug, or there is yet some > > cases memcheck can't handle? > > False positives are possible, but unlikely. The probability of a > false positive increases as the address space gets more and more > used, which is probably why you saw them. > > Anyway. It sounds like you maybe need to use Valgrind's Massif > tool to find the cause of the allocations (--tool=massif). Make > sure to use Massif in Valgrind version 3.3.0. Some documentation > is here: > > http://www.valgrind.org/docs/manual/ms-manual.html > > J > Thanks! I think massif wouldn't help me much. Traced program takes much time (2-3 weeks under memcheck) to run and crashes (VM runout). So, I'd like to see any detectable leaks ASAP. I still cannot reproduce `definetly lost' fp, but have annoying `possibly lost' messages: // source: $ cat main.cc #include <string> #include <valgrind/memcheck.h> int main () { std::string s("hello"); VALGRIND_DO_LEAK_CHECK; return 0; } // built by: g++ -g -O0 -c -o main.o main.cc // result (current svn): $ valgrind ./vg_ml_test ... ==11287== ==11287== searching for pointers to 1 not-freed blocks. ==11287== checked 106,228 bytes. ==11287== ==11287== 18 bytes in 1 blocks are possibly lost in loss record 1 of 1 ==11287== at 0x4021FF4: operator new(unsigned) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==11287== by 0x40C69EF: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/gcc/i686-pc-linux-gnu/4.2.3/libstdc++.so.6.0.9) ==11287== by 0x40C7CF4: (within /usr/lib/gcc/i686-pc-linux-gnu/4.2.3/libstdc++.so.6.0.9) ==11287== by 0x40C7EA6: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/gcc/i686-pc-linux-gnu/4.2.3/libstdc++.so.6.0.9) ==11287== by 0x804859A: main (main.cc:9) ==11287== ==11287== LEAK SUMMARY: ==11287== definitely lost: 0 bytes in 0 blocks. ==11287== possibly lost: 18 bytes in 1 blocks. ==11287== still reachable: 0 bytes in 0 blocks. ==11287== suppressed: 0 bytes in 0 blocks. ==11287== ==11287== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 7 from 1) ==11287== malloc/free: in use at exit: 0 bytes in 0 blocks. ==11287== malloc/free: 1 allocs, 1 frees, 18 bytes allocated. ==11287== For counts of detected errors, rerun with: -v ==11287== All heap blocks were freed -- no leaks are possible. Is it possible to write simple suppression for this case, just fix it, or it's not an error and I should write valgrind-wrapped custom allocator? Thanks! |
|
From: <sv...@va...> - 2008-03-30 16:55:35
|
Author: bart Date: 2008-03-30 17:55:40 +0100 (Sun, 30 Mar 2008) New Revision: 7823 Log: Improved scalability in case of many synchronization objects. Modified: trunk/exp-drd/drd_clientobj.c Modified: trunk/exp-drd/drd_clientobj.c =================================================================== --- trunk/exp-drd/drd_clientobj.c 2008-03-30 16:55:10 UTC (rev 7822) +++ trunk/exp-drd/drd_clientobj.c 2008-03-30 16:55:40 UTC (rev 7823) @@ -123,6 +123,7 @@ p->any.type = t; VG_(OSetGen_Insert)(s_clientobj, p); tl_assert(VG_(OSetGen_Lookup)(s_clientobj, &a1) == p); + drd_start_suppression(a1, a1 + 1, "clientobj"); return p; } @@ -160,6 +161,10 @@ DrdClientobj* p; tl_assert(s_clientobj); + + if (! drd_is_any_suppressed(a1, a2)) + return; + VG_(OSetGen_ResetIter)(s_clientobj); p = VG_(OSetGen_Next)(s_clientobj); for ( ; p != 0; ) |
|
From: <sv...@va...> - 2008-03-30 16:55:09
|
Author: bart
Date: 2008-03-30 17:55:10 +0100 (Sun, 30 Mar 2008)
New Revision: 7822
Log:
Added more libdl.so suppression patterns.
Modified:
trunk/glibc-2.X-drd.supp
Modified: trunk/glibc-2.X-drd.supp
===================================================================
--- trunk/glibc-2.X-drd.supp 2008-03-30 13:28:33 UTC (rev 7821)
+++ trunk/glibc-2.X-drd.supp 2008-03-30 16:55:10 UTC (rev 7822)
@@ -38,13 +38,27 @@
obj:/lib*/ld-*.so
}
{
- dl-dlsym
+ dl-dlsym-1
exp-drd:ConflictingAccess
obj:/lib*/ld-*.so
obj:/lib*/libc-*.so
obj:/lib*/libdl-*.so
}
{
+ dl-dlsym-2
+ exp-drd:ConflictingAccess
+ obj:/lib*/libc-*.so
+ obj:/lib*/libdl-*.so
+ obj:/lib*/ld-*.so
+}
+{
+ dl-dlsym-3
+ exp-drd:ConflictingAccess
+ obj:/lib*/ld-*.so
+ obj:/lib*/ld-*.so
+ obj:/lib*/libc-*.so
+}
+{
libc
exp-drd:ConflictingAccess
fun:__libc_enable_asynccancel
|
|
From: Nuno L. <nun...@sa...> - 2008-03-30 14:30:55
|
Hi, I've run 'make perf' and I give the results in the attached file (to avoid weird email line wrapping). The tests were run in a Pentium-M 2.0 Ghz + 1 GB RAM laptop with linux. 'valgrind-orig' is vanilla valgrind trunk and 'valgrind' is valgrind trunk + the 3 patches I sent to the ML. In summary, only bz2 and ffbench see improvements in the running time of memcheck. Attached you can also find the code expansion ratios for memcheck. In general all tests see a reduction in the number of instructions and the biggest reduction is with the bz2 test. So while the peephole is not ready yet, I think the other patches (bugfixes) should still be considered for inclusion. Regards, Nuno |
|
From: <sv...@va...> - 2008-03-30 13:28:29
|
Author: bart
Date: 2008-03-30 14:28:33 +0100 (Sun, 30 Mar 2008)
New Revision: 7821
Log:
Modified mutex and condtion variable tracing output slightly.
Modified:
trunk/exp-drd/drd_clientreq.c
trunk/exp-drd/drd_cond.c
trunk/exp-drd/drd_main.c
trunk/exp-drd/drd_mutex.c
trunk/exp-drd/drd_mutex.h
trunk/exp-drd/drd_semaphore.c
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
Modified: trunk/exp-drd/drd_clientreq.c
===================================================================
--- trunk/exp-drd/drd_clientreq.c 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/drd_clientreq.c 2008-03-30 13:28:33 UTC (rev 7821)
@@ -66,7 +66,7 @@
const Bool took_lock)
{
cond_post_wait(cond);
- mutex_post_lock(mutex, took_lock);
+ mutex_post_lock(mutex, took_lock, True);
}
static void drd_pre_cond_signal(const Addr cond)
Modified: trunk/exp-drd/drd_cond.c
===================================================================
--- trunk/exp-drd/drd_cond.c 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/drd_cond.c 2008-03-30 13:28:33 UTC (rev 7821)
@@ -116,7 +116,7 @@
if (s_trace_cond)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] cond_init 0x%lx",
+ "[%d/%d] cond_init cond 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
cond);
@@ -145,7 +145,7 @@
if (s_trace_cond)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] cond_destroy 0x%lx",
+ "[%d/%d] cond_destroy cond 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
cond);
@@ -185,7 +185,7 @@
if (s_trace_cond)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] cond_pre_wait 0x%lx",
+ "[%d/%d] cond_pre_wait cond 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
cond);
@@ -216,7 +216,7 @@
if (s_trace_cond)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] cond_post_wait 0x%lx",
+ "[%d/%d] cond_post_wait cond 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
cond);
@@ -272,7 +272,7 @@
if (s_trace_cond)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] cond_signal 0x%lx",
+ "[%d/%d] cond_signal cond 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
cond);
@@ -287,7 +287,7 @@
if (s_trace_cond)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] cond_broadcast 0x%lx",
+ "[%d/%d] cond_broadcast cond 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
cond);
Modified: trunk/exp-drd/drd_main.c
===================================================================
--- trunk/exp-drd/drd_main.c 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/drd_main.c 2008-03-30 13:28:33 UTC (rev 7821)
@@ -651,7 +651,7 @@
void drd_post_mutex_lock(const Addr mutex, const Bool took_lock)
{
- mutex_post_lock(mutex, took_lock);
+ mutex_post_lock(mutex, took_lock, False);
}
void drd_pre_mutex_unlock(const Addr mutex, const MutexT mutex_type)
Modified: trunk/exp-drd/drd_mutex.c
===================================================================
--- trunk/exp-drd/drd_mutex.c 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/drd_mutex.c 2008-03-30 13:28:33 UTC (rev 7821)
@@ -249,7 +249,8 @@
* Note: this function must be called after pthread_mutex_lock() has been
* called, or a race condition is triggered !
*/
-void mutex_post_lock(const Addr mutex, const Bool took_lock)
+void mutex_post_lock(const Addr mutex, const Bool took_lock,
+ const Bool post_cond_wait)
{
const DrdThreadId drd_tid = thread_get_running_tid();
struct mutex_info* p;
@@ -259,9 +260,10 @@
if (s_trace_mutex)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] post_mutex_lock %s 0x%lx rc %d owner %d%s",
+ "[%d/%d] %s %s 0x%lx rc %d owner %d%s",
VG_(get_running_tid)(),
drd_tid,
+ post_cond_wait ? "cond_post_wait " : "post_mutex_lock",
p ? mutex_get_typename(p) : "(?)",
mutex,
p ? p->recursion_count : 0,
Modified: trunk/exp-drd/drd_mutex.h
===================================================================
--- trunk/exp-drd/drd_mutex.h 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/drd_mutex.h 2008-03-30 13:28:33 UTC (rev 7821)
@@ -46,7 +46,8 @@
struct mutex_info* mutex_get(const Addr mutex);
void mutex_pre_lock(const Addr mutex, const MutexT mutex_type,
const Bool trylock);
-void mutex_post_lock(const Addr mutex, const Bool took_lock);
+void mutex_post_lock(const Addr mutex, const Bool took_lock,
+ const Bool post_cond_wait);
void mutex_unlock(const Addr mutex, const MutexT mutex_type);
const char* mutex_get_typename(struct mutex_info* const p);
const char* mutex_type_name(const MutexT mt);
Modified: trunk/exp-drd/drd_semaphore.c
===================================================================
--- trunk/exp-drd/drd_semaphore.c 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/drd_semaphore.c 2008-03-30 13:28:33 UTC (rev 7821)
@@ -117,7 +117,7 @@
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_init 0x%lx",
+ "[%d/%d] semaphore_init 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore);
@@ -139,7 +139,7 @@
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_destroy 0x%lx",
+ "[%d/%d] semaphore_destroy 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore);
@@ -170,7 +170,7 @@
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_pre_wait 0x%lx",
+ "[%d/%d] semaphore_pre_wait 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore);
@@ -232,7 +232,7 @@
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_post 0x%lx",
+ "[%d/%d] semaphore_post 0x%lx",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore);
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp 2008-03-30 13:28:33 UTC (rev 7821)
@@ -56,27 +56,27 @@
---------------- pthread_cond_wait et al ----------------
[1/1] mutex_init error checking mutex 0x........
-[1/1] cond_init 0x........
+[1/1] cond_init cond 0x........
[1/1] mutex_unlock error checking mutex 0x........ rc 0
Mutex not locked: mutex 0x........, recursion count 0, owner 0.
at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:147)
-[1/1] cond_pre_wait 0x........
-[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
-[1/1] cond_signal 0x........
+[1/1] cond_pre_wait cond 0x........
+[1/1] cond_post_wait cond 0x........
+[1/1] cond_post_wait error checking mutex 0x........ rc 0 owner 0
+[1/1] cond_signal cond 0x........
FIXME: can't figure out how to verify wrap of pthread_cond_signal
-[1/1] cond_broadcast 0x........
+[1/1] cond_broadcast cond 0x........
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
[1/1] mutex_unlock error checking mutex 0x........ rc 1
-[1/1] cond_pre_wait 0x........
-[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 1
+[1/1] cond_pre_wait cond 0x........
+[1/1] cond_post_wait cond 0x........
+[1/1] cond_post_wait error checking mutex 0x........ rc 0 owner 1
---------------- pthread_rwlock_* ----------------
@@ -107,22 +107,22 @@
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........
-[1/1] semaphore_init 0x........
+[1/1] semaphore_init 0x........
+[1/1] semaphore_init 0x........
FIXME: can't figure out how to verify wrap of sem_destroy
-[1/1] semaphore_pre_wait 0x........
+[1/1] semaphore_pre_wait 0x........
[1/1] semaphore_post_wait 0x........
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:242)
-[1/1] semaphore_post 0x........
+[1/1] semaphore_post 0x........
FIXME: can't figure out how to verify wrap of sem_post
-[1/1] semaphore_destroy 0x........
+[1/1] semaphore_destroy 0x........
------------ dealloc of mem holding locks ------------
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-03-30 13:28:33 UTC (rev 7821)
@@ -53,27 +53,27 @@
---------------- pthread_cond_wait et al ----------------
[1/1] mutex_init error checking mutex 0x........
-[1/1] cond_init 0x........
+[1/1] cond_init cond 0x........
[1/1] mutex_unlock error checking mutex 0x........ rc 0
Mutex not locked: mutex 0x........, recursion count 0, owner 0.
at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:147)
-[1/1] cond_pre_wait 0x........
-[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
-[1/1] cond_signal 0x........
+[1/1] cond_pre_wait cond 0x........
+[1/1] cond_post_wait cond 0x........
+[1/1] cond_post_wait error checking mutex 0x........ rc 0 owner 0
+[1/1] cond_signal cond 0x........
FIXME: can't figure out how to verify wrap of pthread_cond_signal
-[1/1] cond_broadcast 0x........
+[1/1] cond_broadcast cond 0x........
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
[1/1] mutex_unlock error checking mutex 0x........ rc 1
-[1/1] cond_pre_wait 0x........
-[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 1
+[1/1] cond_pre_wait cond 0x........
+[1/1] cond_post_wait cond 0x........
+[1/1] cond_post_wait error checking mutex 0x........ rc 0 owner 1
---------------- pthread_rwlock_* ----------------
@@ -104,22 +104,22 @@
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........
-[1/1] semaphore_init 0x........
+[1/1] semaphore_init 0x........
+[1/1] semaphore_init 0x........
FIXME: can't figure out how to verify wrap of sem_destroy
-[1/1] semaphore_pre_wait 0x........
+[1/1] semaphore_pre_wait 0x........
[1/1] semaphore_post_wait 0x........
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:242)
-[1/1] semaphore_post 0x........
+[1/1] semaphore_post 0x........
FIXME: can't figure out how to verify wrap of sem_post
-[1/1] semaphore_destroy 0x........
+[1/1] semaphore_destroy 0x........
------------ dealloc of mem holding locks ------------
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-03-30 10:03:04 UTC (rev 7820)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-03-30 13:28:33 UTC (rev 7821)
@@ -53,27 +53,27 @@
---------------- pthread_cond_wait et al ----------------
[1/1] mutex_init error checking mutex 0x........
-[1/1] cond_init 0x........
+[1/1] cond_init cond 0x........
[1/1] mutex_unlock error checking mutex 0x........ rc 0
Mutex not locked: mutex 0x........, recursion count 0, owner 0.
at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:147)
-[1/1] cond_pre_wait 0x........
-[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
-[1/1] cond_signal 0x........
+[1/1] cond_pre_wait cond 0x........
+[1/1] cond_post_wait cond 0x........
+[1/1] cond_post_wait error checking mutex 0x........ rc 0 owner 0
+[1/1] cond_signal cond 0x........
FIXME: can't figure out how to verify wrap of pthread_cond_signal
-[1/1] cond_broadcast 0x........
+[1/1] cond_broadcast cond 0x........
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
[1/1] mutex_unlock error checking mutex 0x........ rc 1
-[1/1] cond_pre_wait 0x........
-[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 1
+[1/1] cond_pre_wait cond 0x........
+[1/1] cond_post_wait cond 0x........
+[1/1] cond_post_wait error checking mutex 0x........ rc 0 owner 1
---------------- pthread_rwlock_* ----------------
@@ -104,22 +104,22 @@
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........
-[1/1] semaphore_init 0x........
+[1/1] semaphore_init 0x........
+[1/1] semaphore_init 0x........
FIXME: can't figure out how to verify wrap of sem_destroy
-[1/1] semaphore_pre_wait 0x........
+[1/1] semaphore_pre_wait 0x........
[1/1] semaphore_post_wait 0x........
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:242)
-[1/1] semaphore_post 0x........
+[1/1] semaphore_post 0x........
FIXME: can't figure out how to verify wrap of sem_post
-[1/1] semaphore_destroy 0x........
+[1/1] semaphore_destroy 0x........
------------ dealloc of mem holding locks ------------
|
|
From: Ashley P. <api...@co...> - 2008-03-30 13:07:06
|
On Sun, 2008-03-30 at 13:45 +0100, Tom Hughes wrote: > In message <000401c8925e$0ac4cd30$0202a8c0@soleil> > "Philippe Waroquiers" <phi...@sk...> wrote: > > > >> However, for this: > > >> * I suppose some papers have to be signed (?) > > >> * I suppose some patch files have to be then prepared > > >> * and someone with write access has to put it in the repository (in a > > >> branch I guess) > > > > > > All this is news to me. > > > > I once contributed some code to GNU emacs, and the procedure was more or > > less the above. > > That's because GDB is an FSF project so wants a copyright assignment. I suspect it depends on the size of the patch, I've submitted code to GDB before without assigning anything. > The procedure is basically to send in a patch and if we like it then it > will get committed. So either send the patch to the list or, possibly > better, open a bug and attach the patch to it. I've always sent code to this list, it's not uncommon for it to be missed first time around however. Ashley, |
|
From: Tom H. <to...@co...> - 2008-03-30 13:00:49
|
In message <000401c8925e$0ac4cd30$0202a8c0@soleil>
"Philippe Waroquiers" <phi...@sk...> wrote:
> >> However, for this:
> >> * I suppose some papers have to be signed (?)
> >> * I suppose some patch files have to be then prepared
> >> * and someone with write access has to put it in the repository (in a
> >> branch I guess)
> >
> > All this is news to me.
>
> I once contributed some code to GNU emacs, and the procedure was more or
> less the above.
That's because GDB is an FSF project so wants a copyright assignment.
> For valgrind, the procedure(s) to follow to contribute some code is not
> clear to me:
> There was a post asking some info about this
> (http://sourceforge.net/mailarchive/message.php?msg_name=20080315052921.23DA11C7491%40localhost)
> but I saw no feedback.
The procedure is basically to send in a patch and if we like it then it
will get committed. So either send the patch to the list or, possibly
better, open a bug and attach the patch to it.
> I know that copyright for VEX changes have to be assigned, but that is the
> only info I saw.
VEX needs an assignment, valgrind doesn't.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Philippe W. <phi...@sk...> - 2008-03-30 12:03:22
|
>> However, for this: >> * I suppose some papers have to be signed (?) >> * I suppose some patch files have to be then prepared >> * and someone with write access has to put it in the repository (in a >> branch I guess) > > All this is news to me. I once contributed some code to GNU emacs, and the procedure was more or less the above. For valgrind, the procedure(s) to follow to contribute some code is not clear to me: There was a post asking some info about this (http://sourceforge.net/mailarchive/message.php?msg_name=20080315052921.23DA11C7491%40localhost) but I saw no feedback. I know that copyright for VEX changes have to be assigned, but that is the only info I saw. In the doc, there is a "readme developpers" but it only speaks about how to develop and test, not about how to give code. If there exists a "how to contribute code to valgrind", it would help beginners/small contributors to provide some small changes and/or fix some small bugs (e.g. I am sure I would be able to fix a part of http://bugs.kde.org/show_bug.cgi?id=157154 myself but currently how to change "4" in "12" is mysterious to me :) Philippe |
|
From: Bart V. A. <bar...@gm...> - 2008-03-30 10:12:29
|
On Sat, Mar 29, 2008 at 8:54 PM, Julian Seward <js...@ac...> wrote:
>
> Even if it can be only a 90% solution, it is much better than what we
> have right now. FWIW, on Friday I spent some time with HGDEV chasing
> a race in the new OpenOffice 2.4, and .. it is very difficult to make
> sense of the results. Basically I gave up. ("yes, ok, I agree, there
> is a race here. but where did the access(es) from other threads happen?")
> Although it is true, OOo is not exactly a simple or small program :-)
If it is not immediately clear from a race report what the cause of a
data race is, it can help to insert a client request in the source
code that tells Helgrind or DRD to trace all accesses to the offending
memory location. The current approach -- one set of client requests
for Helgrind and another set of client requests for DRD -- is
inconvenient for Valgrind users. In my opinion it would be a great
service to Valgrind users if both Helgrind and DRD would use the same
client requests for e.g. tracing memory locations and suppressing race
reports, such that client code has to be instrumented only once and
such that Valgrind users can easily switch between the two tools.
And how about client requests for informing Valgrind tools about
custom memory allocator actions ? It should be sufficient if Valgrind
users instrument memory allocator code once with the
VG_USERREQ__*MEMPOOL* requests defined in <valgrind.h>. Should both
DRD and Helgrind implement support for these client requests, or is it
possible to move the mempool support code to the Valgrind core ?
Bart.
|
|
From: <sv...@va...> - 2008-03-30 10:03:02
|
Author: bart
Date: 2008-03-30 11:03:04 +0100 (Sun, 30 Mar 2008)
New Revision: 7820
Log:
Even more expected output updates.
Modified:
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-03-30 08:51:59 UTC (rev 7819)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-03-30 10:03:04 UTC (rev 7820)
@@ -37,13 +37,13 @@
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_trylock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:116)
-[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:121)
-[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
[1/1] mutex_unlock invalid mutex 0x........ rc 0
The object at address 0x........ is not a mutex.
@@ -70,14 +70,10 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-[1/1] mutex_unlock error checking mutex 0x........ rc 0
-
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_timedwait* (drd_pthread_intercepts.c:?)
- by 0x........: main (tc20_verifywrap.c:165)
+[1/1] mutex_unlock error checking mutex 0x........ rc 1
[1/1] cond_pre_wait 0x........
[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 1
---------------- pthread_rwlock_* ----------------
@@ -131,6 +127,9 @@
Destroying locked rwlock: rwlock 0x.........
at 0x........: main (tc20_verifywrap.c:262)
[1/1] mutex_destroy error checking mutex 0x........
+
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+ at 0x........: main (tc20_verifywrap.c:262)
[1/1] mutex_destroy invalid mutex 0x........
[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0
|
|
From: <sv...@va...> - 2008-03-30 08:51:55
|
Author: bart
Date: 2008-03-30 09:51:59 +0100 (Sun, 30 Mar 2008)
New Revision: 7819
Log:
More expected output updates.
Modified:
trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
Modified: trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3 2008-03-30 08:44:02 UTC (rev 7818)
+++ trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3 2008-03-30 08:51:59 UTC (rev 7819)
@@ -53,10 +53,6 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_timedwait* (drd_pthread_intercepts.c:?)
- by 0x........: main (tc20_verifywrap.c:165)
-
---------------- pthread_rwlock_* ----------------
@@ -103,4 +99,7 @@
Destroying locked rwlock: rwlock 0x.........
at 0x........: main (tc20_verifywrap.c:262)
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+ at 0x........: main (tc20_verifywrap.c:262)
+
ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0)
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-03-30 08:44:02 UTC (rev 7818)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-03-30 08:51:59 UTC (rev 7819)
@@ -37,13 +37,13 @@
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_trylock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:116)
-[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:121)
-[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
[1/1] mutex_unlock invalid mutex 0x........ rc 0
The object at address 0x........ is not a mutex.
@@ -70,14 +70,10 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-[1/1] mutex_unlock error checking mutex 0x........ rc 0
-
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_timedwait* (drd_pthread_intercepts.c:?)
- by 0x........: main (tc20_verifywrap.c:165)
+[1/1] mutex_unlock error checking mutex 0x........ rc 1
[1/1] cond_pre_wait 0x........
[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 1
---------------- pthread_rwlock_* ----------------
@@ -131,6 +127,9 @@
Destroying locked rwlock: rwlock 0x.........
at 0x........: main (tc20_verifywrap.c:262)
[1/1] mutex_destroy error checking mutex 0x........
+
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+ at 0x........: main (tc20_verifywrap.c:262)
[1/1] mutex_destroy invalid mutex 0x........
[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0
|
|
From: <sv...@va...> - 2008-03-30 08:43:57
|
Author: bart
Date: 2008-03-30 09:44:02 +0100 (Sun, 30 Mar 2008)
New Revision: 7818
Log:
Updated expected output files.
Modified:
trunk/exp-drd/tests/tc20_verifywrap.stderr.exp
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp
Modified: trunk/exp-drd/tests/tc20_verifywrap.stderr.exp
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap.stderr.exp 2008-03-30 08:41:59 UTC (rev 7817)
+++ trunk/exp-drd/tests/tc20_verifywrap.stderr.exp 2008-03-30 08:44:02 UTC (rev 7818)
@@ -54,10 +54,6 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_timedwait* (drd_pthread_intercepts.c:?)
- by 0x........: main (tc20_verifywrap.c:165)
-
---------------- pthread_rwlock_* ----------------
@@ -104,4 +100,7 @@
Destroying locked rwlock: rwlock 0x.........
at 0x........: main (tc20_verifywrap.c:262)
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+ at 0x........: main (tc20_verifywrap.c:262)
+
ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp 2008-03-30 08:41:59 UTC (rev 7817)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp 2008-03-30 08:44:02 UTC (rev 7818)
@@ -34,19 +34,19 @@
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:108)
-[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_trylock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:116)
-[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
[1/1] pre_mutex_lock invalid mutex 0x........ rc 0 owner 0
The object at address 0x........ is not a mutex.
at 0x........: pthread_mutex_timedlock (drd_pthread_intercepts.c:?)
by 0x........: main (tc20_verifywrap.c:121)
-[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock invalid mutex 0x........ rc 0 owner 0 (locking failed)
[1/1] mutex_unlock invalid mutex 0x........ rc 0
The object at address 0x........ is not a mutex.
@@ -73,14 +73,10 @@
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
-[1/1] mutex_unlock error checking mutex 0x........ rc 0
-
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_timedwait* (drd_pthread_intercepts.c:?)
- by 0x........: main (tc20_verifywrap.c:165)
+[1/1] mutex_unlock error checking mutex 0x........ rc 1
[1/1] cond_pre_wait 0x........
[1/1] cond_post_wait 0x........
-[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 0
+[1/1] post_mutex_lock error checking mutex 0x........ rc 0 owner 1
---------------- pthread_rwlock_* ----------------
@@ -134,6 +130,9 @@
Destroying locked rwlock: rwlock 0x.........
at 0x........: main (tc20_verifywrap.c:262)
[1/1] mutex_destroy error checking mutex 0x........
+
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+ at 0x........: main (tc20_verifywrap.c:262)
[1/1] mutex_destroy invalid mutex 0x........
[1/1] pre_mutex_lock recursive mutex 0x........ rc 0 owner 0
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0
|
|
From: <sv...@va...> - 2008-03-30 08:41:56
|
Author: bart
Date: 2008-03-30 09:41:59 +0100 (Sun, 30 Mar 2008)
New Revision: 7817
Log:
Made mutex tracing output more verbose.
Modified:
trunk/exp-drd/drd_mutex.c
Modified: trunk/exp-drd/drd_mutex.c
===================================================================
--- trunk/exp-drd/drd_mutex.c 2008-03-30 08:40:49 UTC (rev 7816)
+++ trunk/exp-drd/drd_mutex.c 2008-03-30 08:41:59 UTC (rev 7817)
@@ -259,13 +259,14 @@
if (s_trace_mutex)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] post_mutex_lock %s 0x%lx rc %d owner %d",
+ "[%d/%d] post_mutex_lock %s 0x%lx rc %d owner %d%s",
VG_(get_running_tid)(),
drd_tid,
p ? mutex_get_typename(p) : "(?)",
mutex,
p ? p->recursion_count : 0,
- p ? p->owner : VG_INVALID_THREADID);
+ p ? p->owner : VG_INVALID_THREADID,
+ took_lock ? "" : " (locking failed)");
}
if (! p || ! took_lock)
|
|
From: <sv...@va...> - 2008-03-30 08:40:46
|
Author: bart
Date: 2008-03-30 09:40:49 +0100 (Sun, 30 Mar 2008)
New Revision: 7816
Log:
Added DRD_IGNORE_VAR() and DRD_TRACE_VAR() macro's.
Modified:
trunk/exp-drd/drd_clientreq.h
Modified: trunk/exp-drd/drd_clientreq.h
===================================================================
--- trunk/exp-drd/drd_clientreq.h 2008-03-30 08:39:51 UTC (rev 7815)
+++ trunk/exp-drd/drd_clientreq.h 2008-03-30 08:40:49 UTC (rev 7816)
@@ -5,6 +5,10 @@
#include "valgrind.h" // VG_USERREQ_TOOL_BASE()
+#define DRD_IGNORE_VAR(x) { int res; VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_SUPPRESSION, &(x), sizeof(x), 0, 0, 0); }
+#define DRD_TRACE_VAR(x) { int res; VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_TRACE_ADDR, &(x), sizeof(x), 0, 0, 0); }
+
+
enum {
/* Ask the core the thread ID assigned by Valgrind. */
VG_USERREQ__GET_THREAD_SELF = VG_USERREQ_TOOL_BASE('D', 'R'),
@@ -155,7 +159,7 @@
VG_USERREQ__PRE_RWLOCK_UNLOCK,
/* args: Addr rwlock */
/* To notify the drd tool of a pthread_rwlock_unlock call. */
- VG_USERREQ__POST_RWLOCK_UNLOCK,
+ VG_USERREQ__POST_RWLOCK_UNLOCK
/* args: Addr rwlock, Bool unlocked */
};
@@ -166,13 +170,13 @@
mutex_type_recursive_mutex = 1,
mutex_type_errorcheck_mutex = 2,
mutex_type_default_mutex = 3,
- mutex_type_spinlock = 4,
+ mutex_type_spinlock = 4
} MutexT;
typedef enum
{
pthread_barrier = 1,
- gomp_barrier = 2,
+ gomp_barrier = 2
} BarrierT;
#endif // __DRD_CLIENTREQ_H
|
|
From: <sv...@va...> - 2008-03-30 08:39:50
|
Author: bart
Date: 2008-03-30 09:39:51 +0100 (Sun, 30 Mar 2008)
New Revision: 7815
Log:
Bug fix: DRD no longer complains that a mutex was not locked by the calling thread when unlocking a mutex after a call to pthread_cond_timedwait() that timed out.
Modified:
trunk/exp-drd/drd_pthread_intercepts.c
Modified: trunk/exp-drd/drd_pthread_intercepts.c
===================================================================
--- trunk/exp-drd/drd_pthread_intercepts.c 2008-03-29 14:42:59 UTC (rev 7814)
+++ trunk/exp-drd/drd_pthread_intercepts.c 2008-03-30 08:39:51 UTC (rev 7815)
@@ -459,7 +459,7 @@
cond, mutex, mutex_type(mutex), 0, 0);
CALL_FN_W_WW(ret, fn, cond, mutex);
VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_WAIT,
- cond, mutex, ret == 0, 0, 0);
+ cond, mutex, 1, 0, 0);
return ret;
}
@@ -477,7 +477,7 @@
cond, mutex, mutex_type(mutex), 0, 0);
CALL_FN_W_WWW(ret, fn, cond, mutex, abstime);
VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_COND_WAIT,
- cond, mutex, ret == 0, 0, 0);
+ cond, mutex, 1, 0, 0);
return ret;
}
|
|
From: Nicholas N. <nj...@cs...> - 2008-03-30 04:23:33
|
On Sat, 29 Mar 2008, Julian Seward wrote:
> Also, maybe use the test cases in perf/; at least bz2.c, fbench.c and
> ffbench.c ("make perf").
Also 'tinycc'.
Nick
|
|
From: Tom H. <th...@cy...> - 2008-03-30 04:16:33
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-03-30 03:15:07 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 330 tests, 76 stderr failures, 1 stdout failure, 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/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) 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/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-30 03:25:03
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-03-30 03:05:12 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 413 tests, 7 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (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/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/rwlock_race (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 == 413 tests, 6 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (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/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Mar 30 03:46:55 2008 --- new.short Sun Mar 30 04:25:03 2008 *************** *** 8,10 **** ! == 413 tests, 6 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 413 tests, 7 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) *************** *** 17,18 **** --- 17,19 ---- helgrind/tests/tc22_exit_w_lock (stderr) + exp-drd/tests/rwlock_race (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-30 02:57:37
|
Nightly build on aston ( x86_64, Fedora Core 5 ) started at 2008-03-30 03:20:08 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 419 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) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (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 == 419 tests, 9 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc08_hbl2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Mar 30 03:41:20 2008 --- new.short Sun Mar 30 03:57:41 2008 *************** *** 8,10 **** ! == 419 tests, 9 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/malloc_free_fill (stderr) --- 8,10 ---- ! == 419 tests, 9 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/malloc_free_fill (stderr) *************** *** 19,21 **** helgrind/tests/tc22_exit_w_lock (stderr) - exp-drd/tests/tc08_hbl2 (stdout) --- 19,20 ---- |
|
From: Tom H. <th...@cy...> - 2008-03-30 02:44:01
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-03-30 03:25:03 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 417 tests, 8 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-30 02:36:40
|
Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-03-30 03:10:03 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 413 tests, 8 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (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) ================================================= == 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 == 413 tests, 10 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_cvsimple (stdout) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Mar 30 03:22:23 2008 --- new.short Sun Mar 30 03:36:44 2008 *************** *** 8,10 **** ! == 413 tests, 10 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 413 tests, 8 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) *************** *** 16,22 **** none/tests/mremap2 (stdout) - none/tests/pth_cvsimple (stdout) - helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) - helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) --- 16,19 ---- |
|
From: Tom H. <th...@cy...> - 2008-03-30 02:18:11
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-03-30 03:00:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 419 tests, 31 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |