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
(7) |
2
(9) |
3
(7) |
4
(5) |
5
(5) |
6
(16) |
|
7
(20) |
8
(9) |
9
(15) |
10
(11) |
11
(13) |
12
(12) |
13
(10) |
|
14
(13) |
15
(6) |
16
(10) |
17
(12) |
18
(17) |
19
(3) |
20
(10) |
|
21
(11) |
22
(7) |
23
(6) |
24
(7) |
25
(5) |
26
(5) |
27
(14) |
|
28
(6) |
29
(4) |
30
(5) |
|
|
|
|
|
From: <sv...@va...> - 2008-09-27 13:23:47
|
Author: bart
Date: 2008-09-27 14:23:41 +0100 (Sat, 27 Sep 2008)
New Revision: 8644
Log:
Summarized pthread-unwind suppression patterns.
Modified:
trunk/glibc-2.X-drd.supp
Modified: trunk/glibc-2.X-drd.supp
===================================================================
--- trunk/glibc-2.X-drd.supp 2008-09-27 13:14:06 UTC (rev 8643)
+++ trunk/glibc-2.X-drd.supp 2008-09-27 13:23:41 UTC (rev 8644)
@@ -291,38 +291,6 @@
obj:/lib*/libpthread-*
}
{
- pthread-unwind
- drd:ConflictingAccess
- fun:_Unwind_ForcedUnwind
- fun:__pthread_unwind
- fun:sigcancel_handler
- obj:/lib*/libpthread-*
-}
-{
- pthread-unwind
- drd:ConflictingAccess
- fun:_Unwind_ForcedUnwind
- fun:__pthread_unwind
-}
-{
- pthread-unwind
- drd:ConflictingAccess
- fun:_Unwind_GetCFA
- fun:unwind_stop
-}
-{
- pthread-unwind
- drd:ConflictingAccess
- fun:uw_update_context
- fun:_Unwind_ForcedUnwind_Phase2
-}
-{
- pthread-unwind
- drd:ConflictingAccess
- fun:uw_frame_state_for
- fun:_Unwind_ForcedUnwind_Phase2
-}
-{
pthread
drd:ConflictingAccess
fun:pthread_detach
@@ -351,59 +319,54 @@
{
pthread-unwind
drd:ConflictingAccess
- obj:/lib*/ld-*.so
- obj:/lib*/ld-*.so
- obj:/lib*/libgcc_s.so.1
- obj:/lib*/libgcc_s.so.1
fun:_Unwind_ForcedUnwind
fun:__pthread_unwind
}
{
pthread-unwind
drd:ConflictingAccess
- fun:_Unwind_Find_FDE
- obj:/lib*/libgcc_s.so.1
- obj:/lib*/libgcc_s.so.1
- fun:_Unwind_ForcedUnwind
- fun:__pthread_unwind
+ fun:_Unwind_GetCFA
+ fun:unwind_stop
}
{
pthread-unwind
drd:ConflictingAccess
- obj:/lib*/ld-*.so
- obj:/lib*/ld-*.so
- fun:_Unwind_Find_FDE
- obj:/lib*/libgcc_s.so.1
- obj:/lib*/libgcc_s.so.1
- fun:_Unwind_ForcedUnwind
- fun:__pthread_unwind
+ fun:uw_update_context
+ fun:_Unwind_ForcedUnwind_Phase2
}
{
pthread-unwind
drd:ConflictingAccess
- obj:/lib*/ld-*.so
- obj:/lib*/ld-*.so
- obj:/lib*/libgcc_s.so.1
+ fun:uw_frame_state_for
+ fun:_Unwind_ForcedUnwind_Phase2
+}
+{
+ pthread-unwind-3
+ drd:ConflictingAccess
+ obj:*
+ obj:*
+ obj:*
fun:_Unwind_ForcedUnwind
fun:__pthread_unwind
}
{
- pthread-unwind
+ pthread-unwind-4
drd:ConflictingAccess
- fun:pthread_mutex_lock
- fun:_Unwind_Find_FDE
- obj:/lib*/libgcc_s.so.1
- obj:/lib*/libgcc_s.so.1
+ obj:*
+ obj:*
+ obj:*
+ obj:*
fun:_Unwind_ForcedUnwind
fun:__pthread_unwind
}
{
- pthread-unwind
+ pthread-unwind-5
drd:ConflictingAccess
- fun:pthread_mutex_unlock
- fun:_Unwind_Find_FDE
- obj:/lib*/libgcc_s.so.1
- obj:/lib*/libgcc_s.so.1
+ obj:*
+ obj:*
+ obj:*
+ obj:*
+ obj:*
fun:_Unwind_ForcedUnwind
fun:__pthread_unwind
}
|
|
From: <sv...@va...> - 2008-09-27 13:14:13
|
Author: bart
Date: 2008-09-27 14:14:06 +0100 (Sat, 27 Sep 2008)
New Revision: 8643
Log:
Added one more suppression pattern related to pthread_cancel().
Modified:
trunk/glibc-2.X-drd.supp
Modified: trunk/glibc-2.X-drd.supp
===================================================================
--- trunk/glibc-2.X-drd.supp 2008-09-27 12:47:30 UTC (rev 8642)
+++ trunk/glibc-2.X-drd.supp 2008-09-27 13:14:06 UTC (rev 8643)
@@ -349,7 +349,7 @@
fun:_pthread_cleanup_push_defer
}
{
- pthread-forced-unwind
+ pthread-unwind
drd:ConflictingAccess
obj:/lib*/ld-*.so
obj:/lib*/ld-*.so
@@ -359,7 +359,7 @@
fun:__pthread_unwind
}
{
- pthread-forced-unwind
+ pthread-unwind
drd:ConflictingAccess
fun:_Unwind_Find_FDE
obj:/lib*/libgcc_s.so.1
@@ -368,7 +368,7 @@
fun:__pthread_unwind
}
{
- pthread-forced-unwind
+ pthread-unwind
drd:ConflictingAccess
obj:/lib*/ld-*.so
obj:/lib*/ld-*.so
@@ -379,8 +379,17 @@
fun:__pthread_unwind
}
{
- pthread-forced-unwind
+ pthread-unwind
drd:ConflictingAccess
+ obj:/lib*/ld-*.so
+ obj:/lib*/ld-*.so
+ obj:/lib*/libgcc_s.so.1
+ fun:_Unwind_ForcedUnwind
+ fun:__pthread_unwind
+}
+{
+ pthread-unwind
+ drd:ConflictingAccess
fun:pthread_mutex_lock
fun:_Unwind_Find_FDE
obj:/lib*/libgcc_s.so.1
@@ -389,7 +398,7 @@
fun:__pthread_unwind
}
{
- pthread-forced-unwind
+ pthread-unwind
drd:ConflictingAccess
fun:pthread_mutex_unlock
fun:_Unwind_Find_FDE
|
|
From: <sv...@va...> - 2008-09-27 12:47:37
|
Author: bart Date: 2008-09-27 13:47:30 +0100 (Sat, 27 Sep 2008) New Revision: 8642 Log: Updated svn:ignore properties. Modified: trunk/exp-ptrcheck/ trunk/exp-ptrcheck/docs/ trunk/exp-ptrcheck/tests/ Property changes on: trunk/exp-ptrcheck ___________________________________________________________________ Name: svn:ignore + .deps exp-ptrcheck-*-linux Makefile Makefile.in Property changes on: trunk/exp-ptrcheck/docs ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/exp-ptrcheck/tests ___________________________________________________________________ Name: svn:ignore + *.out *.stderr.diff* *.stdout.diff* .deps add and arith bad_percentify base ccc cmp fp globalerr hackedbz2 hp_bounds hp_dangle idiv imul justify Makefile Makefile.in mm neg not or partial pth_create pth_specific realloc stackerr strcpy strlen sub supp syscall tricky unaligned xor zero |
|
From: <sv...@va...> - 2008-09-27 12:43:59
|
Author: bart
Date: 2008-09-27 13:43:52 +0100 (Sat, 27 Sep 2008)
New Revision: 8641
Log:
Added suppression patterns related to pthread_cancel().
Modified:
trunk/glibc-2.X-drd.supp
Modified: trunk/glibc-2.X-drd.supp
===================================================================
--- trunk/glibc-2.X-drd.supp 2008-09-27 12:40:57 UTC (rev 8640)
+++ trunk/glibc-2.X-drd.supp 2008-09-27 12:43:52 UTC (rev 8641)
@@ -349,6 +349,56 @@
fun:_pthread_cleanup_push_defer
}
{
+ pthread-forced-unwind
+ drd:ConflictingAccess
+ obj:/lib*/ld-*.so
+ obj:/lib*/ld-*.so
+ obj:/lib*/libgcc_s.so.1
+ obj:/lib*/libgcc_s.so.1
+ fun:_Unwind_ForcedUnwind
+ fun:__pthread_unwind
+}
+{
+ pthread-forced-unwind
+ drd:ConflictingAccess
+ fun:_Unwind_Find_FDE
+ obj:/lib*/libgcc_s.so.1
+ obj:/lib*/libgcc_s.so.1
+ fun:_Unwind_ForcedUnwind
+ fun:__pthread_unwind
+}
+{
+ pthread-forced-unwind
+ drd:ConflictingAccess
+ obj:/lib*/ld-*.so
+ obj:/lib*/ld-*.so
+ fun:_Unwind_Find_FDE
+ obj:/lib*/libgcc_s.so.1
+ obj:/lib*/libgcc_s.so.1
+ fun:_Unwind_ForcedUnwind
+ fun:__pthread_unwind
+}
+{
+ pthread-forced-unwind
+ drd:ConflictingAccess
+ fun:pthread_mutex_lock
+ fun:_Unwind_Find_FDE
+ obj:/lib*/libgcc_s.so.1
+ obj:/lib*/libgcc_s.so.1
+ fun:_Unwind_ForcedUnwind
+ fun:__pthread_unwind
+}
+{
+ pthread-forced-unwind
+ drd:ConflictingAccess
+ fun:pthread_mutex_unlock
+ fun:_Unwind_Find_FDE
+ obj:/lib*/libgcc_s.so.1
+ obj:/lib*/libgcc_s.so.1
+ fun:_Unwind_ForcedUnwind
+ fun:__pthread_unwind
+}
+{
gomp
drd:ConflictingAccess
obj:/usr/lib*/libgomp.so*
|
|
From: <sv...@va...> - 2008-09-27 12:41:01
|
Author: bart
Date: 2008-09-27 13:40:57 +0100 (Sat, 27 Sep 2008)
New Revision: 8640
Log:
Added intercept for pthread_cancel().
Modified:
trunk/drd/drd_pthread_intercepts.c
Modified: trunk/drd/drd_pthread_intercepts.c
===================================================================
--- trunk/drd/drd_pthread_intercepts.c 2008-09-27 12:36:48 UTC (rev 8639)
+++ trunk/drd/drd_pthread_intercepts.c 2008-09-27 12:40:57 UTC (rev 8640)
@@ -126,7 +126,10 @@
return mutex_type_invalid_mutex;
}
-static MutexT mutex_type(pthread_mutex_t* mutex)
+/** @note The function mutex_type() has been declared inline in order
+ * to avoid that it shows up in call stacks.
+ */
+static __inline__ MutexT mutex_type(pthread_mutex_t* mutex)
{
#if defined(HAVE_PTHREAD_MUTEX_T__M_KIND)
/* LinuxThreads. */
@@ -344,6 +347,21 @@
return ret;
}
+// pthread_cancel
+PTH_FUNC(int, pthreadZucancel, pthread_t pt_thread)
+{
+ int res;
+ int ret;
+ OrigFn fn;
+ VALGRIND_GET_ORIG_FN(fn);
+ VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_THREAD_CANCEL,
+ pt_thread, 0, 0, 0, 0);
+ CALL_FN_W_W(ret, fn, pt_thread);
+ VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_THREAD_CANCEL,
+ pt_thread, ret==0, 0, 0, 0);
+ return ret;
+}
+
// pthread_mutex_init
PTH_FUNC(int, pthreadZumutexZuinit,
pthread_mutex_t *mutex,
|
|
From: <sv...@va...> - 2008-09-27 12:36:52
|
Author: bart
Date: 2008-09-27 13:36:48 +0100 (Sat, 27 Sep 2008)
New Revision: 8639
Log:
Added client requests related to pthread_cancel().
Modified:
trunk/drd/drd_clientreq.c
trunk/drd/drd_clientreq.h
Modified: trunk/drd/drd_clientreq.c
===================================================================
--- trunk/drd/drd_clientreq.c 2008-09-27 12:36:13 UTC (rev 8638)
+++ trunk/drd/drd_clientreq.c 2008-09-27 12:36:48 UTC (rev 8639)
@@ -210,6 +210,16 @@
PtThreadIdToDrdThreadId(arg[1]));
break;
+ case VG_USERREQ__PRE_THREAD_CANCEL:
+ tl_assert(arg[1]);
+ drd_pre_thread_cancel(drd_tid, PtThreadIdToDrdThreadId(arg[1]));
+ break;
+
+ case VG_USERREQ__POST_THREAD_CANCEL:
+ tl_assert(arg[1]);
+ drd_post_thread_cancel(drd_tid, PtThreadIdToDrdThreadId(arg[1]), arg[2]);
+ break;
+
case VG_USERREQ__PRE_MUTEX_INIT:
if (thread_enter_synchr(drd_tid) == 0)
drd_pre_mutex_init(arg[1], arg[2]);
Modified: trunk/drd/drd_clientreq.h
===================================================================
--- trunk/drd/drd_clientreq.h 2008-09-27 12:36:13 UTC (rev 8638)
+++ trunk/drd/drd_clientreq.h 2008-09-27 12:36:48 UTC (rev 8639)
@@ -59,6 +59,13 @@
VG_USERREQ__POST_THREAD_JOIN,
/* args: pthread_t (joinee) */
+ /* To notify drd before a pthread_cancel call. */
+ VG_USERREQ__PRE_THREAD_CANCEL,
+ /* args: pthread_t */
+ /* To notify drd after a pthread_cancel call. */
+ VG_USERREQ__POST_THREAD_CANCEL,
+ /* args: pthread_t, Bool */
+
/* to notify the drd tool of a pthread_mutex_init call. */
VG_USERREQ__PRE_MUTEX_INIT,
/* args: Addr, MutexT */
|
|
From: <sv...@va...> - 2008-09-27 12:36:19
|
Author: bart
Date: 2008-09-27 13:36:13 +0100 (Sat, 27 Sep 2008)
New Revision: 8638
Log:
Added support for pthread_cancel() handling.
Modified:
trunk/drd/drd_main.c
trunk/drd/drd_track.h
Modified: trunk/drd/drd_main.c
===================================================================
--- trunk/drd/drd_main.c 2008-09-27 12:35:31 UTC (rev 8637)
+++ trunk/drd/drd_main.c 2008-09-27 12:36:13 UTC (rev 8638)
@@ -684,7 +684,14 @@
barrier_thread_delete(drd_joinee);
}
+void drd_pre_thread_cancel(DrdThreadId canceling, DrdThreadId canceled)
+{
+ thread_pre_cancel(canceled);
+}
+void drd_post_thread_cancel(DrdThreadId canceling, DrdThreadId canceled, Bool succeeded)
+{ }
+
/* Called after a thread has performed its last memory access. */
static void drd_thread_finished(ThreadId vg_tid)
{
Modified: trunk/drd/drd_track.h
===================================================================
--- trunk/drd/drd_track.h 2008-09-27 12:35:31 UTC (rev 8637)
+++ trunk/drd/drd_track.h 2008-09-27 12:36:13 UTC (rev 8638)
@@ -25,6 +25,9 @@
void drd_post_thread_join(DrdThreadId joiner, DrdThreadId joinee);
+void drd_pre_thread_cancel(DrdThreadId canceling, DrdThreadId canceled);
+void drd_post_thread_cancel(DrdThreadId canceling, DrdThreadId canceled, Bool succeeded);
+
void drd_pre_mutex_init(Addr mutex, const MutexT mutex_type);
void drd_post_mutex_destroy(Addr mutex, const MutexT mutex_type);
void drd_pre_mutex_lock(const Addr mutex, const MutexT mutex_type,
|
|
From: <sv...@va...> - 2008-09-27 12:35:37
|
Author: bart
Date: 2008-09-27 13:35:31 +0100 (Sat, 27 Sep 2008)
New Revision: 8637
Log:
Added more comments.
Modified:
trunk/drd/drd_thread.c
Modified: trunk/drd/drd_thread.c
===================================================================
--- trunk/drd/drd_thread.c 2008-09-27 12:26:50 UTC (rev 8636)
+++ trunk/drd/drd_thread.c 2008-09-27 12:35:31 UTC (rev 8637)
@@ -321,6 +321,7 @@
}
}
+/** Called just before pthread_cancel(). */
void thread_pre_cancel(const DrdThreadId tid)
{
tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
|
|
From: <sv...@va...> - 2008-09-27 12:26:53
|
Author: bart
Date: 2008-09-27 13:26:50 +0100 (Sat, 27 Sep 2008)
New Revision: 8636
Log:
Added thread_pre_cancel().
Modified:
trunk/drd/drd_thread.c
trunk/drd/drd_thread.h
Modified: trunk/drd/drd_thread.c
===================================================================
--- trunk/drd/drd_thread.c 2008-09-27 12:26:17 UTC (rev 8635)
+++ trunk/drd/drd_thread.c 2008-09-27 12:26:50 UTC (rev 8636)
@@ -321,6 +321,15 @@
}
}
+void thread_pre_cancel(const DrdThreadId tid)
+{
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
+ tl_assert(s_threadinfo[tid].pt_threadid != INVALID_POSIX_THREADID);
+
+ s_threadinfo[tid].synchr_nesting = 0;
+}
+
void thread_set_pthreadid(const DrdThreadId tid, const PThreadId ptid)
{
tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
Modified: trunk/drd/drd_thread.h
===================================================================
--- trunk/drd/drd_thread.h 2008-09-27 12:26:17 UTC (rev 8635)
+++ trunk/drd/drd_thread.h 2008-09-27 12:26:50 UTC (rev 8636)
@@ -103,6 +103,7 @@
DrdThreadId thread_post_create(const ThreadId vg_created);
void thread_delete(const DrdThreadId tid);
void thread_finished(const DrdThreadId tid);
+void thread_pre_cancel(const DrdThreadId tid);
void thread_set_stack_startup(const DrdThreadId tid, const Addr stack_startup);
Addr thread_get_stack_min(const DrdThreadId tid);
Addr thread_get_stack_min_min(const DrdThreadId tid);
|
|
From: <sv...@va...> - 2008-09-27 12:26:25
|
Author: bart
Date: 2008-09-27 13:26:17 +0100 (Sat, 27 Sep 2008)
New Revision: 8635
Log:
Added the pth_cancel_locked test.
Added:
trunk/drd/tests/pth_cancel_locked.c
trunk/drd/tests/pth_cancel_locked.stderr.exp
trunk/drd/tests/pth_cancel_locked.vgtest
Modified:
trunk/drd/tests/
trunk/drd/tests/Makefile.am
Property changes on: trunk/drd/tests
___________________________________________________________________
Name: svn:ignore
- *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
Makefile
Makefile.in
atomic_var
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
matinv
memory_allocation
new_delete
omp_matinv
omp_prime
pth_barrier
pth_barrier_reinit
pth_broadcast
pth_cond_race
pth_create_chain
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
+ *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
new_delete
omp_matinv
omp_prime
pth_barrier
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
vg_regtest.tmp*
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2008-09-22 09:17:03 UTC (rev 8634)
+++ trunk/drd/tests/Makefile.am 2008-09-27 12:26:17 UTC (rev 8635)
@@ -74,6 +74,8 @@
pth_barrier_reinit.vgtest \
pth_broadcast.stderr.exp \
pth_broadcast.vgtest \
+ pth_cancel_locked.stderr.exp \
+ pth_cancel_locked.vgtest \
pth_cond_race.stderr.exp \
pth_cond_race.vgtest \
pth_cond_race2.stderr.exp \
@@ -203,6 +205,7 @@
pth_barrier \
pth_barrier_reinit \
pth_broadcast \
+ pth_cancel_locked \
pth_cond_race \
pth_create_chain \
pth_detached \
@@ -299,6 +302,9 @@
pth_broadcast_SOURCES = pth_broadcast.c
pth_broadcast_LDADD = -lpthread
+pth_cancel_locked_SOURCES = pth_cancel_locked.c
+pth_cancel_locked_LDADD = -lpthread
+
pth_cond_race_SOURCES = pth_cond_race.c
pth_cond_race_LDADD = -lpthread
Added: trunk/drd/tests/pth_cancel_locked.c
===================================================================
--- trunk/drd/tests/pth_cancel_locked.c (rev 0)
+++ trunk/drd/tests/pth_cancel_locked.c 2008-09-27 12:26:17 UTC (rev 8635)
@@ -0,0 +1,51 @@
+/** Cancel a thread that holds a lock on a mutex. */
+
+
+#include <assert.h>
+#include <pthread.h>
+#include <stdio.h>
+
+
+pthread_cond_t s_cond;
+pthread_mutex_t s_mutex1;
+pthread_mutex_t s_mutex2;
+
+
+static void* thread(void* arg)
+{
+ /* Lock s_mutex2. */
+ pthread_mutex_lock(&s_mutex2);
+ /* Inform the main thread that s_mutex2 has been locked, and wait for pthread_cancel(). */
+ pthread_mutex_lock(&s_mutex1);
+ pthread_cond_signal(&s_cond);
+ pthread_cond_wait(&s_cond, &s_mutex1);
+ return 0;
+}
+
+int main(int argc, char** argv)
+{
+ pthread_t tid;
+
+ /* Initialize synchronization objects. */
+ pthread_cond_init(&s_cond, 0);
+ pthread_mutex_init(&s_mutex1, 0);
+ pthread_mutex_init(&s_mutex2, 0);
+
+ /* Create thread. */
+ pthread_mutex_lock(&s_mutex1);
+ pthread_create(&tid, 0, &thread, 0);
+
+ /* Wait until the created thread has locked s_mutex2. */
+ pthread_cond_wait(&s_cond, &s_mutex1);
+ pthread_mutex_unlock(&s_mutex1);
+
+ /* Cancel the created thread. */
+ pthread_cancel(tid);
+
+ /* Join the created thread. */
+ pthread_join(tid, 0);
+
+ fprintf(stderr, "Test finished.\n");
+
+ return 0;
+}
Added: trunk/drd/tests/pth_cancel_locked.stderr.exp
===================================================================
--- trunk/drd/tests/pth_cancel_locked.stderr.exp (rev 0)
+++ trunk/drd/tests/pth_cancel_locked.stderr.exp 2008-09-27 12:26:17 UTC (rev 8635)
@@ -0,0 +1,10 @@
+
+Mutex still locked at thread exit: mutex 0x........, recursion count 1, owner 2.
+ at 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_cancel_locked.c:?)
+mutex 0x........ was first observed at:
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_cancel_locked.c:?)
+Test finished.
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Added: trunk/drd/tests/pth_cancel_locked.vgtest
===================================================================
--- trunk/drd/tests/pth_cancel_locked.vgtest (rev 0)
+++ trunk/drd/tests/pth_cancel_locked.vgtest 2008-09-27 12:26:17 UTC (rev 8635)
@@ -0,0 +1,2 @@
+prereq: ./supported_libpthread
+prog: pth_cancel_locked
|
|
From: Tom H. <th...@cy...> - 2008-09-27 03:27:46
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-09-27 03:15: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 == 366 tests, 80 stderr failures, 2 stdout failures, 29 post failures == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/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) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) memcheck/tests/file_locking (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/bug152022 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) |
|
From: Tom H. <th...@cy...> - 2008-09-27 03:08:28
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-09-27 03:05: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 == 458 tests, 11 stderr failures, 3 stdout failures, 0 post failures == exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-09-27 02:49:20
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-09-27 03:25:06 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 == 462 tests, 13 stderr failures, 5 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) 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/blockfault (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2008-09-27 02:27:29
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-09-27 03:00: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 == 464 tests, 33 stderr failures, 4 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (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/cmdline2 (stdout) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) |