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
(9) |
2
(11) |
3
(3) |
4
(7) |
5
(15) |
|
6
(10) |
7
(9) |
8
(12) |
9
(10) |
10
(6) |
11
(12) |
12
(12) |
|
13
(11) |
14
(14) |
15
(18) |
16
(15) |
17
(19) |
18
(15) |
19
(9) |
|
20
|
21
(5) |
22
(10) |
23
(15) |
24
(18) |
25
(20) |
26
(15) |
|
27
(14) |
28
(11) |
29
(17) |
30
(17) |
31
(23) |
|
|
Author: philippe
Date: Wed Jul 30 22:20:29 2014
New Revision: 14214
Log:
Fix dangling ref in m_errormgr.c + report all uninit fields in a syscall param
Some syscall verification code is allocating memory to generate
the string used to build an error, e.g. syswrap-generic.c verifying fields of
e.g socket addresses (pre_mem_read_sockaddr) or sendmsg/recvmsg args
(msghdr_foreachfield)
The allocated pointer was copied in the error created by VG_(maybe_record_error).
This was wrong for 2 reasons:
1. If the error is a new error, it is stored in a list of errors,
but the string memory was freed by pre_mem_read_sockaddr, msghdr_foreachfield, ...
This causes a dangling reference. Was at least visible when giving -v, which
re-prints all errors at the end of execution.
Probably this could have some consequences during run while generating new errors,
and comparing for equality with a recorded error having a dangling reference.
2. the same allocated string is re-used for each piece/field of the verified struct.
The code in mc_errors.c that checks that 2 errors are identical was then wrongly
considereing that 2 successive errors for 2 different fields for the same syscall
arg are identical, just because the error string happened to be produced at
the same address.
(it is believed that initially, the error string was assumed to be a static
string, which is not the case anymore, causing the above 2 problems).
Changes:
* The fix consists in duplicating in m_errormgr.c the given error string when
the error is recorded. In other words, the error string is now duplicated similarly
to the (optional) extra component of the error.
* memcheck/tests/linux/rfcomm.c test modified as now an error is reported
for each uninit field.
* socketaddr unknown family is also better reported (using sa_data field name,
rather than an empty field name.
* minor reformatting in m_errormgr.c, to be below 80 characters.
Some notes:
1. the string is only duplicated if the error is recorded
(ie. printed or the first time an error matches a suppression).
The string is not duplicated for duplicated errors or following errors
matching the first (suppressed) error.
The string is also not duplicated for 'unique errors' (that are printed
and then not recorded).
2. duplicating the string for each recorded error is not deemed to
use a lot of memory:
* error strings are usually NULL or short (often 10 bytes or so).
* we expect no program has a huge number of errors
If ever this string duplicate would be significant, having a DedupPoolAlloc
in m_errormgr.c for these strings would reduce this memory (as we expect to
have very few different strings, even with millions of errors).
Modified:
trunk/NEWS
trunk/coregrind/m_errormgr.c
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/include/pub_tool_errormgr.h
trunk/memcheck/tests/linux/rfcomm.c
trunk/memcheck/tests/linux/rfcomm.stderr.exp
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed Jul 30 22:20:29 2014
@@ -16,6 +16,10 @@
- new leak check heuristic 'length64' to detect interior pointers
pointing at offset 64bit of a block, when the first 8 bytes contains
the block size - 8. This is e.g. used by sqlite3MemMalloc.
+ - if a syscall param (e.g. bind struct sockaddr, sendmsg struct msghdr,
+ ...) has several fields not initialised, an error is now reported for
+ each field. Previously, an error was reported only for the first wrong
+ field.
* Helgrind:
- Race condition error message with allocated blocks also show
Modified: trunk/coregrind/m_errormgr.c
==============================================================================
--- trunk/coregrind/m_errormgr.c (original)
+++ trunk/coregrind/m_errormgr.c Wed Jul 30 22:20:29 2014
@@ -677,7 +677,8 @@
All detected errors are notified here; this routine decides if/when the
user should see the error. */
void VG_(maybe_record_error) ( ThreadId tid,
- ErrorKind ekind, Addr a, const HChar* s, void* extra )
+ ErrorKind ekind, Addr a,
+ const HChar* s, void* extra )
{
Error err;
Error* p;
@@ -818,9 +819,17 @@
break;
}
+ /* copy the error string, if there is one.
+ note: if we would have many errors with big strings, using a
+ DedupPoolAlloc for these strings will avoid duplicating
+ such string in each error using it. */
+ if (NULL != p->string) {
+ p->string = VG_(arena_strdup)(VG_AR_CORE, "errormgr.mre.2", p->string);
+ }
+
/* copy block pointed to by 'extra', if there is one */
if (NULL != p->extra && 0 != extra_size) {
- void* new_extra = VG_(malloc)("errormgr.mre.2", extra_size);
+ void* new_extra = VG_(malloc)("errormgr.mre.3", extra_size);
VG_(memcpy)(new_extra, p->extra, extra_size);
p->extra = new_extra;
}
@@ -870,7 +879,7 @@
Then update the 'extra' part with VG_(tdict).tool_update_extra),
because that can have an affect on whether it's suppressed. Ignore
the size return value of VG_(tdict).tool_update_extra, because we're
- not copying 'extra'. */
+ not copying 'extra'. Similarly, 's' is also not copied. */
(void)VG_TDICT_CALL(tool_update_extra, &err);
su = is_suppressible_error(&err);
@@ -1514,10 +1523,11 @@
// n_expanded >= n_ips_expanded.
Int* n_offsets_per_ip;
- // n_offsets_per_ip[i] gives the nr of offsets in fun_offsets and obj_offsets
- // resulting of the expansion of ips[i].
+ // n_offsets_per_ip[i] gives the nr of offsets in fun_offsets and
+ // obj_offsets resulting of the expansion of ips[i].
// The sum of all n_expanded_per_ip must be equal to n_expanded.
- // This array allows to retrieve the position in ips corresponding to an ixInput.
+ // This array allows to retrieve the position in ips corresponding to
+ // an ixInput.
// size (in elements) of fun_offsets and obj_offsets.
// (fun|obj)_offsets are reallocated if more space is needed
@@ -1570,9 +1580,10 @@
}
/* free the memory in ip2fo.
- At debuglog 4, su (or NULL) will be used to show the matching (or non matching)
- with ip2fo. */
-static void clearIPtoFunOrObjCompleter ( Supp *su, IPtoFunOrObjCompleter* ip2fo)
+ At debuglog 4, su (or NULL) will be used to show the matching
+ (or non matching) with ip2fo. */
+static void clearIPtoFunOrObjCompleter ( Supp *su,
+ IPtoFunOrObjCompleter* ip2fo)
{
if (DEBUG_ERRORMGR || VG_(debugLog_getLevel)() >= 4) {
if (su)
@@ -1672,7 +1683,8 @@
i++) {
ip2fo->obj_offsets[i] = ip2fo->names_free;
if (DEBUG_ERRORMGR)
- VG_(printf) (" set obj_offset %lu to %d\n", i, ip2fo->names_free);
+ VG_(printf) (" set obj_offset %lu to %d\n",
+ i, ip2fo->names_free);
}
}
ip2fo->names_free += VG_(strlen)(caller_name) + 1;
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c Wed Jul 30 22:20:29 2014
@@ -1074,8 +1074,13 @@
#endif
default:
- VG_(sprintf) ( outmsg, description, "" );
- PRE_MEM_READ( outmsg, (Addr) sa, salen );
+ /* No specific information about this address family.
+ Let's just check the full data following the family.
+ Note that this can give false positive if this (unknown)
+ struct sockaddr_???? has padding bytes between its elements. */
+ VG_(sprintf) ( outmsg, description, "sa_data" );
+ PRE_MEM_READ( outmsg, (Addr)&sa->sa_family + sizeof(sa->sa_family),
+ salen );
break;
}
Modified: trunk/include/pub_tool_errormgr.h
==============================================================================
--- trunk/include/pub_tool_errormgr.h (original)
+++ trunk/include/pub_tool_errormgr.h Wed Jul 30 22:20:29 2014
@@ -66,9 +66,15 @@
seen before. If it has, the existing error record will have its count
incremented.
- 'tid' can be found as for VG_(record_ExeContext)(). The `extra' field can
- be stack-allocated; it will be copied by the core if needed (but it
- won't be copied if it's NULL).
+ 'tid' can be found as for VG_(record_ExeContext)(). The `s' string
+ and `extra' field can be stack-allocated; they will be copied by the core
+ if needed (but it won't be copied if it's NULL).
+ Note that `ekind' and `s' are also used to generate a suppression.
+ `s' should therefore not contain data depending on the specific
+ execution (such as addresses, values) but should rather contain
+ e.g. a system call parameter symbolic name.
+ `extra' is also (optionally) used for generating a suppression
+ (see pub_tool_tooliface.h print_extra_suppression_info).
If no 'a', 's' or 'extra' of interest needs to be recorded, just use
NULL for them. */
Modified: trunk/memcheck/tests/linux/rfcomm.c
==============================================================================
--- trunk/memcheck/tests/linux/rfcomm.c (original)
+++ trunk/memcheck/tests/linux/rfcomm.c Wed Jul 30 22:20:29 2014
@@ -3,6 +3,7 @@
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
+#include "../../memcheck.h"
/* user space headers might not be there, define things ourselves. */
typedef struct {
@@ -34,20 +35,39 @@
}
struct vui_sockaddr_rc aAddr;
+
+ // Store correct values in aAddr but marking it undefined
+ // so as to generate errors. We need to have deterministic
+ // undefined values to have a reproducible test.
+ aAddr.rc_family = VUI_AF_BLUETOOTH;
+ aAddr.rc_bdaddr = *VUI_BDADDR_ANY;
+ aAddr.rc_channel = 5;
+ VALGRIND_MAKE_MEM_UNDEFINED(&aAddr, sizeof(aAddr));
+ // We re-assign below each piece one by one, so as to
+ // have the piece marked initialised.
+
+
// Ignore return values.
- // Missing family
+ // Everything uninit (family, ...)
+ bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
+
+ // Same but with an unknown family (we hope :)
+ aAddr.rc_family = 12345;
+ // (reset everything to uninit)
+ VALGRIND_MAKE_MEM_UNDEFINED(&aAddr, sizeof(aAddr));
bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
aAddr.rc_family = VUI_AF_BLUETOOTH;
- // Missing bdaddr.
+ // uninit bdaddr and channel.
bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
aAddr.rc_bdaddr = *VUI_BDADDR_ANY;
- // Missing channel.
+ // uninit channel.
bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
aAddr.rc_channel = 5;
+ // Everything correctly init.
bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
return 0;
Modified: trunk/memcheck/tests/linux/rfcomm.stderr.exp
==============================================================================
--- trunk/memcheck/tests/linux/rfcomm.stderr.exp (original)
+++ trunk/memcheck/tests/linux/rfcomm.stderr.exp Wed Jul 30 22:20:29 2014
@@ -1,24 +1,64 @@
Syscall param socketcall.bind(my_addr.sa_family) points to uninitialised byte(s)
...
- by 0x........: main (rfcomm.c:40)
+ by 0x........: main (rfcomm.c:53)
Address 0x........ is on thread 1's stack
- in frame #1, created by main (rfcomm.c:25)
- Uninitialised value was created by a stack allocation
- at 0x........: main (rfcomm.c:25)
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:45)
Syscall param socketcall.bind(my_addr.rc_bdaddr) points to uninitialised byte(s)
...
- by 0x........: main (rfcomm.c:44)
+ by 0x........: main (rfcomm.c:53)
Address 0x........ is on thread 1's stack
- in frame #1, created by main (rfcomm.c:25)
- Uninitialised value was created by a stack allocation
- at 0x........: main (rfcomm.c:25)
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:45)
Syscall param socketcall.bind(my_addr.rc_channel) points to uninitialised byte(s)
...
- by 0x........: main (rfcomm.c:48)
+ by 0x........: main (rfcomm.c:53)
Address 0x........ is on thread 1's stack
- in frame #1, created by main (rfcomm.c:25)
- Uninitialised value was created by a stack allocation
- at 0x........: main (rfcomm.c:25)
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:45)
+
+Syscall param socketcall.bind(my_addr.sa_family) points to uninitialised byte(s)
+ ...
+ by 0x........: main (rfcomm.c:59)
+ Address 0x........ is on thread 1's stack
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:58)
+
+Syscall param socketcall.bind(my_addr.sa_data) points to uninitialised byte(s)
+ ...
+ by 0x........: main (rfcomm.c:59)
+ Address 0x........ is on thread 1's stack
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:58)
+
+Syscall param socketcall.bind(my_addr.rc_bdaddr) points to uninitialised byte(s)
+ ...
+ by 0x........: main (rfcomm.c:63)
+ Address 0x........ is on thread 1's stack
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:58)
+
+Syscall param socketcall.bind(my_addr.rc_channel) points to uninitialised byte(s)
+ ...
+ by 0x........: main (rfcomm.c:63)
+ Address 0x........ is on thread 1's stack
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:58)
+
+Syscall param socketcall.bind(my_addr.rc_channel) points to uninitialised byte(s)
+ ...
+ by 0x........: main (rfcomm.c:67)
+ Address 0x........ is on thread 1's stack
+ in frame #1, created by main (rfcomm.c:26)
+ Uninitialised value was created by a client request
+ at 0x........: main (rfcomm.c:58)
|
|
From: <sv...@va...> - 2014-07-30 21:14:43
|
Author: florian
Date: Wed Jul 30 21:14:34 2014
New Revision: 14213
Log:
Remove PATH_MAX limitation from linux launcher.
Modified:
branches/BUF_REMOVAL/coregrind/launcher-linux.c
Modified: branches/BUF_REMOVAL/coregrind/launcher-linux.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/launcher-linux.c (original)
+++ branches/BUF_REMOVAL/coregrind/launcher-linux.c Wed Jul 30 21:14:34 2014
@@ -271,7 +271,7 @@
const char *default_platform;
const char *cp;
char *toolfile;
- char launcher_name[PATH_MAX+1];
+ const char *launcher_name;
char* new_line;
char** new_env;
@@ -349,17 +349,34 @@
/* Figure out the name of this executable (viz, the launcher), so
we can tell stage2. stage2 will use the name for recursive
invocations of valgrind on child processes. */
- memset(launcher_name, 0, PATH_MAX+1);
- r = readlink("/proc/self/exe", launcher_name, PATH_MAX);
- if (r == -1) {
- /* If /proc/self/exe can't be followed, don't give up. Instead
- continue with an empty string for VALGRIND_LAUNCHER. In the
- sys_execve wrapper, this is tested, and if found to be empty,
- fail the execve. */
- fprintf(stderr, "valgrind: warning (non-fatal): "
- "readlink(\"/proc/self/exe\") failed.\n");
- fprintf(stderr, "valgrind: continuing, however --trace-children=yes "
- "will not work.\n");
+ unsigned bufsiz = 0;
+ char *buf = NULL;
+
+ while (42) {
+ bufsiz += PATH_MAX;
+ buf = realloc(buf, bufsiz);
+ if (buf == NULL)
+ barf("realloc of buf failed.");
+ r = readlink("/proc/self/exe", buf, bufsiz);
+ if (r == -1) {
+ /* If /proc/self/exe can't be followed, don't give up. Instead
+ continue with an empty string for VALGRIND_LAUNCHER. In the
+ sys_execve wrapper, this is tested, and if found to be empty,
+ fail the execve. */
+ fprintf(stderr, "valgrind: warning (non-fatal): "
+ "readlink(\"/proc/self/exe\") failed.\n");
+ fprintf(stderr, "valgrind: continuing, however --trace-children=yes "
+ "will not work.\n");
+ launcher_name = "";
+ break;
+ }
+ if (r == bufsiz) continue; // buffer to small; retry
+
+ assert(r < bufsiz); // paranoia
+
+ buf[r] = '\0';
+ launcher_name = buf;
+ break;
}
/* tediously augment the env: VALGRIND_LAUNCHER=launcher_name */
|
|
From: <sv...@va...> - 2014-07-30 20:45:17
|
Author: florian
Date: Wed Jul 30 20:45:09 2014
New Revision: 14212
Log:
There was a comment in the code that dynamic memory allocation could
not be used. But that is no longer true.
Rewritten to avoid fixed size buffers.
Clean up #includes.
Modified:
branches/BUF_REMOVAL/coregrind/m_initimg/initimg-pathscan.c
Modified: branches/BUF_REMOVAL/coregrind/m_initimg/initimg-pathscan.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_initimg/initimg-pathscan.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_initimg/initimg-pathscan.c Wed Jul 30 20:45:09 2014
@@ -29,21 +29,12 @@
*/
#include "pub_core_basics.h"
-#include "pub_core_vki.h"
-#include "pub_core_debuglog.h"
#include "pub_core_libcbase.h"
#include "pub_core_libcassert.h"
#include "pub_core_libcfile.h"
#include "pub_core_libcproc.h"
#include "pub_core_libcprint.h"
-#include "pub_core_xarray.h"
-#include "pub_core_clientstate.h"
-#include "pub_core_aspacemgr.h"
#include "pub_core_mallocfree.h"
-#include "pub_core_machine.h"
-#include "pub_core_ume.h"
-#include "pub_core_options.h"
-#include "pub_core_tooliface.h" /* VG_TRACK */
#include "pub_core_initimg.h" /* self */
#include "priv_initimg_pathscan.h"
@@ -92,19 +83,19 @@
return False;
}
-/* Need a static copy because can't use dynamic mem allocation yet */
-static HChar executable_name_in [VKI_PATH_MAX];
-static HChar executable_name_out[VKI_PATH_MAX];
+
+static const HChar *executable_name_in;
+static HChar *executable_name_out;
static Bool match_executable(const HChar *entry)
{
- HChar buf[VG_(strlen)(entry) + VG_(strlen)(executable_name_in) + 3];
-
- /* empty PATH element means '.' */
+ /* empty ENTRY element means '.' */
if (*entry == '\0')
entry = ".";
- VG_(snprintf)(buf, sizeof(buf), "%s/%s", entry, executable_name_in);
+ HChar buf[VG_(strlen)(entry) + 1 + VG_(strlen)(executable_name_in) + 1];
+
+ VG_(sprintf)(buf, "%s/%s", entry, executable_name_in);
// Don't match directories
if (VG_(is_dir)(buf))
@@ -114,14 +105,16 @@
// matching non-executable we remember it but keep looking for an
// matching executable later in the path.
if (VG_(access)(buf, True/*r*/, False/*w*/, True/*x*/) == 0) {
- VG_(strncpy)( executable_name_out, buf, VKI_PATH_MAX-1 );
- executable_name_out[VKI_PATH_MAX-1] = 0;
+ if (executable_name_out)
+ VG_(arena_free)(VG_AR_CORE, executable_name_out);
+ executable_name_out =
+ VG_(arena_strdup)(VG_AR_CORE, "match_executable", buf);
return True; // Stop looking
} else if (VG_(access)(buf, True/*r*/, False/*w*/, False/*x*/) == 0
- && VG_STREQ(executable_name_out, ""))
+ && executable_name_out == NULL)
{
- VG_(strncpy)( executable_name_out, buf, VKI_PATH_MAX-1 );
- executable_name_out[VKI_PATH_MAX-1] = 0;
+ executable_name_out =
+ VG_(arena_strdup)(VG_AR_CORE, "match_executable", buf);
return False; // Keep looking
} else {
return False; // Keep looking
@@ -132,18 +125,23 @@
const HChar* ML_(find_executable) ( const HChar* exec )
{
vg_assert(NULL != exec);
+
if (VG_(strchr)(exec, '/')) {
- // Has a '/' - use the name as is
- VG_(strncpy)( executable_name_out, exec, VKI_PATH_MAX-1 );
- } else {
- // No '/' - we need to search the path
- HChar* path;
- VG_(strncpy)( executable_name_in, exec, VKI_PATH_MAX-1 );
- VG_(memset) ( executable_name_out, 0, VKI_PATH_MAX );
- path = VG_(getenv)("PATH");
- scan_colsep(path, match_executable);
+ // Has a '/' - use the name as is even if exec is a directory.
+ // The reason is that we get a better error message this way:
+ // valgrind ./foo
+ // valgrind: ./foo: is a directory
+ return exec;
}
- return VG_STREQ(executable_name_out, "") ? NULL : executable_name_out;
+
+ // No '/' - we need to search the path
+ HChar* path = VG_(getenv)("PATH");
+
+ executable_name_in = exec;
+ executable_name_out = NULL;
+ scan_colsep(path, match_executable);
+
+ return executable_name_out;
}
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2014-07-30 18:41:01
|
Author: florian
Date: Wed Jul 30 18:40:52 2014
New Revision: 14211
Log:
Fix copyright years.
Modified:
trunk/coregrind/m_initimg/priv_initimg_pathscan.h
Modified: trunk/coregrind/m_initimg/priv_initimg_pathscan.h
==============================================================================
--- trunk/coregrind/m_initimg/priv_initimg_pathscan.h (original)
+++ trunk/coregrind/m_initimg/priv_initimg_pathscan.h Wed Jul 30 18:40:52 2014
@@ -8,7 +8,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
- Copyright (C) 2006-2007 OpenWorks LLP
+ Copyright (C) 2006-2013 OpenWorks LLP
in...@op...
This program is free software; you can redistribute it and/or
|
Author: florian
Date: Wed Jul 30 14:24:10 2014
New Revision: 14210
Log:
Change VG_(readlink) and VG_(resolve_filename) to return pointer to
dynamically allocated string which will be overwritten with each
invocation. Fix call sites.
Modified:
branches/BUF_REMOVAL/coregrind/m_coredump/coredump-elf.c
branches/BUF_REMOVAL/coregrind/m_debuginfo/debuginfo.c
branches/BUF_REMOVAL/coregrind/m_libcfile.c
branches/BUF_REMOVAL/coregrind/m_syswrap/syswrap-generic.c
branches/BUF_REMOVAL/coregrind/pub_core_libcfile.h
branches/BUF_REMOVAL/include/pub_tool_libcfile.h
Modified: branches/BUF_REMOVAL/coregrind/m_coredump/coredump-elf.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_coredump/coredump-elf.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_coredump/coredump-elf.c Wed Jul 30 14:24:10 2014
@@ -193,7 +193,7 @@
static void fill_prpsinfo(const ThreadState *tst,
struct vki_elf_prpsinfo *prpsinfo)
{
- static HChar name[VKI_PATH_MAX];
+ HChar *name;
VG_(memset)(prpsinfo, 0, sizeof(*prpsinfo));
@@ -220,7 +220,7 @@
prpsinfo->pr_uid = 0;
prpsinfo->pr_gid = 0;
- if (VG_(resolve_filename)(VG_(cl_exec_fd), name, VKI_PATH_MAX)) {
+ if (VG_(resolve_filename)(VG_(cl_exec_fd), &name)) {
HChar *n = name+VG_(strlen)(name)-1;
while (n > name && *n != '/')
Modified: branches/BUF_REMOVAL/coregrind/m_debuginfo/debuginfo.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_debuginfo/debuginfo.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_debuginfo/debuginfo.c Wed Jul 30 14:24:10 2014
@@ -1090,7 +1090,6 @@
{
Int i, r, sz_exename;
ULong obj_mtime, pdb_mtime;
- HChar exename[VKI_PATH_MAX];
HChar* pdbname = NULL;
HChar* dot;
SysRes sres;
@@ -1111,21 +1110,23 @@
time into obj_mtime. */
r = VG_(fstat)(fd_obj, &stat_buf);
if (r == -1)
- goto out; /* stat failed ?! */
+ return; /* stat failed ?! */
vg_assert(r == 0);
obj_mtime = stat_buf.mtime;
- /* and get its name into exename[]. */
- vg_assert(VKI_PATH_MAX > 100); /* to ensure /proc/self/fd/%d is safe */
- VG_(memset)(exename, 0, sizeof(exename));
- VG_(sprintf)(exename, "/proc/self/fd/%d", fd_obj);
- /* convert exename from a symlink to real name .. overwrites the
- old contents of the buffer. Ick. */
- sz_exename = VG_(readlink)(exename, exename, sizeof(exename)-2 );
+ /* and get its name into exename. */
+ HChar tmp[64]; // large enough
+ VG_(sprintf)(tmp, "/proc/self/fd/%d", fd_obj);
+
+ /* convert tmp from a symlink to real name */
+ HChar *exe;
+ sz_exename = VG_(readlink)(tmp, &exe);
+
if (sz_exename == -1)
- goto out; /* readlink failed ?! */
- vg_assert(sz_exename >= 0 && sz_exename < sizeof(exename));
- vg_assert(exename[sizeof(exename)-1] == 0);
+ return; /* readlink failed ?! */
+
+ HChar exename[sz_exename + 1];
+ VG_(strcpy)(exename, exe); // make a copy on the stack
if (VG_(clo_verbosity) > 0) {
VG_(message)(Vg_UserMsg, "LOAD_PDB_DEBUGINFO: objname: %s\n", exename);
Modified: branches/BUF_REMOVAL/coregrind/m_libcfile.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_libcfile.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_libcfile.c Wed Jul 30 14:24:10 2014
@@ -70,14 +70,18 @@
/* Given a file descriptor, attempt to deduce its filename. To do
this, we use /proc/self/fd/<FD>. If this doesn't point to a file,
- or if it doesn't exist, we return False. */
-Bool VG_(resolve_filename) ( Int fd, HChar* buf, Int n_buf )
+ or if it doesn't exist, we return False.
+ Upon successful completion *result contains the filename. The
+ filename will be overwritten with the next invocation so callers
+ need to copy the filename if needed. *result is NULL if the filename
+ cannot be deduced. */
+Bool VG_(resolve_filename) ( Int fd, HChar** result )
{
# if defined(VGO_linux)
- HChar tmp[64];
+ HChar tmp[64]; // large enough
VG_(sprintf)(tmp, "/proc/self/fd/%d", fd);
- VG_(memset)(buf, 0, n_buf);
- if (VG_(readlink)(tmp, buf, n_buf) > 0 && buf[0] == '/')
+
+ if (VG_(readlink)(tmp, result) > 0 && (*result)[0] == '/')
return True;
else
return False;
@@ -85,12 +89,16 @@
# elif defined(VGO_darwin)
HChar tmp[VKI_MAXPATHLEN+1];
if (0 == VG_(fcntl)(fd, VKI_F_GETPATH, (UWord)tmp)) {
- if (n_buf > 0) {
- VG_(strncpy)( buf, tmp, n_buf < sizeof(tmp) ? n_buf : sizeof(tmp) );
- buf[n_buf-1] = 0;
- }
- if (tmp[0] == '/') return True;
+ static HChar *buf = NULL;
+
+ if (buf == NULL)
+ buf = VG_(arena_malloc)(VG_AR_CORE, VKI_MAXPATHLEN+1);
+ VG_(strcpy)( buf, tmp );
+
+ *result = buf;
+ if (result[0] == '/') return True;
}
+ *result = NULL;
return False;
# else
@@ -507,17 +515,51 @@
}
-Int VG_(readlink) (const HChar* path, HChar* buf, UInt bufsiz)
+/* Perform the readlink operation on path. Upon successful completion
+ *result points to a dynamically allocated buffer that contains the
+ untruncated contents of the symbolic link. The string is properly
+ terminated with '\0'. The return value is the number of characters
+ written to that buffer not counting the terminating '\0' character.
+ This buffer will be overwritten in the next invocation so callers
+ need to copy the result if needed.
+ If the operation fails, the function returns -1 and *result is NULL. */
+Int VG_(readlink) (const HChar* path, HChar** result)
{
SysRes res;
- /* res = readlink( path, buf, bufsiz ); */
+ static HChar *buf = NULL;
+ static UInt bufsiz = 0;
+
+ if (buf == NULL) { // 1st time
+ bufsiz = VKI_PATH_MAX;
+ buf = VG_(arena_malloc)(VG_AR_CORE, "readlink", bufsiz);
+ }
+
+ while (42) {
# if defined(VGP_arm64_linux)
- res = VG_(do_syscall4)(__NR_readlinkat, VKI_AT_FDCWD,
+ res = VG_(do_syscall4)(__NR_readlinkat, VKI_AT_FDCWD,
(UWord)path, (UWord)buf, bufsiz);
# else
- res = VG_(do_syscall3)(__NR_readlink, (UWord)path, (UWord)buf, bufsiz);
+ res = VG_(do_syscall3)(__NR_readlink, (UWord)path, (UWord)buf, bufsiz);
# endif
- return sr_isError(res) ? -1 : sr_Res(res);
+ if (sr_isError(res)) {
+ *result = NULL;
+ return -1;
+ }
+ UInt num_char_written = sr_Res(res);
+
+ if (num_char_written == bufsiz) {
+ // Buffer was too small. Increase size and retry.
+ bufsiz += VKI_PATH_MAX;
+ buf = VG_(arena_realloc)(VG_AR_CORE, "readlink", buf, bufsiz);
+ continue;
+ }
+
+ vg_assert(num_char_written < bufsiz); // paranoia
+
+ buf[num_char_written] = '\0'; // properly terminate
+ *result = buf;
+ return num_char_written;
+ }
}
Int VG_(getdents) (Int fd, struct vki_dirent *dirp, UInt count)
Modified: branches/BUF_REMOVAL/coregrind/m_syswrap/syswrap-generic.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_syswrap/syswrap-generic.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_syswrap/syswrap-generic.c Wed Jul 30 14:24:10 2014
@@ -591,9 +591,9 @@
// Record opening of an fd, and find its name.
void ML_(record_fd_open_named)(ThreadId tid, Int fd)
{
- static HChar buf[VKI_PATH_MAX];
+ HChar* buf;
HChar* name;
- if (VG_(resolve_filename)(fd, buf, VKI_PATH_MAX))
+ if (VG_(resolve_filename)(fd, &buf))
name = buf;
else
name = NULL;
Modified: branches/BUF_REMOVAL/coregrind/pub_core_libcfile.h
==============================================================================
--- branches/BUF_REMOVAL/coregrind/pub_core_libcfile.h (original)
+++ branches/BUF_REMOVAL/coregrind/pub_core_libcfile.h Wed Jul 30 14:24:10 2014
@@ -44,7 +44,7 @@
extern Int VG_(fcntl) ( Int fd, Int cmd, Addr arg );
/* Convert an fd into a filename */
-extern Bool VG_(resolve_filename) ( Int fd, HChar* buf, Int n_buf );
+extern Bool VG_(resolve_filename) ( Int fd, HChar** buf );
/* Return the size of a file, or -1 in case of error */
extern Long VG_(fsize) ( Int fd );
Modified: branches/BUF_REMOVAL/include/pub_tool_libcfile.h
==============================================================================
--- branches/BUF_REMOVAL/include/pub_tool_libcfile.h (original)
+++ branches/BUF_REMOVAL/include/pub_tool_libcfile.h Wed Jul 30 14:24:10 2014
@@ -91,7 +91,7 @@
extern SysRes VG_(poll) (struct vki_pollfd *fds, Int nfds, Int timeout);
-extern Int VG_(readlink)( const HChar* path, HChar* buf, UInt bufsize );
+extern Int VG_(readlink)( const HChar* path, HChar** buf );
extern Int VG_(getdents)( Int fd, struct vki_dirent *dirp, UInt count );
extern const HChar* VG_(basename)( const HChar* path );
|
|
From: <sv...@va...> - 2014-07-30 11:57:06
|
Author: florian
Date: Wed Jul 30 11:56:59 2014
New Revision: 14209
Log:
In VG_(redir_notify_new_DebugInfo) use a large enough buffer
allocated on the stack.
Modified:
branches/BUF_REMOVAL/coregrind/m_redir.c
Modified: branches/BUF_REMOVAL/coregrind/m_redir.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_redir.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_redir.c Wed Jul 30 11:56:59 2014
@@ -445,15 +445,15 @@
pointing to files inside the valgrind build directories. */
struct vg_stat newdi_stat;
SysRes newdi_res;
- HChar in_vglib_filename[VKI_PATH_MAX];
struct vg_stat in_vglib_stat;
SysRes in_vglib_res;
newdi_res = VG_(stat)(newdi_filename, &newdi_stat);
-
- VG_(strncpy) (in_vglib_filename, VG_(libdir), VKI_PATH_MAX);
- VG_(strncat) (in_vglib_filename, "/", VKI_PATH_MAX);
- VG_(strncat) (in_vglib_filename, newdi_basename, VKI_PATH_MAX);
+
+ HChar in_vglib_filename[VG_(strlen)(VG_(libdir)) + 1 +
+ VG_(strlen)(newdi_basename) + 1];
+ VG_(sprintf)("%s/%s", VG_(libdir), newdi_basename);
+
in_vglib_res = VG_(stat)(in_vglib_filename, &in_vglib_stat);
/* If we find newdi_basename in inner VALGRIND_LIB
|
|
From: <sv...@va...> - 2014-07-30 11:42:46
|
Author: florian
Date: Wed Jul 30 11:42:38 2014
New Revision: 14208
Log:
In read_dot_valgrindrc use a large enough buffer allocated on the
stack.
Also assert that the passed in directory is not NULL. This is
true at all call sites. The old code would have attempted to read
/.valgrindrc for dir == NULL and I don't think we want that.
Modified:
branches/BUF_REMOVAL/coregrind/m_commandline.c
Modified: branches/BUF_REMOVAL/coregrind/m_commandline.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_commandline.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_commandline.c Wed Jul 30 11:42:38 2014
@@ -59,10 +59,13 @@
SysRes fd;
struct vg_stat stat_buf;
HChar* f_clo = NULL;
- HChar filename[VKI_PATH_MAX];
+ const HChar dot_valgrindrc[] = ".valgrindrc";
+
+ vg_assert(dir != NULL);
+
+ HChar filename[VG_(strlen)(dir) + 1 + VG_(strlen)(dot_valgrindrc) + 1];
+ VG_(sprintf)(filename, "%s/%s", dir, dot_valgrindrc);
- VG_(snprintf)(filename, VKI_PATH_MAX, "%s/.valgrindrc",
- ( NULL == dir ? "" : dir ) );
fd = VG_(open)(filename, 0, VKI_S_IRUSR);
if ( !sr_isError(fd) ) {
Int res = VG_(fstat)( sr_Res(fd), &stat_buf );
|
|
From: <sv...@va...> - 2014-07-30 11:18:49
|
Author: florian
Date: Wed Jul 30 11:18:38 2014
New Revision: 14207
Log:
Harmles tweak in VG_(record_startup_wd) to not allocate too much
memory.
Modified:
branches/BUF_REMOVAL/coregrind/m_libcfile.c
Modified: branches/BUF_REMOVAL/coregrind/m_libcfile.c
==============================================================================
--- branches/BUF_REMOVAL/coregrind/m_libcfile.c (original)
+++ branches/BUF_REMOVAL/coregrind/m_libcfile.c Wed Jul 30 11:18:38 2014
@@ -432,7 +432,7 @@
there is a problem. */
Bool VG_(record_startup_wd) ( void )
{
- Int szB = VKI_PATH_MAX;
+ Int szB = 0;
vg_assert(!startup_wd_acquired);
# if defined(VGO_linux)
|
|
From: Rich C. <rc...@wi...> - 2014-07-30 05:13:01
|
valgrind revision: 14206
VEX revision: 2910
C compiler: gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
GDB: GNU gdb (GDB; openSUSE Factory) 7.6.50.20130731-cvs
Assembler: GNU assembler (GNU Binutils; openSUSE Factory) 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18 (git )
uname -mrs: Linux 3.11.4-3-desktop x86_64
Vendor version: Welcome to openSUSE 13.1 "Bottle" Beta 1 - Kernel %r (%t).
Nightly build on rodan ( Linux 3.11.4-3-desktop x86_64 )
Started at 2014-07-29 19:22:01 CDT
Ended at 2014-07-30 00:12:49 CDT
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
== 607 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
+ perl perf/vg_perf --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old perf
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 valgrind-new:0.48s no: 7.8s (16.3x, -----) me:15.0s (31.3x, -----) ca:61.2s (127.5x, -----) he: 9.0s (18.7x, -----) ca:25.5s (53.1x, -----) dr: 8.7s (18.2x, -----) ma: 9.1s (18.9x, -----)
bigcode1 valgrind-old:0.48s no: 7.8s (16.4x, -0.4%) me:15.1s (31.4x, -0.2%) ca:61.3s (127.6x, -0.1%) he: 8.9s (18.6x, 0.4%) ca:25.6s (53.4x, -0.5%) dr: 8.7s (18.2x, -0.1%) ma: 9.1s (18.9x, 0.0%)
-- bigcode2 --
bigcode2 valgrind-new:0.49s no:18.6s (38.0x, -----) me:38.5s (78.6x, -----) ca:105.2s (214.6x, -----) he:22.5s (45.9x, -----) ca:40.9s (83.4x, -----) dr:21.2s (43.3x, -----) ma:21.4s (43.6x, -----)
bigcode2 valgrind-old:0.49s no:18.8s (38.3x, -0.7%) me:38.6s (78.8x, -0.2%) ca:105.7s (215.7x, -0.5%) he:22.3s (45.5x, 0.7%) ca:41.1s (83.8x, -0.5%) dr:21.3s (43.5x, -0.4%) ma:21.4s (43.7x, -0.2%)
-- bz2 --
bz2 valgrind-new:2.32s no:10.2s ( 4.4x, -----) me:27.3s (11.8x, -----) ca:58.7s (25.3x, -----) he:39.6s (17.1x, -----) ca:75.9s (32.7x, -----) dr:57.2s (24.7x, -----) ma: 9.8s ( 4.2x, -----)
bz2 valgrind-old:2.32s no:10.2s ( 4.4x, -0.2%) me:27.3s (11.8x, 0.1%) ca:59.0s (25.4x, -0.5%) he:39.4s (17.0x, 0.6%) ca:76.1s (32.8x, -0.4%) dr:57.3s (24.7x, -0.1%) ma: 9.8s ( 4.2x, -0.1%)
-- fbench --
fbench valgrind-new:1.44s no: 5.5s ( 3.8x, -----) me:17.8s (12.4x, -----) ca:27.3s (19.0x, -----) he:12.9s ( 9.0x, -----) ca:21.6s (15.0x, -----) dr:13.0s ( 9.0x, -----) ma: 5.6s ( 3.9x, -----)
fbench valgrind-old:1.44s no: 5.4s ( 3.8x, 0.6%) me:17.8s (12.4x, -0.1%) ca:27.4s (19.0x, -0.4%) he:13.1s ( 9.1x, -1.7%) ca:21.7s (15.1x, -0.6%) dr:13.0s ( 9.0x, -0.4%) ma: 5.6s ( 3.9x, 0.4%)
-- ffbench --
ffbench valgrind-new:1.01s no: 3.7s ( 3.7x, -----) me:12.1s (11.9x, -----) ca: 8.2s ( 8.1x, -----) he:21.6s (21.4x, -----) ca:27.4s (27.2x, -----) dr:17.1s (16.9x, -----) ma: 3.7s ( 3.6x, -----)
ffbench valgrind-old:1.01s no: 3.7s ( 3.7x, 0.0%) me:12.1s (11.9x, 0.1%) ca: 8.3s ( 8.2x, -1.8%) he:21.5s (21.3x, 0.6%) ca:27.6s (27.3x, -0.5%) dr:17.1s (16.9x, -0.1%) ma: 3.7s ( 3.6x, 0.3%)
-- heap --
heap valgrind-new:0.41s no: 3.3s ( 8.1x, -----) me:22.1s (53.8x, -----) ca:31.6s (77.1x, -----) he:30.8s (75.0x, -----) ca:22.8s (55.5x, -----) dr:20.8s (50.7x, -----) ma:22.5s (54.9x, -----)
heap valgrind-old:0.41s no: 3.3s ( 8.1x, 0.3%) me:22.0s (53.7x, 0.1%) ca:31.2s (76.2x, 1.1%) he:30.8s (75.1x, -0.1%) ca:22.9s (55.8x, -0.5%) dr:20.7s (50.4x, 0.5%) ma:38.3s (93.3x,-69.9%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.55s no: 3.6s ( 6.6x, -----) me:41.7s (75.8x, -----) ca:34.1s (62.1x, -----) he:35.7s (64.9x, -----) ca:24.9s (45.3x, -----) dr:23.1s (42.0x, -----) ma:24.0s (43.6x, -----)
heap_pdb4 valgrind-old:0.55s no: 3.7s ( 6.7x, -1.9%) me:41.6s (75.6x, 0.3%) ca:34.0s (61.9x, 0.3%) he:35.9s (65.2x, -0.5%) ca:25.0s (45.5x, -0.4%) dr:23.2s (42.1x, -0.2%) ma:39.9s (72.6x,-66.3%)
-- many-loss-records --
many-loss-records valgrind-new:0.05s no: 1.2s (25.0x, -----) me: 5.8s (115.6x, -----) ca: 5.1s (102.2x, -----) he: 5.3s (106.0x, -----) ca: 4.1s (81.4x, -----) dr: 4.8s (95.2x, -----) ma: 4.7s (94.4x, -----)
many-loss-records valgrind-old:0.05s no: 1.3s (25.2x, -0.8%) me: 5.9s (117.4x, -1.6%) ca: 5.2s (104.6x, -2.3%) he: 5.2s (104.8x, 1.1%) ca: 4.2s (84.0x, -3.2%) dr: 4.7s (94.8x, 0.4%) ma: 6.9s (138.8x,-47.0%)
-- many-xpts --
many-xpts valgrind-new:0.15s no: 1.5s (10.1x, -----) me: 7.0s (46.8x, -----) ca:12.9s (86.0x, -----) he: 9.9s (65.7x, -----) ca: 5.8s (38.9x, -----) dr: 6.3s (41.7x, -----) ma: 7.3s (48.8x, -----)
many-xpts valgrind-old:0.15s no: 1.5s (10.2x, -0.7%) me: 7.0s (46.8x, 0.0%) ca:13.1s (87.1x, -1.2%) he: 9.9s (66.3x, -0.9%) ca: 6.0s (39.8x, -2.2%) dr: 6.3s (41.9x, -0.3%) ma: 9.9s (66.0x,-35.2%)
-- sarp --
sarp valgrind-new:0.10s no: 1.5s (14.6x, -----) me: 9.4s (94.1x, -----) ca: 8.4s (84.5x, -----) he:30.7s (307.0x, -----) ca: 5.5s (55.5x, -----) dr: 4.1s (40.7x, -----) ma: 1.6s (15.5x, -----)
sarp valgrind-old:0.10s no: 1.5s (14.6x, 0.0%) me: 9.4s (94.1x, 0.0%) ca: 8.5s (85.1x, -0.7%) he:31.1s (310.9x, -1.3%) ca: 5.7s (56.5x, -1.8%) dr: 4.1s (40.9x, -0.5%) ma: 1.6s (15.5x, 0.0%)
-- tinycc --
tinycc valgrind-new:0.76s no: 7.6s (10.0x, -----) me:37.2s (48.9x, -----) ca:47.6s (62.6x, -----) he:45.3s (59.6x, -----) ca:45.0s (59.1x, -----) dr:37.7s (49.6x, -----) ma:12.0s (15.8x, -----)
tinycc valgrind-old:0.76s no: 7.6s (10.0x, -0.1%) me:37.3s (49.0x, -0.2%) ca:48.1s (63.3x, -1.1%) he:45.6s (60.0x, -0.6%) ca:45.3s (59.6x, -0.8%) dr:38.0s (50.0x, -0.8%) ma:14.2s (18.8x,-18.5%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 164m29.226s
user 162m27.099s
sys 1m48.357s
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-07-29 20:23:21.681912852 -0500
+++ hackedbz2.stderr.out 2014-07-29 21:27:08.617133462 -0500
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-07-29 20:27:42.989771027 -0500
+++ err_disable3.stderr.out 2014-07-29 20:48:05.193029744 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-07-29 20:28:38.714380382 -0500
+++ err_disable4.stderr.out 2014-07-29 20:48:09.487075768 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-07-29 20:28:38.800381319 -0500
+++ threadname.stderr.out 2014-07-29 20:54:19.278041116 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-07-29 20:27:42.985770983 -0500
+++ threadname_xml.stderr.out 2014-07-29 20:54:21.323063055 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-07-29 19:23:13.313881929 -0500
+++ hackedbz2.stderr.out 2014-07-29 20:21:36.343760144 -0500
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-07-29 19:23:04.005777942 -0500
+++ err_disable3.stderr.out 2014-07-29 19:42:28.478790524 -0500
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-07-29 19:23:06.320803805 -0500
+++ err_disable4.stderr.out 2014-07-29 19:42:32.684837424 -0500
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-07-29 19:22:59.785730794 -0500
+++ threadname.stderr.out 2014-07-29 19:48:41.286941638 -0500
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-07-29 19:23:02.794764412 -0500
+++ threadname_xml.stderr.out 2014-07-29 19:48:43.337964434 -0500
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|
|
From: Christian B. <bor...@de...> - 2014-07-30 04:11:55
|
valgrind revision: 14206 VEX revision: 2910 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] GDB: GNU gdb (GDB) SUSE (7.5.1-0.7.29) Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.23.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.101-0.31-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP3 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP3 gcc 4.3.4 on z196 (s390x) ) Started at 2014-07-30 03:45:01 CEST Ended at 2014-07-30 06:11:42 CEST 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 == 657 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 4.8s (21.0x, -----) me: 6.2s (27.0x, -----) ca:26.5s (115.2x, -----) he: 5.5s (23.7x, -----) ca: 9.1s (39.7x, -----) dr: 4.8s (20.8x, -----) ma: 3.9s (17.1x, -----) bigcode1 valgrind-old:0.23s no: 4.8s (21.1x, -0.2%) me: 6.3s (27.3x, -1.3%) ca:26.5s (115.3x, -0.1%) he: 5.5s (23.8x, -0.2%) ca: 9.2s (39.9x, -0.4%) dr: 4.8s (20.8x, 0.0%) ma: 3.9s (17.1x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.8s (32.3x, -----) me:13.1s (54.7x, -----) ca:39.1s (162.9x, -----) he:10.6s (44.0x, -----) ca:14.3s (59.6x, -----) dr: 8.9s (37.1x, -----) ma: 7.3s (30.5x, -----) bigcode2 valgrind-old:0.24s no: 7.8s (32.5x, -0.5%) me:13.1s (54.7x, -0.1%) ca:39.2s (163.5x, -0.4%) he:10.5s (43.9x, 0.2%) ca:14.2s (59.3x, 0.5%) dr: 9.0s (37.4x, -0.8%) ma: 7.4s (31.0x, -1.4%) -- bz2 -- bz2 valgrind-new:0.70s no: 6.6s ( 9.5x, -----) me:12.7s (18.1x, -----) ca:30.6s (43.7x, -----) he:19.8s (28.3x, -----) ca:34.3s (49.1x, -----) dr:28.8s (41.1x, -----) ma: 4.1s ( 5.9x, -----) bz2 valgrind-old:0.70s no: 6.6s ( 9.5x, -0.3%) me:12.7s (18.1x, 0.0%) ca:30.8s (44.0x, -0.6%) he:19.8s (28.2x, 0.3%) ca:34.6s (49.4x, -0.6%) dr:28.9s (41.3x, -0.6%) ma: 4.1s ( 5.9x, -0.2%) -- fbench -- fbench valgrind-new:0.41s no: 1.6s ( 3.9x, -----) me: 4.2s (10.3x, -----) ca: 9.4s (22.8x, -----) he: 6.3s (15.3x, -----) ca: 7.2s (17.6x, -----) dr: 5.5s (13.5x, -----) ma: 1.6s ( 4.0x, -----) fbench valgrind-old:0.41s no: 1.6s ( 3.9x, -0.0%) me: 4.3s (10.5x, -1.7%) ca: 9.4s (23.0x, -1.0%) he: 6.3s (15.4x, -0.3%) ca: 7.3s (17.9x, -1.5%) dr: 5.5s (13.4x, 0.2%) ma: 1.7s ( 4.0x, -0.6%) -- ffbench -- ffbench valgrind-new:0.20s no: 1.2s ( 5.9x, -----) me: 3.0s (14.8x, -----) ca: 3.0s (15.0x, -----) he:45.2s (226.0x, -----) ca: 9.6s (48.0x, -----) dr: 6.9s (34.6x, -----) ma: 1.0s ( 4.8x, -----) ffbench valgrind-old:0.20s no: 1.2s ( 5.9x, 0.0%) me: 2.9s (14.7x, 1.0%) ca: 3.1s (15.6x, -3.7%) he:45.2s (225.8x, 0.1%) ca: 9.7s (48.4x, -0.9%) dr: 6.9s (34.5x, 0.1%) ma: 1.0s ( 4.8x, 0.0%) -- heap -- heap valgrind-new:0.22s no: 2.4s (10.7x, -----) me: 8.8s (40.2x, -----) ca:13.2s (60.0x, -----) he:12.7s (57.6x, -----) ca:11.3s (51.5x, -----) dr: 7.7s (35.0x, -----) ma: 7.8s (35.4x, -----) heap valgrind-old:0.22s no: 2.5s (11.1x, -4.3%) me: 8.8s (39.9x, 0.8%) ca:13.2s (60.2x, -0.5%) he:12.7s (57.7x, -0.2%) ca:11.4s (51.8x, -0.6%) dr: 7.4s (33.7x, 3.8%) ma:29.5s (134.2x,-279.1%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 2.6s (11.6x, -----) me:12.9s (58.8x, -----) ca:14.3s (64.9x, -----) he:14.0s (63.5x, -----) ca:12.4s (56.3x, -----) dr: 8.7s (39.4x, -----) ma: 8.0s (36.4x, -----) heap_pdb4 valgrind-old:0.22s no: 2.6s (11.6x, 0.0%) me:12.8s (58.0x, 1.4%) ca:14.3s (65.0x, -0.1%) he:14.0s (63.5x, -0.1%) ca:12.4s (56.5x, -0.3%) dr: 8.4s (38.1x, 3.3%) ma:29.5s (134.3x,-269.2%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (27.0x, -----) me: 2.1s (105.0x, -----) ca: 1.9s (97.0x, -----) he: 2.1s (107.0x, -----) ca: 1.9s (96.0x, -----) dr: 1.7s (86.0x, -----) ma: 1.7s (83.5x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (27.0x, 0.0%) me: 2.1s (106.0x, -1.0%) ca: 2.0s (102.0x, -5.2%) he: 2.1s (107.5x, -0.5%) ca: 2.0s (100.0x, -4.2%) dr: 1.7s (83.0x, 3.5%) ma: 5.1s (253.5x,-203.6%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s ( 9.7x, -----) me: 3.2s (45.4x, -----) ca:368.3s (5260.9x, -----) he: 6.6s (94.6x, -----) ca: 2.8s (40.3x, -----) dr: 2.5s (35.4x, -----) ma: 2.6s (36.9x, -----) many-xpts valgrind-old:0.07s no: 0.7s ( 9.7x, 0.0%) me: 3.2s (45.1x, 0.6%) ca:366.4s (5235.0x, 0.5%) he: 6.6s (94.1x, 0.5%) ca: 2.9s (41.1x, -2.1%) dr: 2.4s (34.7x, 2.0%) ma: 5.9s (84.6x,-129.5%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (20.7x, -----) me: 3.5s (115.0x, -----) ca: 3.2s (106.3x, -----) he:17.3s (576.0x, -----) ca: 2.0s (68.3x, -----) dr: 1.3s (44.7x, -----) ma: 0.5s (16.0x, -----) sarp valgrind-old:0.03s no: 0.6s (20.3x, 1.6%) me: 3.5s (115.3x, -0.3%) ca: 3.3s (109.0x, -2.5%) he:17.9s (597.0x, -3.6%) ca: 2.1s (70.0x, -2.4%) dr: 1.3s (44.7x, 0.0%) ma: 0.5s (16.3x, -2.1%) -- tinycc -- tinycc valgrind-new:0.22s no: 3.2s (14.4x, -----) me:14.5s (65.8x, -----) ca:30.0s (136.5x, -----) he:28.3s (128.7x, -----) ca:21.3s (96.7x, -----) dr:20.6s (93.6x, -----) ma: 3.9s (17.6x, -----) tinycc valgrind-old:0.22s no: 3.2s (14.5x, -0.6%) me:14.5s (66.0x, -0.2%) ca:30.2s (137.3x, -0.6%) he:28.3s (128.5x, 0.1%) ca:21.5s (97.5x, -0.8%) dr:20.4s (92.6x, 1.0%) ma: 7.2s (33.0x,-87.3%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 113m34.555s user 112m48.221s sys 0m36.429s |
|
From: Tom H. <to...@co...> - 2014-07-30 03:34:01
|
valgrind revision: 14206
VEX revision: 2910
C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8)
GDB:
Assembler: GNU assembler version 2.18.50.0.6-2 20080403
C library: GNU C Library stable release version 2.8
uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64
Vendor version: Fedora release 9 (Sulphur)
Nightly build on bristol ( )
Started at 2014-07-30 03:51:14 BST
Ended at 2014-07-30 04:33:36 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
== 660 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/amd64/insn-pcmpistri (stderr)
none/tests/amd64/sse4-64 (stdout)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
*** Command returned non-zero (32512)
*** See perf.{cmd,stdout,stderr} to determine what went wrong.
real 0m0.013s
user 0m0.008s
sys 0m0.001s
|
|
From: Tom H. <to...@co...> - 2014-07-30 02:50:02
|
valgrind revision: 14206
VEX revision: 2910
C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)
GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15)
Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118
C library: GNU C Library stable release version 2.14.1
uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64
Vendor version: Fedora release 15 (Lovelock)
Nightly build on bristol ( )
Started at 2014-07-30 03:13:02 BST
Ended at 2014-07-30 03:49:46 BST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Regression test results follow
== 692 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
*** Command returned non-zero (32512)
*** See perf.{cmd,stdout,stderr} to determine what went wrong.
real 0m0.013s
user 0m0.006s
sys 0m0.003s
|
|
From: Tom H. <to...@co...> - 2014-07-30 02:38:54
|
valgrind revision: 14206
VEX revision: 2910
C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)
GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16)
Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716
C library: GNU C Library development release version 2.14.90
uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64
Vendor version: Fedora release 16 (Verne)
Nightly build on bristol ( )
Started at 2014-07-30 03:02:06 BST
Ended at 2014-07-30 03:38:38 BST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Regression test results follow
== 692 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
*** Command returned non-zero (32512)
*** See perf.{cmd,stdout,stderr} to determine what went wrong.
real 0m0.010s
user 0m0.005s
sys 0m0.003s
|
|
From: Tom H. <to...@co...> - 2014-07-30 02:29:41
|
valgrind revision: 14206
VEX revision: 2910
C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2)
GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-54.fc17)
Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131
C library: GNU C Library stable release version 2.15
uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64
Vendor version: Fedora release 17 (Beefy Miracle)
Nightly build on bristol ( )
Started at 2014-07-30 02:51:16 BST
Ended at 2014-07-30 03:29:25 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 692 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mcinfcallRU (stderr)
gdbserver_tests/mcinfcallWSRU (stderr)
gdbserver_tests/mcmain_pic (stderr)
memcheck/tests/err_disable4 (stderr)
exp-sgcheck/tests/preen_invars (stdout)
exp-sgcheck/tests/preen_invars (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 692 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mcinfcallRU (stderr)
gdbserver_tests/mcinfcallWSRU (stderr)
gdbserver_tests/mcmain_pic (stderr)
exp-sgcheck/tests/preen_invars (stdout)
exp-sgcheck/tests/preen_invars (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-07-30 03:09:59.629216101 +0100
--- new.short 2014-07-30 03:29:25.861891551 +0100
***************
*** 8,10 ****
! == 692 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mcinfcallRU (stderr)
--- 8,10 ----
! == 692 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mcinfcallRU (stderr)
***************
*** 12,13 ****
--- 12,14 ----
gdbserver_tests/mcmain_pic (stderr)
+ memcheck/tests/err_disable4 (stderr)
exp-sgcheck/tests/preen_invars (stdout)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
*** Command returned non-zero (32512)
*** See perf.{cmd,stdout,stderr} to determine what went wrong.
real 0m0.048s
user 0m0.003s
sys 0m0.006s
|
|
From: Tom H. <to...@co...> - 2014-07-30 02:19:03
|
valgrind revision: 14206
VEX revision: 2910
C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)
GDB: GNU gdb (GDB) Fedora 7.5.1-42.fc18
Assembler: GNU assembler version 2.23.51.0.1-10.fc18 20120806
C library: GNU C Library stable release version 2.16
uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64
Vendor version: Fedora release 18 (Spherical Cow)
Nightly build on bristol ( )
Started at 2014-07-30 02:41:19 BST
Ended at 2014-07-30 03:18:49 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
== 692 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
exp-sgcheck/tests/preen_invars (stdout)
exp-sgcheck/tests/preen_invars (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
*** Command returned non-zero (32512)
*** See perf.{cmd,stdout,stderr} to determine what went wrong.
real 0m0.026s
user 0m0.005s
sys 0m0.003s
|
|
From: Tom H. <to...@co...> - 2014-07-30 02:12:02
|
valgrind revision: 14206
VEX revision: 2910
C compiler: gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
GDB: GNU gdb (GDB) Fedora 7.6.1-46.fc19
Assembler: GNU assembler version 2.23.52.0.1-9.fc19 20130226
C library: GNU C Library (GNU libc) stable release version 2.17
uname -mrs: Linux 3.15.3-200.fc20.x86_64 x86_64
Vendor version: Fedora release 19 (Schrödingerâs Cat)
Nightly build on bristol ( )
Started at 2014-07-30 02:31:34 BST
Ended at 2014-07-30 03:11:50 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
== 692 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
exp-sgcheck/tests/hackedbz2 (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
*** Command returned non-zero (32512)
*** See perf.{cmd,stdout,stderr} to determine what went wrong.
real 0m0.051s
user 0m0.004s
sys 0m0.004s
|