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
(16) |
2
(7) |
3
(9) |
4
(12) |
5
(20) |
|
6
(24) |
7
(10) |
8
(7) |
9
(17) |
10
(9) |
11
(7) |
12
(8) |
|
13
(12) |
14
(17) |
15
(15) |
16
(15) |
17
(21) |
18
(9) |
19
(17) |
|
20
(16) |
21
(12) |
22
(18) |
23
(8) |
24
(2) |
25
(17) |
26
(23) |
|
27
(30) |
28
(19) |
29
(14) |
30
(11) |
|
|
|
|
From: Tom H. <to...@co...> - 2008-04-19 20:33:32
|
In message <3c5...@ma...> you wrote: > On a machine running a version of Linux 2.6.25 SMP PREEMPT with lock > debugging enabled, I got an error from in my dmesg output while > running valgrind. I had been running valgrind a bunch of times on > that machine and got this message at some point (not exactly sure > when). I thought I would post it here in case anyone was interested, > I am not sure if this is a real problem or not. > > This occurred while running valgrind on an executable located on a > CIFS network share. > > The valgrind version on this machine is valgrind-3.3.0-Debian. > > I've never seen this message before so I'm not exactly sure what other > information might be useful. I think you're talking to the wrong people - you need to talk to the linux kernel developers. By definition a potential deadlock in the kernel is a kernel bug - it shouldn't matter what a user program does, it shouldn't be able to trigger a kernel deadlock. Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Brandon E. <azv...@ya...> - 2008-04-19 20:23:46
|
On a machine running a version of Linux 2.6.25 SMP PREEMPT with lock
debugging enabled, I got an error from in my dmesg output while
running valgrind. I had been running valgrind a bunch of times on
that machine and got this message at some point (not exactly sure
when). I thought I would post it here in case anyone was interested,
I am not sure if this is a real problem or not.
This occurred while running valgrind on an executable located on a
CIFS network share.
The valgrind version on this machine is valgrind-3.3.0-Debian.
I've never seen this message before so I'm not exactly sure what other
information might be useful.
=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.25 #29
-------------------------------------------------------
valgrind.bin/23200 is trying to acquire lock:
(sk_lock-AF_INET){--..}, at: [<c0557412>] tcp_sendmsg+0x17/0xb00
but task is already holding lock:
(&mm->mmap_sem){----}, at: [<c05c2abd>] do_page_fault+0x16d/0x8e0
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #1 (&mm->mmap_sem){----}:
[<c014bb79>] __lock_acquire+0xfa9/0xfdb
[<c014bc35>] lock_acquire+0x8a/0xbd
[<c05bf4f8>] down_read+0x3d/0x85
[<c05c2ad5>] do_page_fault+0x185/0x8e0
[<c05c102a>] error_code+0x72/0x78
[<c0526357>] memcpy_toiovec+0x43/0x5a
[<c0526910>] skb_copy_datagram_iovec+0x47/0x1d7
[<c0556e6a>] tcp_recvmsg+0xb3d/0xcc8
[<c051ff9f>] sock_common_recvmsg+0x3d/0x53
[<c051e8cf>] sock_recvmsg+0x10d/0x12a
[<c051f727>] sys_recvfrom+0x7c/0xc7
[<c051f7a8>] sys_recv+0x36/0x38
[<c051fbe8>] sys_socketcall+0x163/0x25b
[<c0104d78>] sysenter_past_esp+0x6d/0xc5
[<ffffffff>] 0xffffffff
-> #0 (sk_lock-AF_INET){--..}:
[<c014b771>] __lock_acquire+0xba1/0xfdb
[<c014bc35>] lock_acquire+0x8a/0xbd
[<c052098c>] lock_sock_nested+0xb5/0xc2
[<c0557412>] tcp_sendmsg+0x17/0xb00
[<c051ea28>] sock_sendmsg+0xf9/0x116
[<c051ed79>] kernel_sendmsg+0x28/0x37
[<c02cd885>] SendReceive2+0x197/0x69b
[<c02bb122>] CIFSSMBRead+0x110/0x2a0
[<c02c4d81>] cifs_readpages+0x18c/0x5c7
[<c016db8a>] __do_page_cache_readahead+0x161/0x1e1
[<c016dc4f>] do_page_cache_readahead+0x45/0x59
[<c0166c6e>] filemap_fault+0x30f/0x467
[<c01739f4>] __do_fault+0x56/0x43a
[<c0175530>] handle_mm_fault+0x150/0x873
[<c05c2ced>] do_page_fault+0x39d/0x8e0
[<c05c102a>] error_code+0x72/0x78
[<ffffffff>] 0xffffffff
other info that might help us debug this:
1 lock held by valgrind.bin/23200:
#0: (&mm->mmap_sem){----}, at: [<c05c2abd>] do_page_fault+0x16d/0x8e0
stack backtrace:
Pid: 23200, comm: valgrind.bin Not tainted 2.6.25 #29
[<c014a979>] print_circular_bug_tail+0x68/0x6a
[<c014b771>] __lock_acquire+0xba1/0xfdb
[<c0104e81>] ? restore_nocheck+0x12/0x15
[<c014bc35>] lock_acquire+0x8a/0xbd
[<c0557412>] ? tcp_sendmsg+0x17/0xb00
[<c052098c>] lock_sock_nested+0xb5/0xc2
[<c0557412>] ? tcp_sendmsg+0x17/0xb00
[<c0557412>] tcp_sendmsg+0x17/0xb00
[<c0148a7d>] ? get_lock_stats+0x1b/0x3e
[<c0142185>] ? getnstimeofday+0x34/0xde
[<c0113253>] ? lapic_next_event+0x15/0x1e
[<c051ea28>] sock_sendmsg+0xf9/0x116
[<c01689e2>] ? mempool_alloc_slab+0xe/0x10
[<c013cb12>] ? autoremove_wake_function+0x0/0x3a
[<c05c078f>] ? _spin_unlock+0x27/0x42
[<c02cca11>] ? allocate_mid+0xec/0x149
[<c051ed79>] kernel_sendmsg+0x28/0x37
[<c02cd885>] SendReceive2+0x197/0x69b
[<c02bb122>] CIFSSMBRead+0x110/0x2a0
[<c02c4d81>] cifs_readpages+0x18c/0x5c7
[<c016bdf3>] ? __alloc_pages+0x6d/0x3c7
[<c014a3b1>] ? mark_held_locks+0x4d/0x84
[<c01604b1>] ? __rcu_read_unlock+0x81/0xa4
[<c02c4bf5>] ? cifs_readpages+0x0/0x5c7
[<c016db8a>] __do_page_cache_readahead+0x161/0x1e1
[<c016dc4f>] do_page_cache_readahead+0x45/0x59
[<c0166c6e>] filemap_fault+0x30f/0x467
[<c01739f4>] __do_fault+0x56/0x43a
[<c0175530>] handle_mm_fault+0x150/0x873
[<c0109d8f>] ? native_sched_clock+0xa6/0xea
[<c05c2abd>] ? do_page_fault+0x16d/0x8e0
[<c0140740>] ? down_read_trylock+0x51/0x59
[<c05c2ced>] do_page_fault+0x39d/0x8e0
[<c014aea1>] ? __lock_acquire+0x2d1/0xfdb
[<c017862a>] ? vma_link+0xbc/0xd4
[<c01670c0>] ? __filemap_fdatawrite_range+0x61/0x6d
[<c01672ef>] ? filemap_fdatawrite+0x26/0x28
[<c02c603e>] ? cifs_flush+0x1c/0x5c
[<c0104dc1>] ? sysenter_past_esp+0xb6/0xc5
[<c014a596>] ? trace_hardirqs_on+0x10a/0x15a
[<c05c2950>] ? do_page_fault+0x0/0x8e0
[<c05c102a>] error_code+0x72/0x78
=======================
|
|
From: <sv...@va...> - 2008-04-19 15:19:57
|
Author: bart Date: 2008-04-19 16:20:01 +0100 (Sat, 19 Apr 2008) New Revision: 7893 Log: Added info about slowdown caused by the exp-drd tool. Modified: trunk/exp-drd/docs/README.txt Modified: trunk/exp-drd/docs/README.txt =================================================================== --- trunk/exp-drd/docs/README.txt 2008-04-19 15:17:08 UTC (rev 7892) +++ trunk/exp-drd/docs/README.txt 2008-04-19 15:20:01 UTC (rev 7893) @@ -115,6 +115,13 @@ multithreaded programs that use the POSIX threading library. Regular POSIX threads, detached threads, mutexes, condition variables, reader-writer locks, spinlocks, semaphores and barriers are supported. +Client programs run under exp-drd typically run somewhere between 50 +and 100 times slower than when executed natively. A notable exception +is Firefox, which runs too slow to be usable. This is because of the +huge number of mutex lock and unlock calls performed by +Firefox. E.g. just starting and stopping Firefox 3 triggers 2.5 +million pthread_mutex_lock() calls and the same number of +pthread_mutex_unlock() calls. Programming with Threads |
|
From: <sv...@va...> - 2008-04-19 15:17:09
|
Author: bart Date: 2008-04-19 16:17:08 +0100 (Sat, 19 Apr 2008) New Revision: 7892 Log: Updated to do list. Modified: trunk/exp-drd/TODO.txt Modified: trunk/exp-drd/TODO.txt =================================================================== --- trunk/exp-drd/TODO.txt 2008-04-19 15:16:45 UTC (rev 7891) +++ trunk/exp-drd/TODO.txt 2008-04-19 15:17:08 UTC (rev 7892) @@ -8,7 +8,10 @@ - Regression test for bitmap manipulation functions. - Continue discussion about unification of DRD and Helgrind client requests. - Memory pool support. -- Add locking order checking. +- Add locking order checking. Start from the following information: + * http://sourceforge.net/mailarchive/message.php?msg_id=alpine.LNX.1.10.0803270822080.17890%40mudge.stoecker.eu + * http://lwn.net/Articles/185605/ + * http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/lockdep-design.txt;h=488773018152056ea159685e732e42452a7ae142;hb=HEAD - Continue the discussion on the Valgrind mailing list about docbook and 'make dist'. - Let DRD print an error message and stop as soon as qt1, qt2 or qt3 is |
|
From: <sv...@va...> - 2008-04-19 15:17:01
|
Author: bart
Date: 2008-04-19 16:16:45 +0100 (Sat, 19 Apr 2008)
New Revision: 7891
Log:
Added more detailed statistics about thread_new_segment() calls.
Modified:
trunk/exp-drd/drd_barrier.c
trunk/exp-drd/drd_barrier.h
trunk/exp-drd/drd_main.c
trunk/exp-drd/drd_mutex.c
trunk/exp-drd/drd_mutex.h
trunk/exp-drd/drd_rwlock.c
trunk/exp-drd/drd_rwlock.h
trunk/exp-drd/drd_semaphore.c
trunk/exp-drd/drd_semaphore.h
Modified: trunk/exp-drd/drd_barrier.c
===================================================================
--- trunk/exp-drd/drd_barrier.c 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_barrier.c 2008-04-19 15:16:45 UTC (rev 7891)
@@ -60,6 +60,7 @@
// Local variables.
static Bool s_trace_barrier = False;
+static ULong s_barrier_segment_creation_count;
// Function definitions.
@@ -343,6 +344,7 @@
}
thread_new_segment(tid);
+ s_barrier_segment_creation_count++;
if (--p->post_waiters_left <= 0)
{
@@ -386,3 +388,8 @@
}
return "?";
}
+
+ULong get_barrier_segment_creation_count(void)
+{
+ return s_barrier_segment_creation_count;
+}
Modified: trunk/exp-drd/drd_barrier.h
===================================================================
--- trunk/exp-drd/drd_barrier.h 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_barrier.h 2008-04-19 15:16:45 UTC (rev 7891)
@@ -50,6 +50,7 @@
const BarrierT barrier_type, const Bool waited);
void barrier_thread_delete(const DrdThreadId threadid);
void barrier_stop_using_mem(const Addr a1, const Addr a2);
+ULong get_barrier_segment_creation_count(void);
#endif /* __DRD_BARRIER_H */
Modified: trunk/exp-drd/drd_main.c
===================================================================
--- trunk/exp-drd/drd_main.c 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_main.c 2008-04-19 15:16:45 UTC (rev 7891)
@@ -50,7 +50,6 @@
#include "pub_tool_mallocfree.h" // VG_(malloc)(), VG_(free)()
#include "pub_tool_options.h" // command line options
#include "pub_tool_replacemalloc.h"
-#include "pub_tool_replacemalloc.h"
#include "pub_tool_threadstate.h" // VG_(get_running_tid)()
#include "pub_tool_tooliface.h"
@@ -1079,6 +1078,12 @@
sg_get_max_alive_segments_count(),
thread_get_discard_ordered_segments_count());
VG_(message)(Vg_UserMsg,
+ " (%lld m, %lld rw, %lld s, %lld b)",
+ get_mutex_segment_creation_count(),
+ get_rwlock_segment_creation_count(),
+ get_semaphore_segment_creation_count(),
+ get_barrier_segment_creation_count());
+ VG_(message)(Vg_UserMsg,
" bitmaps: %lld level 1 / %lld level 2 bitmap refs",
bm_get_bitmap_creation_count(),
bm_get_bitmap2_node_creation_count());
Modified: trunk/exp-drd/drd_mutex.c
===================================================================
--- trunk/exp-drd/drd_mutex.c 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_mutex.c 2008-04-19 15:16:45 UTC (rev 7891)
@@ -45,6 +45,7 @@
static Bool s_trace_mutex;
static ULong s_mutex_lock_count;
+static ULong s_mutex_segment_creation_count;
// Function definitions.
@@ -284,6 +285,7 @@
thread_combine_vc2(drd_tid, &p->last_locked_segment->vc);
}
thread_new_segment(drd_tid);
+ s_mutex_segment_creation_count++;
p->owner = drd_tid;
s_mutex_lock_count++;
@@ -374,6 +376,7 @@
thread_get_latest_segment(&p->last_locked_segment, drd_tid);
thread_new_segment(drd_tid);
+ s_mutex_segment_creation_count++;
}
}
@@ -457,3 +460,8 @@
{
return s_mutex_lock_count;
}
+
+ULong get_mutex_segment_creation_count(void)
+{
+ return s_mutex_segment_creation_count;
+}
Modified: trunk/exp-drd/drd_mutex.h
===================================================================
--- trunk/exp-drd/drd_mutex.h 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_mutex.h 2008-04-19 15:16:45 UTC (rev 7891)
@@ -55,6 +55,7 @@
int mutex_get_recursion_count(const Addr mutex);
void mutex_thread_delete(const DrdThreadId tid);
ULong get_mutex_lock_count(void);
+ULong get_mutex_segment_creation_count(void);
#endif /* __DRD_MUTEX_H */
Modified: trunk/exp-drd/drd_rwlock.c
===================================================================
--- trunk/exp-drd/drd_rwlock.c 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_rwlock.c 2008-04-19 15:16:45 UTC (rev 7891)
@@ -50,6 +50,7 @@
// Local functions.
static void rwlock_cleanup(struct rwlock_info* p);
+static ULong s_rwlock_segment_creation_count;
// Local variables.
@@ -350,6 +351,7 @@
{
rwlock_combine_other_vc(p, drd_tid, False);
thread_new_segment(drd_tid);
+ s_rwlock_segment_creation_count++;
}
}
@@ -423,6 +425,7 @@
tl_assert(q->writer_nesting_count == 1);
rwlock_combine_other_vc(p, drd_tid, True);
thread_new_segment(drd_tid);
+ s_rwlock_segment_creation_count++;
}
/**
@@ -479,6 +482,7 @@
thread_get_latest_segment(&q->last_unlock_segment, drd_tid);
q->last_lock_was_writer_lock = False;
thread_new_segment(drd_tid);
+ s_rwlock_segment_creation_count++;
}
}
@@ -508,3 +512,8 @@
}
}
}
+
+ULong get_rwlock_segment_creation_count(void)
+{
+ return s_rwlock_segment_creation_count;
+}
Modified: trunk/exp-drd/drd_rwlock.h
===================================================================
--- trunk/exp-drd/drd_rwlock.h 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_rwlock.h 2008-04-19 15:16:45 UTC (rev 7891)
@@ -48,6 +48,7 @@
void rwlock_post_wrlock(const Addr rwlock, const Bool took_lock);
void rwlock_pre_unlock(const Addr rwlock);
void rwlock_thread_delete(const DrdThreadId tid);
+ULong get_rwlock_segment_creation_count(void);
#endif /* __DRD_RWLOCK_H */
Modified: trunk/exp-drd/drd_semaphore.c
===================================================================
--- trunk/exp-drd/drd_semaphore.c 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_semaphore.c 2008-04-19 15:16:45 UTC (rev 7891)
@@ -43,6 +43,7 @@
// Local variables.
static Bool s_trace_semaphore;
+static ULong s_semaphore_segment_creation_count;
// Function definitions.
@@ -222,6 +223,7 @@
thread_combine_vc2(tid, &p->last_sem_post_segment->vc);
}
thread_new_segment(tid);
+ s_semaphore_segment_creation_count++;
}
/** Called before sem_post(). */
@@ -244,6 +246,7 @@
p->last_sem_post_tid = tid;
thread_new_segment(tid);
thread_get_latest_segment(&p->last_sem_post_segment, tid);
+ s_semaphore_segment_creation_count++;
}
}
@@ -264,3 +267,8 @@
void semaphore_thread_delete(const DrdThreadId threadid)
{ }
+
+ULong get_semaphore_segment_creation_count(void)
+{
+ return s_semaphore_segment_creation_count;
+}
Modified: trunk/exp-drd/drd_semaphore.h
===================================================================
--- trunk/exp-drd/drd_semaphore.h 2008-04-19 15:15:12 UTC (rev 7890)
+++ trunk/exp-drd/drd_semaphore.h 2008-04-19 15:16:45 UTC (rev 7891)
@@ -49,6 +49,7 @@
void semaphore_post_post(const DrdThreadId tid, const Addr semaphore,
const Bool waited);
void semaphore_thread_delete(const DrdThreadId tid);
+ULong get_semaphore_segment_creation_count(void);
#endif /* __DRD_SEMAPHORE_H */
|
|
From: <sv...@va...> - 2008-04-19 15:16:31
|
Author: bart
Date: 2008-04-19 16:15:12 +0100 (Sat, 19 Apr 2008)
New Revision: 7890
Log:
Disabled complex logic in danger_set_update_needed() since it did not result in any speedup.
Modified:
trunk/exp-drd/drd_thread.c
Modified: trunk/exp-drd/drd_thread.c
===================================================================
--- trunk/exp-drd/drd_thread.c 2008-04-19 14:46:57 UTC (rev 7889)
+++ trunk/exp-drd/drd_thread.c 2008-04-19 15:15:12 UTC (rev 7890)
@@ -618,6 +618,7 @@
static Bool danger_set_update_needed(const DrdThreadId tid,
const Segment* const new_sg)
{
+#if 0
unsigned i;
const Segment* old_sg;
@@ -666,6 +667,9 @@
}
return False;
+#else
+ return True;
+#endif
}
/** Create a new segment for the specified thread, and discard any segments
|
|
From: <sv...@va...> - 2008-04-19 14:46:52
|
Author: bart
Date: 2008-04-19 15:46:57 +0100 (Sat, 19 Apr 2008)
New Revision: 7889
Log:
Added regression test for mallinfo().
Added:
trunk/none/tests/mallinfo.c
trunk/none/tests/mallinfo.stderr.exp
trunk/none/tests/mallinfo.vgtest
Modified:
trunk/none/tests/Makefile.am
Modified: trunk/none/tests/Makefile.am
===================================================================
--- trunk/none/tests/Makefile.am 2008-04-19 14:43:30 UTC (rev 7888)
+++ trunk/none/tests/Makefile.am 2008-04-19 14:46:57 UTC (rev 7889)
@@ -70,6 +70,7 @@
fork.stderr.exp fork.stdout.exp fork.vgtest \
fucomip.stderr.exp fucomip.vgtest \
gxx304.stderr.exp gxx304.vgtest \
+ mallinfo.stderr.exp mallinfo.vgtest \
manythreads.stdout.exp manythreads.stderr.exp manythreads.vgtest \
map_unaligned.stderr.exp map_unaligned.vgtest \
map_unmap.stderr.exp map_unmap.stdout.exp map_unmap.vgtest \
@@ -140,6 +141,7 @@
fdleak_fcntl fdleak_ipv4 fdleak_open fdleak_pipe \
fdleak_socketpair \
floored fork fucomip manythreads \
+ mallinfo \
munmap_exe map_unaligned map_unmap mq mremap mremap2 \
nestedfns \
pending \
Added: trunk/none/tests/mallinfo.c
===================================================================
--- trunk/none/tests/mallinfo.c (rev 0)
+++ trunk/none/tests/mallinfo.c 2008-04-19 14:46:57 UTC (rev 7889)
@@ -0,0 +1,28 @@
+#include <assert.h>
+#include <malloc.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+int main(int argc, char** argv)
+{
+ struct mallinfo mi;
+ int allocated, allocated1, allocated2;
+ void* p;
+
+ fprintf(stderr,
+ "Test of mallinfo(). May not trigger any assertion failures.\n");
+
+ mi = mallinfo();
+ assert(mi.arena == mi.uordblks + mi.fordblks);
+ allocated1 = mi.arena + mi.hblkhd;
+ allocated = 128*4096;
+ p = malloc(allocated);
+ mi = mallinfo();
+ assert(mi.arena == mi.uordblks + mi.fordblks);
+ allocated2 = mi.arena + mi.hblkhd;
+ assert(allocated2 - allocated1 >= allocated);
+ free(p);
+
+ return 0;
+}
Added: trunk/none/tests/mallinfo.stderr.exp
===================================================================
--- trunk/none/tests/mallinfo.stderr.exp (rev 0)
+++ trunk/none/tests/mallinfo.stderr.exp 2008-04-19 14:46:57 UTC (rev 7889)
@@ -0,0 +1,3 @@
+
+Test of mallinfo(). May not trigger any assertion failures.
+
Added: trunk/none/tests/mallinfo.vgtest
===================================================================
--- trunk/none/tests/mallinfo.vgtest (rev 0)
+++ trunk/none/tests/mallinfo.vgtest 2008-04-19 14:46:57 UTC (rev 7889)
@@ -0,0 +1 @@
+prog: mallinfo
|
|
From: <sv...@va...> - 2008-04-19 14:43:26
|
Author: bart
Date: 2008-04-19 15:43:30 +0100 (Sat, 19 Apr 2008)
New Revision: 7888
Log:
Added mallinfo() implementation based on patch by Eugene Toder (see also bug 160956).
Modified:
trunk/coregrind/m_mallocfree.c
Modified: trunk/coregrind/m_mallocfree.c
===================================================================
--- trunk/coregrind/m_mallocfree.c 2008-04-19 10:13:46 UTC (rev 7887)
+++ trunk/coregrind/m_mallocfree.c 2008-04-19 14:43:30 UTC (rev 7888)
@@ -596,7 +596,7 @@
cszB += sizeof(Superblock);
if (cszB < a->min_sblock_szB) cszB = a->min_sblock_szB;
- while ((cszB % VKI_PAGE_SIZE) > 0) cszB++;
+ cszB = VG_PGROUNDUP(cszB);
if (a->clientmem) {
// client allocation -- return 0 to client if it fails
@@ -1473,8 +1473,36 @@
// a pointer to do call by reference.
void VG_(mallinfo) ( ThreadId tid, struct vg_mallinfo* mi )
{
- // Should do better than this...
- VG_(memset)(mi, 0x0, sizeof(struct vg_mallinfo));
+ UInt i, free_blocks, free_blocks_size;
+ Arena* a = arenaId_to_ArenaP(VG_AR_CLIENT);
+
+ // Traverse free list and calculate free blocks statistics.
+ // This may seem slow but glibc works the same way.
+ free_blocks_size = free_blocks = 0;
+ for (i = 0; i < N_MALLOC_LISTS; i++) {
+ Block* b = a->freelist[i];
+ if (b == NULL) continue;
+ for (;;) {
+ free_blocks++;
+ free_blocks_size += get_pszB(a, b);
+ b = get_next_b(b);
+ if (b == a->freelist[i]) break;
+ }
+ }
+
+ // We don't have fastbins so smblks & fsmblks are always 0. Also we don't
+ // have a separate mmap allocator so set hblks & hblkhd to 0. See also
+ // http://www.gnu.org/software/libtool/manual/libc/Statistics-of-Malloc.html
+ mi->arena = a->bytes_mmaped;
+ mi->ordblks = free_blocks;
+ mi->smblks = 0;
+ mi->hblks = 0;
+ mi->hblkhd = 0;
+ mi->usmblks = 0;
+ mi->fsmblks = 0;
+ mi->uordblks = a->bytes_on_loan;
+ mi->fordblks = free_blocks_size;
+ mi->keepcost = 0; // may want some value in here
}
|
|
From: <sv...@va...> - 2008-04-19 10:16:38
|
Author: sewardj
Date: 2008-04-19 11:13:46 +0100 (Sat, 19 Apr 2008)
New Revision: 7887
Log:
Change the core-tool interface so that track_new_mem_stack_signal and
track_new_mem_brk pass a ThreadId as their third argument, rather than
an origin tag.
Modified:
branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_execontext.c
branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-amd64-linux.c
branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc32-linux.c
branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc64-linux.c
branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-x86-linux.c
branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_syswrap/syswrap-generic.c
branches/OTRACK_BY_INSTRUMENTATION/coregrind/pub_core_tooliface.h
branches/OTRACK_BY_INSTRUMENTATION/exp-drd/drd_main.c
branches/OTRACK_BY_INSTRUMENTATION/helgrind/hg_main.c
branches/OTRACK_BY_INSTRUMENTATION/include/pub_tool_tooliface.h
branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_include.h
branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_main.c
branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_malloc_wrappers.c
Modified: branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_execontext.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_execontext.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_execontext.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -303,11 +303,12 @@
vg_assert(sizeof(void*) == sizeof(UWord));
vg_assert(sizeof(void*) == sizeof(Addr));
+ vg_assert(VG_(is_valid_tid)(tid));
+
vg_assert(VG_(clo_backtrace_size) >= 1 &&
VG_(clo_backtrace_size) <= VG_DEEPEST_BACKTRACE);
if (first_ip_only) {
- vg_assert(VG_(is_valid_tid)(tid));
n_ips = 1;
ips[0] = VG_(get_IP)(tid);
} else {
Modified: branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-amd64-linux.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-amd64-linux.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-amd64-linux.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -375,8 +375,6 @@
*/
static Bool extend ( ThreadState *tst, Addr addr, SizeT size )
{
- UInt otag;
- ExeContext* here;
ThreadId tid = tst->tid;
NSegment const* stackseg = NULL;
@@ -408,13 +406,8 @@
/* For tracking memory events, indicate the entire frame has been
allocated. */
- here = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
- vg_assert(here);
- otag = VG_(get_ExeContext_uniq)(here);
- vg_assert(otag > 0);
-
VG_TRACK( new_mem_stack_signal, addr - VG_STACK_REDZONE_SZB,
- size + VG_STACK_REDZONE_SZB, otag );
+ size + VG_STACK_REDZONE_SZB, tid );
return True;
}
Modified: branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc32-linux.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc32-linux.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc32-linux.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -505,8 +505,6 @@
*/
static Bool extend ( ThreadState *tst, Addr addr, SizeT size )
{
- UInt otag;
- ExeContext* here;
ThreadId tid = tst->tid;
NSegment const* stackseg = NULL;
@@ -538,13 +536,8 @@
/* For tracking memory events, indicate the entire frame has been
allocated. */
- here = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
- vg_assert(here);
- otag = VG_(get_ExeContext_uniq)(here);
- vg_assert(otag > 0);
-
VG_TRACK( new_mem_stack_signal, addr - VG_STACK_REDZONE_SZB,
- size + VG_STACK_REDZONE_SZB, otag );
+ size + VG_STACK_REDZONE_SZB, tid );
return True;
}
Modified: branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc64-linux.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc64-linux.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-ppc64-linux.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -134,8 +134,6 @@
*/
static Bool extend ( ThreadState *tst, Addr addr, SizeT size )
{
- UInt otag;
- ExeContext* here;
ThreadId tid = tst->tid;
NSegment const* stackseg = NULL;
@@ -167,13 +165,8 @@
/* For tracking memory events, indicate the entire frame has been
allocated. */
- here = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
- vg_assert(here);
- otag = VG_(get_ExeContext_uniq)(here);
- vg_assert(otag > 0);
-
VG_TRACK( new_mem_stack_signal, addr - VG_STACK_REDZONE_SZB,
- size + VG_STACK_REDZONE_SZB, otag );
+ size + VG_STACK_REDZONE_SZB, tid );
return True;
}
Modified: branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-x86-linux.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-x86-linux.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_sigframe/sigframe-x86-linux.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -396,8 +396,6 @@
*/
static Bool extend ( ThreadState *tst, Addr addr, SizeT size )
{
- UInt otag;
- ExeContext* here;
ThreadId tid = tst->tid;
NSegment const* stackseg = NULL;
@@ -429,13 +427,8 @@
/* For tracking memory events, indicate the entire frame has been
allocated. */
- here = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
- vg_assert(here);
- otag = VG_(get_ExeContext_uniq)(here);
- vg_assert(otag > 0);
-
VG_TRACK( new_mem_stack_signal, addr - VG_STACK_REDZONE_SZB,
- size + VG_STACK_REDZONE_SZB, otag );
+ size + VG_STACK_REDZONE_SZB, tid );
return True;
}
Modified: branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_syswrap/syswrap-generic.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/coregrind/m_syswrap/syswrap-generic.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -2629,7 +2629,7 @@
if (brk_new > brk_limit) {
/* successfully grew the data segment */
VG_TRACK( new_mem_brk, brk_limit,
- ARG1-brk_limit, 0/*unknown origin*/ );
+ ARG1-brk_limit, tid );
}
} else {
/* brk() failed */
Modified: branches/OTRACK_BY_INSTRUMENTATION/coregrind/pub_core_tooliface.h
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/coregrind/pub_core_tooliface.h 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/coregrind/pub_core_tooliface.h 2008-04-19 10:13:46 UTC (rev 7887)
@@ -162,8 +162,8 @@
// -- Event tracking functions ------------------------------------
void (*track_new_mem_startup) (Addr, SizeT, Bool, Bool, Bool);
- void (*track_new_mem_stack_signal)(Addr, SizeT, UInt);
- void (*track_new_mem_brk) (Addr, SizeT, UInt);
+ void (*track_new_mem_stack_signal)(Addr, SizeT, ThreadId);
+ void (*track_new_mem_brk) (Addr, SizeT, ThreadId);
void (*track_new_mem_mmap) (Addr, SizeT, Bool, Bool, Bool);
void (*track_copy_mem_remap) (Addr src, Addr dst, SizeT);
Modified: branches/OTRACK_BY_INSTRUMENTATION/exp-drd/drd_main.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/exp-drd/drd_main.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/exp-drd/drd_main.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -458,8 +458,7 @@
}
}
-static void drd_start_using_mem(const Addr a1, const SizeT len,
- UInt ec_uniq)
+static void drd_start_using_mem(const Addr a1, const SizeT len)
{
const Addr a2 = a1 + len;
@@ -471,6 +470,20 @@
}
}
+static void drd_start_using_mem_w_otag(const Addr a1,
+ const SizeT len,
+ UInt ec_uniq)
+{
+ drd_start_using_mem(a1, len);
+}
+
+static void drd_start_using_mem_w_tid(const Addr a1,
+ const SizeT len,
+ ThreadId tid)
+{
+ drd_start_using_mem(a1, len);
+}
+
static void drd_stop_using_mem(const Addr a1, const SizeT len)
{
const Addr a2 = a1 + len;
@@ -492,7 +505,7 @@
{
thread_set_vg_running_tid(VG_(get_running_tid)());
- drd_start_using_mem(a, len, 0/*ec_uniq*/);
+ drd_start_using_mem(a, len);
}
/* Called by the core when the stack of a thread grows, to indicate that */
@@ -502,8 +515,8 @@
UInt ec_uniq)
{
thread_set_stack_min(thread_get_running_tid(), a - VG_STACK_REDZONE_SZB);
- drd_start_using_mem(a - VG_STACK_REDZONE_SZB,
- len + VG_STACK_REDZONE_SZB, ec_uniq);
+ drd_start_using_mem_w_otag(a - VG_STACK_REDZONE_SZB,
+ len + VG_STACK_REDZONE_SZB, ec_uniq);
}
/* Called by the core when the stack of a thread shrinks, to indicate that */
@@ -516,11 +529,12 @@
drd_stop_using_mem(a - VG_STACK_REDZONE_SZB, len + VG_STACK_REDZONE_SZB);
}
-static void drd_start_using_mem_stack_signal(const Addr a, const SizeT len,
- UInt ec_uniq)
+static void drd_start_using_mem_stack_signal(
+ const Addr a, const SizeT len,
+ ThreadId tid_for_whom_the_signal_frame_is_being_constructed)
{
thread_set_vg_running_tid(VG_(get_running_tid)());
- drd_start_using_mem(a, len, ec_uniq);
+ drd_start_using_mem(a, len);
}
static void drd_stop_using_mem_stack_signal(Addr a, SizeT len)
@@ -1054,7 +1068,7 @@
VG_(track_pre_mem_read) (drd_pre_mem_read);
VG_(track_pre_mem_read_asciiz) (drd_pre_mem_read_asciiz);
VG_(track_post_mem_write) (drd_post_mem_write);
- VG_(track_new_mem_brk) (drd_start_using_mem);
+ VG_(track_new_mem_brk) (drd_start_using_mem_w_tid);
VG_(track_new_mem_mmap) (drd_start_using_mem_w_perms);
VG_(track_new_mem_stack) (drd_start_using_mem_stack);
VG_(track_new_mem_stack_signal) (drd_start_using_mem_stack_signal);
@@ -1069,7 +1083,7 @@
VG_(track_pre_thread_ll_exit) (drd_thread_finished);
// Other stuff.
- drd_register_malloc_wrappers(drd_start_using_mem, drd_stop_using_mem);
+ drd_register_malloc_wrappers(drd_start_using_mem_w_otag, drd_stop_using_mem);
drd_clientreq_init();
Modified: branches/OTRACK_BY_INSTRUMENTATION/helgrind/hg_main.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/helgrind/hg_main.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/helgrind/hg_main.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -5416,15 +5416,24 @@
}
static
-void evh__new_mem ( Addr a, SizeT len, UInt ec_uniq ) {
+void evh__new_mem_w_otag ( Addr a, SizeT len, UInt ec_uniq ) {
if (SHOW_EVENTS >= 2)
- VG_(printf)("evh__new_mem(%p, %lu)\n", (void*)a, len );
+ VG_(printf)("evh__new_mem_w_otag(%p, %lu)\n", (void*)a, len );
shadow_mem_make_New( get_current_Thread(), a, len );
if (len >= SCE_BIGRANGE_T && (clo_sanity_flags & SCE_BIGRANGE))
- all__sanity_check("evh__new_mem-post");
+ all__sanity_check("evh__new_mem_w_otag-post");
}
static
+void evh__new_mem_w_tid ( Addr a, SizeT len, ThreadId tid ) {
+ if (SHOW_EVENTS >= 2)
+ VG_(printf)("evh__new_mem_w_tid(%p, %lu)\n", (void*)a, len );
+ shadow_mem_make_New( get_current_Thread(), a, len );
+ if (len >= SCE_BIGRANGE_T && (clo_sanity_flags & SCE_BIGRANGE))
+ all__sanity_check("evh__new_mem_w_tid-post");
+}
+
+static
void evh__new_mem_w_perms ( Addr a, SizeT len,
Bool rr, Bool ww, Bool xx ) {
if (SHOW_EVENTS >= 1)
@@ -7515,7 +7524,7 @@
if (args[2] > 0) { /* length */
evh__die_mem(args[1], args[2]);
/* and then set it to New */
- evh__new_mem(args[1], args[2], 0/*ec_uniq*/);
+ evh__new_mem_w_otag(args[1], args[2], 0/*ec_uniq*/);
}
break;
@@ -8821,10 +8830,10 @@
//VG_(needs_xml_output) ();
VG_(track_new_mem_startup) ( evh__new_mem_w_perms );
- VG_(track_new_mem_stack_signal)( evh__new_mem );
- VG_(track_new_mem_brk) ( evh__new_mem );
+ VG_(track_new_mem_stack_signal)( evh__new_mem_w_tid );
+ VG_(track_new_mem_brk) ( evh__new_mem_w_tid );
VG_(track_new_mem_mmap) ( evh__new_mem_w_perms );
- VG_(track_new_mem_stack) ( evh__new_mem );
+ VG_(track_new_mem_stack) ( evh__new_mem_w_otag );
// FIXME: surely this isn't thread-aware
VG_(track_copy_mem_remap) ( shadow_mem_copy_range );
Modified: branches/OTRACK_BY_INSTRUMENTATION/include/pub_tool_tooliface.h
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/include/pub_tool_tooliface.h 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/include/pub_tool_tooliface.h 2008-04-19 10:13:46 UTC (rev 7887)
@@ -471,13 +471,13 @@
These ones occur at startup, upon some signals, and upon some syscalls.
- For the 'new_mem' ones, the core is at liberty to pass zero for the
- otag, denoting 'unknown origin', if desired.
+ For the new_mem_brk and new_mem_stack_signal, the supplied ThreadId
+ indicates the thread for whom the new memory is being allocated.
*/
void VG_(track_new_mem_startup) (void(*f)(Addr a, SizeT len,
Bool rr, Bool ww, Bool xx));
-void VG_(track_new_mem_stack_signal)(void(*f)(Addr a, SizeT len, UInt otag));
-void VG_(track_new_mem_brk) (void(*f)(Addr a, SizeT len, UInt otag));
+void VG_(track_new_mem_stack_signal)(void(*f)(Addr a, SizeT len, ThreadId tid));
+void VG_(track_new_mem_brk) (void(*f)(Addr a, SizeT len, ThreadId tid));
void VG_(track_new_mem_mmap) (void(*f)(Addr a, SizeT len,
Bool rr, Bool ww, Bool xx));
Modified: branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_include.h
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_include.h 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_include.h 2008-04-19 10:13:46 UTC (rev 7887)
@@ -101,9 +101,9 @@
/* Shadow memory functions */
extern Bool MC_(check_mem_is_noaccess)( Addr a, SizeT len, Addr* bad_addr );
-extern void MC_(make_mem_noaccess) ( Addr a, SizeT len );
-extern void MC_(make_mem_undefined)( Addr a, SizeT len, UInt otag );
-extern void MC_(make_mem_defined) ( Addr a, SizeT len );
+extern void MC_(make_mem_noaccess) ( Addr a, SizeT len );
+extern void MC_(make_mem_undefined_w_otag)( Addr a, SizeT len, UInt otag );
+extern void MC_(make_mem_defined) ( Addr a, SizeT len );
extern void MC_(copy_address_range_state) ( Addr src, Addr dst, SizeT len );
extern void MC_(print_malloc_stats) ( void );
Modified: branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_main.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_main.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_main.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -1561,7 +1561,7 @@
ocache_sarp_Clear_Origins ( a, len );
}
-void MC_(make_mem_undefined) ( Addr a, SizeT len, UInt otag )
+void MC_(make_mem_undefined_w_otag) ( Addr a, SizeT len, UInt otag )
{
PROF_EVENT(41, "MC_(make_mem_undefined)");
DEBUG("MC_(make_mem_undefined)(%p, %lu)\n", a, len);
@@ -1570,6 +1570,20 @@
ocache_sarp_Set_Origins ( a, len, otag );
}
+static
+void make_mem_undefined_w_tid ( Addr a, SizeT len, ThreadId tid )
+{
+ UInt otag;
+ ExeContext* here;
+ /* VG_(record_ExeContext) checks for validity of tid, and asserts
+ if it is invalid. So no need to do it here. */
+ here = VG_(record_ExeContext)( tid, 0/*first_ip_delta*/ );
+ tl_assert(here);
+ otag = VG_(get_ExeContext_uniq)(here);
+ tl_assert(otag > 0);
+ MC_(make_mem_undefined_w_otag) ( a, len, otag );
+}
+
void MC_(make_mem_defined) ( Addr a, SizeT len )
{
PROF_EVENT(42, "MC_(make_mem_defined)");
@@ -1837,7 +1851,7 @@
#else
if (UNLIKELY(a > MAX_PRIMARY_ADDRESS)) {
PROF_EVENT(301, "make_aligned_word32_undefined-slow1");
- MC_(make_mem_undefined)(a, 4, otag);
+ MC_(make_mem_undefined_w_otag)(a, 4, otag);
return;
}
@@ -1909,7 +1923,7 @@
#else
if (UNLIKELY(a > MAX_PRIMARY_ADDRESS)) {
PROF_EVENT(321, "make_aligned_word64_undefined-slow1");
- MC_(make_mem_undefined)(a, 8, otag);
+ MC_(make_mem_undefined_w_otag)(a, 8, otag);
return;
}
@@ -1999,7 +2013,7 @@
if (VG_IS_4_ALIGNED( -VG_STACK_REDZONE_SZB + new_SP )) {
make_aligned_word32_undefined ( -VG_STACK_REDZONE_SZB + new_SP, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 4, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 4, otag );
}
}
@@ -2022,7 +2036,7 @@
make_aligned_word32_undefined ( -VG_STACK_REDZONE_SZB + new_SP , otag );
make_aligned_word32_undefined ( -VG_STACK_REDZONE_SZB + new_SP+4, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 8, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 8, otag );
}
}
@@ -2052,7 +2066,7 @@
make_aligned_word32_undefined ( -VG_STACK_REDZONE_SZB + new_SP , otag );
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+4, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 12, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 12, otag );
}
}
@@ -2090,7 +2104,7 @@
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+4 , otag );
make_aligned_word32_undefined ( -VG_STACK_REDZONE_SZB + new_SP+12, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 16, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 16, otag );
}
}
@@ -2129,7 +2143,7 @@
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+20, otag );
make_aligned_word32_undefined ( -VG_STACK_REDZONE_SZB + new_SP+28, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 32, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 32, otag );
}
}
@@ -2174,7 +2188,7 @@
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+96, otag );
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+104, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 112, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 112, otag );
}
}
@@ -2222,7 +2236,7 @@
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+112, otag );
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+120, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 128, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 128, otag );
}
}
@@ -2274,7 +2288,7 @@
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+128, otag );
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+136, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 144, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 144, otag );
}
}
@@ -2330,7 +2344,7 @@
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+144, otag );
make_aligned_word64_undefined ( -VG_STACK_REDZONE_SZB + new_SP+152, otag );
} else {
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + new_SP, 160, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 160, otag );
}
}
@@ -2366,7 +2380,7 @@
static void mc_new_mem_stack ( Addr a, SizeT len, UInt otag )
{
PROF_EVENT(115, "new_mem_stack");
- MC_(make_mem_undefined) ( -VG_STACK_REDZONE_SZB + a, len, otag );
+ MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + a, len, otag );
}
static void mc_die_mem_stack ( Addr a, SizeT len )
@@ -2690,7 +2704,7 @@
}
/* else fall into slow case */
- MC_(make_mem_undefined)(base, len, otag);
+ MC_(make_mem_undefined_w_otag)(base, len, otag);
}
@@ -5377,16 +5391,10 @@
*ret = -1;
break;
- case VG_USERREQ__MAKE_MEM_UNDEFINED: {
- UInt otag;
- ExeContext* here = VG_(record_ExeContext)( tid, 0/*first_ip_delta*/ );
- tl_assert(here);
- otag = VG_(get_ExeContext_uniq)(here);
- tl_assert(otag > 0);
- MC_(make_mem_undefined) ( arg[1], arg[2], otag );
+ case VG_USERREQ__MAKE_MEM_UNDEFINED:
+ make_mem_undefined_w_tid ( arg[1], arg[2], tid );
*ret = -1;
break;
- }
case VG_USERREQ__MAKE_MEM_DEFINED:
MC_(make_mem_defined) ( arg[1], arg[2] );
@@ -6066,8 +6074,8 @@
VG_(needs_xml_output) ();
VG_(track_new_mem_startup) ( mc_new_mem_startup );
- VG_(track_new_mem_stack_signal)( MC_(make_mem_undefined) );
- VG_(track_new_mem_brk) ( MC_(make_mem_undefined) );
+ VG_(track_new_mem_stack_signal)( make_mem_undefined_w_tid );
+ VG_(track_new_mem_brk) ( make_mem_undefined_w_tid );
VG_(track_new_mem_mmap) ( mc_new_mem_mmap );
VG_(track_copy_mem_remap) ( MC_(copy_address_range_state) );
Modified: branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_malloc_wrappers.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_malloc_wrappers.c 2008-04-19 07:47:56 UTC (rev 7886)
+++ branches/OTRACK_BY_INSTRUMENTATION/memcheck/mc_malloc_wrappers.c 2008-04-19 10:13:46 UTC (rev 7887)
@@ -220,7 +220,7 @@
else {
UInt otag = VG_(get_ExeContext_uniq)(ec);
tl_assert(otag > 0);
- MC_(make_mem_undefined)( p, szB, otag );
+ MC_(make_mem_undefined_w_otag)( p, szB, otag );
}
return (void*)p;
@@ -408,9 +408,9 @@
/* First half kept and copied, second half new, red zones as normal */
MC_(make_mem_noaccess)( a_new-MC_MALLOC_REDZONE_SZB,
MC_MALLOC_REDZONE_SZB );
- MC_(copy_address_range_state)( (Addr)p_old, a_new, mc->szB );
- MC_(make_mem_undefined)( a_new+mc->szB, new_szB-mc->szB, otag );
- MC_(make_mem_noaccess) ( a_new+new_szB, MC_MALLOC_REDZONE_SZB );
+ MC_(copy_address_range_state) ( (Addr)p_old, a_new, mc->szB );
+ MC_(make_mem_undefined_w_otag)( a_new+mc->szB, new_szB-mc->szB, otag );
+ MC_(make_mem_noaccess) ( a_new+new_szB, MC_MALLOC_REDZONE_SZB );
/* Possibly fill new area with specified junk */
if (MC_(clo_malloc_fill) != -1) {
|
|
From: <sv...@va...> - 2008-04-19 07:47:54
|
Author: bart
Date: 2008-04-19 08:47:56 +0100 (Sat, 19 Apr 2008)
New Revision: 7886
Log:
Made gcc version check more robust.
Modified:
trunk/configure.in
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2008-04-18 07:18:08 UTC (rev 7885)
+++ trunk/configure.in 2008-04-19 07:47:56 UTC (rev 7886)
@@ -86,22 +86,13 @@
# We don't want gcc < 3.0
AC_MSG_CHECKING([for a supported version of gcc])
-gcc_version=`${CC} --version | head -n 1`
+[gcc_version=`${CC} --version | head -n 1 | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`]
case "${gcc_version}" in
- gcc-2.7.*)
+ 2.*)
AC_MSG_RESULT([no (${gcc_version})])
AC_MSG_ERROR([please use a recent (>= gcc-3.0) version of gcc])
;;
- gcc-2.8.*)
- AC_MSG_RESULT([no (${gcc_version})])
- AC_MSG_ERROR([please use a recent (>= gcc-3.0) version of gcc])
- ;;
- gcc-2.9*)
- AC_MSG_RESULT([no (${gcc_version})])
- AC_MSG_ERROR([please use a recent (>= gcc-3.0) version of gcc])
- ;;
-
*)
AC_MSG_RESULT([ok (${gcc_version})])
;;
|
|
From: Tom H. <th...@cy...> - 2008-04-19 03:24:53
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-04-19 03:15:08 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, 75 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/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-04-19 03:12:45
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-04-19 03:15:01 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 == 326 tests, 75 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/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-04-19 03:07:24
|
Nightly build on aston ( x86_64, Fedora Core 5 ) started at 2008-04-19 03:20:24 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, 8 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/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-04-19 03:02:45
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-04-19 03:05:14 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 == 413 tests, 5 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/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-04-19 02:50:13
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-04-19 03:25:09 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 == 417 tests, 8 stderr failures, 6 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/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_cvsimple (stdout) helgrind/tests/tc17_sembar (stderr) 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 == 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/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc17_sembar (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 Sat Apr 19 03:36:32 2008 --- new.short Sat Apr 19 03:48:38 2008 *************** *** 8,10 **** ! == 417 tests, 8 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 417 tests, 8 stderr failures, 6 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) *************** *** 18,19 **** --- 18,20 ---- none/tests/mremap2 (stdout) + none/tests/pth_cvsimple (stdout) helgrind/tests/tc17_sembar (stderr) |
|
From: Tom H. <th...@cy...> - 2008-04-19 02:50:12
|
Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-04-19 03:10:13 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/blockfault (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, 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/mremap (stderr) none/tests/mremap2 (stdout) 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 Sat Apr 19 03:28:46 2008 --- new.short Sat Apr 19 03:48:28 2008 *************** *** 8,10 **** ! == 413 tests, 8 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,19 **** helgrind/tests/tc20_verifywrap (stderr) - helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) --- 17,18 ---- |
|
From: Tom H. <th...@cy...> - 2008-04-19 02:26:40
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-04-19 03:00:02 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 419 tests, 30 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/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) |