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
|
2
|
|
3
|
4
|
5
|
6
|
7
(1) |
8
|
9
|
|
10
|
11
|
12
(6) |
13
(4) |
14
(3) |
15
(1) |
16
(2) |
|
17
(7) |
18
(1) |
19
(5) |
20
(3) |
21
(1) |
22
(5) |
23
|
|
24
(1) |
25
(3) |
26
(2) |
27
(1) |
28
(2) |
29
(1) |
30
|
|
31
|
|
|
|
|
|
|
|
From: Matthias S. <zz...@ge...> - 2016-01-12 22:14:38
|
When compiling code that includes valgrind.h on visual studio I get compiler errors about VALGRIND_PRINTF: 1>include\Valgrind/valgrind.h(4493) : error C2220: warning treated as error - no 'object' file generated 1>include\Valgrind/valgrind.h(4493) : warning C4100: 'format' : unreferenced formal parameter 1>include\Valgrind/valgrind.h(4531) : warning C4100: 'format' : unreferenced formal parameter See https://bugs.kde.org/show_bug.cgi?id=356817 There are multiple ways to fix this issue. 1. Complicated one: extend the existing ifdef code with special NVALGRIND function versions for gcc and MSVC, see https://bugs.kde.org/attachment.cgi?id=96139 2. Simple one: have a function or macro with only "..." argument in the NVALGRIND case that does nothing. --- a/include/valgrind.h +++ b/include/valgrind.h @@ -6746,6 +6746,18 @@ typedef is the number of characters printed, excluding the "**<pid>** " part at the start and the backtrace (if present). */ +#if defined(_MSC_VER) && defined(NVALGRIND) +static int __inline VALGRIND_PRINTF(...) +{ + return 0; +} + +static int __inline VALGRIND_PRINTF_BACKTRACE(...) +{ + return 0; +} + +#else /* _MSC_VER && NVALGRIND */ #if defined(__GNUC__) || defined(__INTEL_COMPILER) && !defined(_MSC_VER) /* Modern GCC will optimize the static routine out if unused, and unused attribute will shut down warnings about it. */ @@ -6823,7 +6835,7 @@ VALGRIND_PRINTF_BACKTRACE(const char *format, ...) return (int)_qzz_res; #endif /* NVALGRIND */ } - +#endif /* _MSC_VER && NVALGRIND */ /* These requests allow control to move from the simulated CPU to the real CPU, calling an arbitary function. What do you think about this? Regards Matthias |
|
From: <sv...@va...> - 2016-01-12 20:32:38
|
Author: iraisr
Date: Tue Jan 12 20:32:31 2016
New Revision: 15757
Log:
Announce properly fix of:
357871 - pthread_spin_destroy not properly wrapped
Modified:
trunk/NEWS
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Tue Jan 12 20:32:31 2016
@@ -58,6 +58,7 @@
355454 do not intercept malloc related symbols from the runtime linker
356044 Dwarf line info reader misinterprets is_stmt register
357887 Fix a file handle leak. VG_(fclose) did not close the file
+357871 pthread_spin_destroy not properly wrapped
n-i-bz Fix incorrect (or infinite loop) unwind on RHEL7 x86 32 bits
n-i-bz massif --pages-as-heap=yes does not report peak caused by mmap+munmap
|
|
From: <sv...@va...> - 2016-01-12 20:31:27
|
Author: iraisr
Date: Tue Jan 12 20:31:15 2016
New Revision: 15756
Log:
Fix typo in Helgrind's wrapper of pthread_spin_destroy().
Patch provided by: Jason Dillaman <dil...@re...>.
Fixes BZ #357871.
Modified:
trunk/helgrind/hg_intercepts.c
trunk/helgrind/tests/tc20_verifywrap.c
trunk/helgrind/tests/tc20_verifywrap.stderr.exp
trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18
trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21
trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32
trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32-b
trunk/helgrind/tests/tc20_verifywrap.stderr.exp-s390x
trunk/helgrind/tests/tc20_verifywrap.stderr.exp-solaris
Modified: trunk/helgrind/hg_intercepts.c
==============================================================================
--- trunk/helgrind/hg_intercepts.c (original)
+++ trunk/helgrind/hg_intercepts.c Tue Jan 12 20:31:15 2016
@@ -1854,13 +1854,13 @@
return ret;
}
#if defined(VGO_linux)
- PTH_FUNC(int, pthreadZuspinZusdestroy, // pthread_spin_destroy
+ PTH_FUNC(int, pthreadZuspinZudestroy, // pthread_spin_destroy
pthread_spinlock_t *lock) {
return pthread_spin_destroy_WRK(lock);
}
#elif defined(VGO_darwin)
#elif defined(VGO_solaris)
- PTH_FUNC(int, pthreadZuspinZusdestroy, // pthread_spin_destroy
+ PTH_FUNC(int, pthreadZuspinZudestroy, // pthread_spin_destroy
pthread_spinlock_t *lock) {
return pthread_spin_destroy_WRK(lock);
}
Modified: trunk/helgrind/tests/tc20_verifywrap.c
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.c (original)
+++ trunk/helgrind/tests/tc20_verifywrap.c Tue Jan 12 20:31:15 2016
@@ -29,6 +29,11 @@
#endif
#endif /* __sun__ */
+typedef union {
+ pthread_spinlock_t spinlock;
+ pthread_rwlock_t rwlock;
+} spin_rw_lock;
+
short unprotected = 0;
void* lazy_child ( void* v ) {
@@ -236,6 +241,20 @@
r= pthread_rwlock_init( &rwl3, NULL ); assert(!r);
r= pthread_rwlock_rdlock( &rwl3 ); assert(!r);
+ /* --------- pthread_spin_* --------- */
+
+ fprintf(stderr,
+ "\n---------------- pthread_spin_* ----------------\n\n");
+
+ /* The following sequence verifies correct wrapping of pthread_spin_init()
+ and pthread_spin_destroy(). */
+ spin_rw_lock srwl1;
+ pthread_spin_init(&srwl1.spinlock, PTHREAD_PROCESS_PRIVATE);
+ pthread_spin_destroy(&srwl1.spinlock);
+
+ pthread_rwlock_init(&srwl1.rwlock, NULL);
+ pthread_rwlock_destroy(&srwl1.rwlock);
+
/* ------------- sem_* ------------- */
/* This is pretty lame, and duplicates tc18_semabuse.c. */
Modified: trunk/helgrind/tests/tc20_verifywrap.stderr.exp
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.stderr.exp (original)
+++ trunk/helgrind/tests/tc20_verifywrap.stderr.exp Tue Jan 12 20:31:15 2016
@@ -14,21 +14,21 @@
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:81)
+ by 0x........: main (tc20_verifywrap.c:86)
----------------------------------------------------------------
Possible data race during write of size 2 at 0x........ by thread #x
Locks held: none
- at 0x........: main (tc20_verifywrap.c:83)
+ at 0x........: main (tc20_verifywrap.c:88)
This conflicts with a previous write of size 2 by thread #x
Locks held: none
- at 0x........: racy_child (tc20_verifywrap.c:39)
+ at 0x........: racy_child (tc20_verifywrap.c:44)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
Location 0x........ is 0 bytes inside global var "unprotected"
- declared at tc20_verifywrap.c:32
+ declared at tc20_verifywrap.c:37
----------------------------------------------------------------
@@ -36,7 +36,7 @@
with error code 35 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:88)
+ by 0x........: main (tc20_verifywrap.c:93)
---------------- pthread_mutex_lock et al ----------------
@@ -46,14 +46,14 @@
Thread #x's call to pthread_mutex_init failed
with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:102)
+ by 0x........: main (tc20_verifywrap.c:107)
----------------------------------------------------------------
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -61,7 +61,7 @@
with error code 16 (EBUSY: Device or resource busy)
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -69,7 +69,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:118)
+ by 0x........: main (tc20_verifywrap.c:123)
----------------------------------------------------------------
@@ -77,7 +77,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:126)
+ by 0x........: main (tc20_verifywrap.c:131)
----------------------------------------------------------------
@@ -85,14 +85,14 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:131)
+ by 0x........: main (tc20_verifywrap.c:136)
----------------------------------------------------------------
Thread #x unlocked an invalid lock at 0x........
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
----------------------------------------------------------------
@@ -100,7 +100,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
---------------- pthread_cond_wait et al ----------------
@@ -110,7 +110,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
@@ -118,14 +118,14 @@
with error code 1 (EPERM: Operation not permitted)
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:162)
+ by 0x........: main (tc20_verifywrap.c:167)
FIXME: can't figure out how to verify wrap of pthread_cond_signal
@@ -135,7 +135,7 @@
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:168)
+ by 0x........: main (tc20_verifywrap.c:173)
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
@@ -145,7 +145,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
----------------------------------------------------------------
@@ -153,7 +153,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
---------------- pthread_rwlock_* ----------------
@@ -164,13 +164,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:189)
+ by 0x........: main (tc20_verifywrap.c:194)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:188)
+ by 0x........: main (tc20_verifywrap.c:193)
Location 0x........ is 0 bytes inside local var "rwl"
- declared at tc20_verifywrap.c:52, in frame #x of thread x
+ declared at tc20_verifywrap.c:57, in frame #x of thread x
(1) no error on next line
@@ -182,13 +182,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:206)
+ by 0x........: main (tc20_verifywrap.c:211)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
(4) no error on next line
@@ -202,14 +202,17 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:227)
+ by 0x........: main (tc20_verifywrap.c:232)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
+
+
+---------------- pthread_spin_* ----------------
---------------- sem_* ----------------
@@ -220,7 +223,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: sem_init_WRK (hg_intercepts.c:...)
by 0x........: sem_init@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:248)
+ by 0x........: main (tc20_verifywrap.c:267)
FIXME: can't figure out how to verify wrap of sem_destroy
@@ -230,7 +233,7 @@
Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
by 0x........: sem_wait (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:262)
+ by 0x........: main (tc20_verifywrap.c:281)
----------------------------------------------------------------
@@ -239,7 +242,7 @@
at 0x........: sem_post_WRK (hg_intercepts.c:...)
by 0x........: sem_post (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:265)
+ by 0x........: main (tc20_verifywrap.c:284)
FIXME: can't figure out how to verify wrap of sem_post
Modified: trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18 (original)
+++ trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.18 Tue Jan 12 20:31:15 2016
@@ -14,21 +14,21 @@
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:81)
+ by 0x........: main (tc20_verifywrap.c:86)
----------------------------------------------------------------
Possible data race during write of size 2 at 0x........ by thread #x
Locks held: none
- at 0x........: main (tc20_verifywrap.c:83)
+ at 0x........: main (tc20_verifywrap.c:88)
This conflicts with a previous write of size 2 by thread #x
Locks held: none
- at 0x........: racy_child (tc20_verifywrap.c:39)
+ at 0x........: racy_child (tc20_verifywrap.c:44)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
Location 0x........ is 0 bytes inside global var "unprotected"
- declared at tc20_verifywrap.c:32
+ declared at tc20_verifywrap.c:37
----------------------------------------------------------------
@@ -36,7 +36,7 @@
with error code 35 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:88)
+ by 0x........: main (tc20_verifywrap.c:93)
---------------- pthread_mutex_lock et al ----------------
@@ -46,14 +46,14 @@
Thread #x's call to pthread_mutex_init failed
with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:102)
+ by 0x........: main (tc20_verifywrap.c:107)
----------------------------------------------------------------
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -61,7 +61,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:118)
+ by 0x........: main (tc20_verifywrap.c:123)
----------------------------------------------------------------
@@ -69,7 +69,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:126)
+ by 0x........: main (tc20_verifywrap.c:131)
----------------------------------------------------------------
@@ -77,14 +77,14 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:131)
+ by 0x........: main (tc20_verifywrap.c:136)
----------------------------------------------------------------
Thread #x unlocked an invalid lock at 0x........
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
----------------------------------------------------------------
@@ -92,7 +92,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
---------------- pthread_cond_wait et al ----------------
@@ -102,7 +102,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
@@ -110,14 +110,14 @@
with error code 1 (EPERM: Operation not permitted)
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:162)
+ by 0x........: main (tc20_verifywrap.c:167)
FIXME: can't figure out how to verify wrap of pthread_cond_signal
@@ -127,7 +127,7 @@
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:168)
+ by 0x........: main (tc20_verifywrap.c:173)
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
@@ -137,7 +137,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
----------------------------------------------------------------
@@ -145,7 +145,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
---------------- pthread_rwlock_* ----------------
@@ -156,11 +156,11 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:189)
+ by 0x........: main (tc20_verifywrap.c:194)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:188)
+ by 0x........: main (tc20_verifywrap.c:193)
(1) no error on next line
(2) no error on next line
@@ -171,11 +171,11 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:206)
+ by 0x........: main (tc20_verifywrap.c:211)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
(4) no error on next line
(5) no error on next line
@@ -187,11 +187,15 @@
Thread #x unlocked a not-locked lock at 0x........
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:227)
+ by 0x........: main (tc20_verifywrap.c:232)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
+
+
+
+---------------- pthread_spin_* ----------------
---------------- sem_* ----------------
@@ -202,7 +206,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: sem_init_WRK (hg_intercepts.c:...)
by 0x........: sem_init@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:243)
+ by 0x........: main (tc20_verifywrap.c:267)
FIXME: can't figure out how to verify wrap of sem_destroy
@@ -212,7 +216,7 @@
Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
by 0x........: sem_wait (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:257)
+ by 0x........: main (tc20_verifywrap.c:281)
----------------------------------------------------------------
@@ -220,7 +224,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: sem_post_WRK (hg_intercepts.c:...)
by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:260)
+ by 0x........: main (tc20_verifywrap.c:284)
FIXME: can't figure out how to verify wrap of sem_post
Modified: trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21 (original)
+++ trunk/helgrind/tests/tc20_verifywrap.stderr.exp-glibc-2.21 Tue Jan 12 20:31:15 2016
@@ -14,21 +14,21 @@
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:81)
+ by 0x........: main (tc20_verifywrap.c:86)
----------------------------------------------------------------
Possible data race during write of size 2 at 0x........ by thread #x
Locks held: none
- at 0x........: main (tc20_verifywrap.c:83)
+ at 0x........: main (tc20_verifywrap.c:88)
This conflicts with a previous write of size 2 by thread #x
Locks held: none
- at 0x........: racy_child (tc20_verifywrap.c:39)
+ at 0x........: racy_child (tc20_verifywrap.c:44)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
Location 0x........ is 0 bytes inside global var "unprotected"
- declared at tc20_verifywrap.c:32
+ declared at tc20_verifywrap.c:37
----------------------------------------------------------------
@@ -36,7 +36,7 @@
with error code 35 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:88)
+ by 0x........: main (tc20_verifywrap.c:93)
---------------- pthread_mutex_lock et al ----------------
@@ -46,14 +46,14 @@
Thread #x's call to pthread_mutex_init failed
with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:102)
+ by 0x........: main (tc20_verifywrap.c:107)
----------------------------------------------------------------
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -61,7 +61,7 @@
with error code 16 (EBUSY: Device or resource busy)
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -69,7 +69,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:118)
+ by 0x........: main (tc20_verifywrap.c:123)
----------------------------------------------------------------
@@ -77,7 +77,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:126)
+ by 0x........: main (tc20_verifywrap.c:131)
----------------------------------------------------------------
@@ -85,14 +85,14 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:131)
+ by 0x........: main (tc20_verifywrap.c:136)
----------------------------------------------------------------
Thread #x unlocked an invalid lock at 0x........
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
----------------------------------------------------------------
@@ -100,7 +100,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
---------------- pthread_cond_wait et al ----------------
@@ -110,7 +110,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
@@ -118,14 +118,14 @@
with error code 1 (EPERM: Operation not permitted)
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:162)
+ by 0x........: main (tc20_verifywrap.c:167)
FIXME: can't figure out how to verify wrap of pthread_cond_signal
@@ -135,7 +135,7 @@
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:168)
+ by 0x........: main (tc20_verifywrap.c:173)
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
@@ -145,7 +145,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
----------------------------------------------------------------
@@ -153,7 +153,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
---------------- pthread_rwlock_* ----------------
@@ -164,13 +164,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:189)
+ by 0x........: main (tc20_verifywrap.c:194)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:188)
+ by 0x........: main (tc20_verifywrap.c:193)
Location 0x........ is 0 bytes inside local var "rwl"
- declared at tc20_verifywrap.c:52, in frame #x of thread x
+ declared at tc20_verifywrap.c:57, in frame #x of thread x
(1) no error on next line
@@ -182,13 +182,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:206)
+ by 0x........: main (tc20_verifywrap.c:211)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
(4) no error on next line
@@ -202,14 +202,17 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:227)
+ by 0x........: main (tc20_verifywrap.c:232)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
+
+
+---------------- pthread_spin_* ----------------
---------------- sem_* ----------------
@@ -220,7 +223,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: sem_init_WRK (hg_intercepts.c:...)
by 0x........: sem_init@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:248)
+ by 0x........: main (tc20_verifywrap.c:267)
FIXME: can't figure out how to verify wrap of sem_destroy
@@ -230,7 +233,7 @@
Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
by 0x........: sem_wait (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:262)
+ by 0x........: main (tc20_verifywrap.c:281)
FIXME: can't figure out how to verify wrap of sem_post
Modified: trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32 (original)
+++ trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32 Tue Jan 12 20:31:15 2016
@@ -14,21 +14,21 @@
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:81)
+ by 0x........: main (tc20_verifywrap.c:86)
----------------------------------------------------------------
Possible data race during write of size 2 at 0x........ by thread #x
Locks held: none
- at 0x........: main (tc20_verifywrap.c:83)
+ at 0x........: main (tc20_verifywrap.c:88)
This conflicts with a previous write of size 2 by thread #x
Locks held: none
- at 0x........: racy_child (tc20_verifywrap.c:39)
+ at 0x........: racy_child (tc20_verifywrap.c:44)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
Location 0x........ is 0 bytes inside global var "unprotected"
- declared at tc20_verifywrap.c:32
+ declared at tc20_verifywrap.c:37
----------------------------------------------------------------
@@ -36,7 +36,7 @@
with error code 45 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:88)
+ by 0x........: main (tc20_verifywrap.c:93)
---------------- pthread_mutex_lock et al ----------------
@@ -46,14 +46,14 @@
Thread #x's call to pthread_mutex_init failed
with error code 122 (EOPNOTSUPP: Operation not supported on transport endpoint)
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:102)
+ by 0x........: main (tc20_verifywrap.c:107)
----------------------------------------------------------------
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -61,7 +61,7 @@
with error code 16 (EBUSY: Device or resource busy)
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -69,7 +69,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:118)
+ by 0x........: main (tc20_verifywrap.c:123)
----------------------------------------------------------------
@@ -77,7 +77,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:126)
+ by 0x........: main (tc20_verifywrap.c:131)
----------------------------------------------------------------
@@ -85,14 +85,14 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:131)
+ by 0x........: main (tc20_verifywrap.c:136)
----------------------------------------------------------------
Thread #x unlocked an invalid lock at 0x........
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
----------------------------------------------------------------
@@ -100,7 +100,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
---------------- pthread_cond_wait et al ----------------
@@ -110,7 +110,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
@@ -118,14 +118,14 @@
with error code 1 (EPERM: Operation not permitted)
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:162)
+ by 0x........: main (tc20_verifywrap.c:167)
FIXME: can't figure out how to verify wrap of pthread_cond_signal
@@ -135,7 +135,7 @@
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:168)
+ by 0x........: main (tc20_verifywrap.c:173)
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
@@ -145,7 +145,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
----------------------------------------------------------------
@@ -153,7 +153,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
---------------- pthread_rwlock_* ----------------
@@ -164,13 +164,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:189)
+ by 0x........: main (tc20_verifywrap.c:194)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:188)
+ by 0x........: main (tc20_verifywrap.c:193)
Location 0x........ is 0 bytes inside local var "rwl"
- declared at tc20_verifywrap.c:52, in frame #x of thread x
+ declared at tc20_verifywrap.c:57, in frame #x of thread x
(1) no error on next line
@@ -182,13 +182,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:206)
+ by 0x........: main (tc20_verifywrap.c:211)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
(4) no error on next line
@@ -202,14 +202,17 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:227)
+ by 0x........: main (tc20_verifywrap.c:232)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
+
+
+---------------- pthread_spin_* ----------------
---------------- sem_* ----------------
@@ -220,7 +223,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: sem_init_WRK (hg_intercepts.c:...)
by 0x........: sem_init@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:248)
+ by 0x........: main (tc20_verifywrap.c:267)
FIXME: can't figure out how to verify wrap of sem_destroy
@@ -230,7 +233,7 @@
Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
by 0x........: sem_wait (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:262)
+ by 0x........: main (tc20_verifywrap.c:281)
FIXME: can't figure out how to verify wrap of sem_post
Modified: trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32-b
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32-b (original)
+++ trunk/helgrind/tests/tc20_verifywrap.stderr.exp-mips32-b Tue Jan 12 20:31:15 2016
@@ -14,21 +14,21 @@
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:81)
+ by 0x........: main (tc20_verifywrap.c:86)
----------------------------------------------------------------
Possible data race during write of size 2 at 0x........ by thread #x
Locks held: none
- at 0x........: main (tc20_verifywrap.c:83)
+ at 0x........: main (tc20_verifywrap.c:88)
This conflicts with a previous write of size 2 by thread #x
Locks held: none
- at 0x........: racy_child (tc20_verifywrap.c:39)
+ at 0x........: racy_child (tc20_verifywrap.c:44)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
Location 0x........ is 0 bytes inside global var "unprotected"
- declared at tc20_verifywrap.c:32
+ declared at tc20_verifywrap.c:37
----------------------------------------------------------------
@@ -36,7 +36,7 @@
with error code 45 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:88)
+ by 0x........: main (tc20_verifywrap.c:93)
---------------- pthread_mutex_lock et al ----------------
@@ -46,14 +46,14 @@
Thread #x's call to pthread_mutex_init failed
with error code 122 (EOPNOTSUPP: Operation not supported on transport endpoint)
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:102)
+ by 0x........: main (tc20_verifywrap.c:107)
----------------------------------------------------------------
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -61,7 +61,7 @@
with error code 16 (EBUSY: Device or resource busy)
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -69,7 +69,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:118)
+ by 0x........: main (tc20_verifywrap.c:123)
----------------------------------------------------------------
@@ -77,7 +77,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:126)
+ by 0x........: main (tc20_verifywrap.c:131)
----------------------------------------------------------------
@@ -85,14 +85,14 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:131)
+ by 0x........: main (tc20_verifywrap.c:136)
----------------------------------------------------------------
Thread #x unlocked an invalid lock at 0x........
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
----------------------------------------------------------------
@@ -100,7 +100,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
---------------- pthread_cond_wait et al ----------------
@@ -110,7 +110,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
@@ -118,14 +118,14 @@
with error code 1 (EPERM: Operation not permitted)
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:162)
+ by 0x........: main (tc20_verifywrap.c:167)
FIXME: can't figure out how to verify wrap of pthread_cond_signal
@@ -135,7 +135,7 @@
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:168)
+ by 0x........: main (tc20_verifywrap.c:173)
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
@@ -145,7 +145,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
----------------------------------------------------------------
@@ -153,7 +153,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
---------------- pthread_rwlock_* ----------------
@@ -164,13 +164,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:189)
+ by 0x........: main (tc20_verifywrap.c:194)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:188)
+ by 0x........: main (tc20_verifywrap.c:193)
Location 0x........ is 0 bytes inside local var "rwl"
- declared at tc20_verifywrap.c:52, in frame #x of thread x
+ declared at tc20_verifywrap.c:57, in frame #x of thread x
(1) no error on next line
@@ -182,13 +182,13 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:206)
+ by 0x........: main (tc20_verifywrap.c:211)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
(4) no error on next line
@@ -202,14 +202,17 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:227)
+ by 0x........: main (tc20_verifywrap.c:232)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
Location 0x........ is 0 bytes inside local var "rwl2"
- declared at tc20_verifywrap.c:53, in frame #x of thread x
+ declared at tc20_verifywrap.c:58, in frame #x of thread x
+
+
+---------------- pthread_spin_* ----------------
---------------- sem_* ----------------
@@ -220,7 +223,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: sem_init_WRK (hg_intercepts.c:...)
by 0x........: sem_init@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:248)
+ by 0x........: main (tc20_verifywrap.c:267)
FIXME: can't figure out how to verify wrap of sem_destroy
@@ -230,7 +233,7 @@
Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
by 0x........: sem_wait (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:262)
+ by 0x........: main (tc20_verifywrap.c:281)
----------------------------------------------------------------
@@ -239,7 +242,7 @@
at 0x........: sem_post_WRK (hg_intercepts.c:...)
by 0x........: sem_post (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:265)
+ by 0x........: main (tc20_verifywrap.c:284)
FIXME: can't figure out how to verify wrap of sem_post
Modified: trunk/helgrind/tests/tc20_verifywrap.stderr.exp-s390x
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.stderr.exp-s390x (original)
+++ trunk/helgrind/tests/tc20_verifywrap.stderr.exp-s390x Tue Jan 12 20:31:15 2016
@@ -15,22 +15,22 @@
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:81)
+ by 0x........: main (tc20_verifywrap.c:86)
----------------------------------------------------------------
Possible data race during write of size 2 at 0x........ by thread #x
Locks held: none
- at 0x........: main (tc20_verifywrap.c:83)
+ at 0x........: main (tc20_verifywrap.c:88)
This conflicts with a previous write of size 2 by thread #x
Locks held: none
- at 0x........: racy_child (tc20_verifywrap.c:39)
+ at 0x........: racy_child (tc20_verifywrap.c:44)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
Location 0x........ is 0 bytes inside global var "unprotected"
-declared at tc20_verifywrap.c:32
+declared at tc20_verifywrap.c:37
----------------------------------------------------------------
@@ -38,7 +38,7 @@
with error code 35 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:88)
+ by 0x........: main (tc20_verifywrap.c:93)
---------------- pthread_mutex_lock et al ----------------
@@ -48,14 +48,14 @@
Thread #x's call to pthread_mutex_init failed
with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:102)
+ by 0x........: main (tc20_verifywrap.c:107)
----------------------------------------------------------------
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -63,7 +63,7 @@
with error code 16 (EBUSY: Device or resource busy)
at 0x........: mutex_destroy_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:112)
+ by 0x........: main (tc20_verifywrap.c:117)
----------------------------------------------------------------
@@ -71,7 +71,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_lock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:118)
+ by 0x........: main (tc20_verifywrap.c:123)
----------------------------------------------------------------
@@ -79,7 +79,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_trylock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:126)
+ by 0x........: main (tc20_verifywrap.c:131)
----------------------------------------------------------------
@@ -87,14 +87,14 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_timedlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:131)
+ by 0x........: main (tc20_verifywrap.c:136)
----------------------------------------------------------------
Thread #x unlocked an invalid lock at 0x........
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
----------------------------------------------------------------
@@ -102,7 +102,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: mutex_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:135)
+ by 0x........: main (tc20_verifywrap.c:140)
---------------- pthread_cond_wait et al ----------------
@@ -112,7 +112,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
@@ -120,14 +120,14 @@
with error code 1 (EPERM: Operation not permitted)
at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:157)
+ by 0x........: main (tc20_verifywrap.c:162)
----------------------------------------------------------------
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:162)
+ by 0x........: main (tc20_verifywrap.c:167)
FIXME: can't figure out how to verify wrap of pthread_cond_signal
@@ -137,7 +137,7 @@
Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:168)
+ by 0x........: main (tc20_verifywrap.c:173)
FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
@@ -147,7 +147,7 @@
Thread #x: pthread_cond_{timed}wait called with un-held mutex
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
----------------------------------------------------------------
@@ -155,7 +155,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:175)
+ by 0x........: main (tc20_verifywrap.c:180)
---------------- pthread_rwlock_* ----------------
@@ -166,11 +166,11 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:189)
+ by 0x........: main (tc20_verifywrap.c:194)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:188)
+ by 0x........: main (tc20_verifywrap.c:193)
(1) no error on next line
(2) no error on next line
@@ -181,11 +181,11 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:206)
+ by 0x........: main (tc20_verifywrap.c:211)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
(4) no error on next line
(5) no error on next line
@@ -198,11 +198,15 @@
at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
...
- by 0x........: main (tc20_verifywrap.c:227)
+ by 0x........: main (tc20_verifywrap.c:232)
Lock at 0x........ was first observed
at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:196)
+ by 0x........: main (tc20_verifywrap.c:201)
+
+
+
+---------------- pthread_spin_* ----------------
---------------- sem_* ----------------
@@ -213,7 +217,7 @@
with error code 22 (EINVAL: Invalid argument)
at 0x........: sem_init_WRK (hg_intercepts.c:...)
by 0x........: sem_init@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:243)
+ by 0x........: main (tc20_verifywrap.c:267)
FIXME: can't figure out how to verify wrap of sem_destroy
@@ -223,7 +227,7 @@
Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
by 0x........: sem_wait (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:257)
+ by 0x........: main (tc20_verifywrap.c:281)
FIXME: can't figure out how to verify wrap of sem_post
Modified: trunk/helgrind/tests/tc20_verifywrap.stderr.exp-solaris
==============================================================================
--- trunk/helgrind/tests/tc20_verifywrap.stderr.exp-solaris (original)
+++ trunk/helgrind/tests/tc20_verifywrap.stderr.exp-solaris Tue Jan 12 20:31:15 2016
@@ -14,21 +14,21 @@
Thread #x was created
...
by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:81)
+ by 0x........: main (tc20_verifywrap.c:86)
---------------...
[truncated message content] |
|
From: Josef W. <Jos...@gm...> - 2016-01-12 19:37:11
|
Am 12.01.2016 um 19:58 schrieb Matthias Schwarzott: > Am 12.01.2016 um 15:32 schrieb sv...@va...: > Wow, that could explain why callgrind did crash for me with > --separate-threads=yes and --dump-every-bb after some time. That also means that I should fix cg to print a meaningful message when an output file cannot be created due to running out of file descriptors :-) Josef |
|
From: Matthias S. <zz...@ge...> - 2016-01-12 18:59:16
|
Am 12.01.2016 um 15:32 schrieb sv...@va...: > Author: florian > Date: Tue Jan 12 14:32:05 2016 > New Revision: 15755 > > Log: > VG_(fclose) ought to close the file, you silly. Fixes BZ #357887. > Wow, that could explain why callgrind did crash for me with --separate-threads=yes and --dump-every-bb after some time. I thought it was caused by kcachegrind triggering snapshotting to often. Doing a quick check like the following shows that it was just running out of file descriptors: # strace -o vg.strace.log valgrind --tool=callgrind--separate-threads=yes --dump-every-bb=20 kate Thanks for fixing this one. Regards Matthias |
|
From: <sv...@va...> - 2016-01-12 14:32:13
|
Author: florian
Date: Tue Jan 12 14:32:05 2016
New Revision: 15755
Log:
VG_(fclose) ought to close the file, you silly. Fixes BZ #357887.
Modified:
trunk/NEWS
trunk/coregrind/m_libcprint.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Tue Jan 12 14:32:05 2016
@@ -57,6 +57,7 @@
355455 stderr.exp of test cases wrapmalloc and wrapmallocstatic overconstrained
355454 do not intercept malloc related symbols from the runtime linker
356044 Dwarf line info reader misinterprets is_stmt register
+357887 Fix a file handle leak. VG_(fclose) did not close the file
n-i-bz Fix incorrect (or infinite loop) unwind on RHEL7 x86 32 bits
n-i-bz massif --pages-as-heap=yes does not report peak caused by mmap+munmap
Modified: trunk/coregrind/m_libcprint.c
==============================================================================
--- trunk/coregrind/m_libcprint.c (original)
+++ trunk/coregrind/m_libcprint.c Tue Jan 12 14:32:05 2016
@@ -359,6 +359,7 @@
if (fp->num_chars)
VG_(write)(fp->fd, fp->buf, fp->num_chars);
+ VG_(close)(fp->fd);
VG_(free)(fp);
}
|