You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(7) |
2
|
|
3
(1) |
4
(16) |
5
(6) |
6
(17) |
7
(18) |
8
(13) |
9
(7) |
|
10
(7) |
11
(15) |
12
(14) |
13
(10) |
14
(9) |
15
(17) |
16
(6) |
|
17
|
18
(18) |
19
(7) |
20
(20) |
21
(10) |
22
(8) |
23
(5) |
|
24
(2) |
25
(2) |
26
(10) |
27
|
28
|
29
|
30
|
|
31
(1) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2010-10-13 21:47:38
|
Author: sewardj Date: 2010-10-13 22:47:29 +0100 (Wed, 13 Oct 2010) New Revision: 11440 Log: Documentation update for 3.6.0 (not including NEWS). Modified: trunk/AUTHORS trunk/NEWS trunk/README trunk/README_DEVELOPERS trunk/configure.in trunk/coregrind/m_main.c trunk/docs/xml/manual-core-adv.xml trunk/docs/xml/manual-core.xml trunk/docs/xml/manual-intro.xml trunk/docs/xml/quick-start-guide.xml trunk/docs/xml/vg-entities.xml trunk/massif/docs/ms-manual.xml trunk/memcheck/docs/mc-manual.xml trunk/none/tests/cmdline1.stdout.exp trunk/none/tests/cmdline2.stdout.exp Modified: trunk/AUTHORS =================================================================== --- trunk/AUTHORS 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/AUTHORS 2010-10-13 21:47:29 UTC (rev 11440) @@ -1,7 +1,8 @@ -Julian Seward was the original founder, designer and author of Valgrind, -created the dynamic translation frameworks, wrote Memcheck and 3.3.X -Helgrind, and did lots of other things. +Julian Seward was the original founder, designer and author of +Valgrind, created the dynamic translation frameworks, wrote Memcheck, +the 3.X versions of Helgrind, Ptrcheck, DHAT, and did lots of other +things. Nicholas Nethercote did the core/tool generalisation, wrote Cachegrind and Massif, and tons of other stuff. @@ -33,9 +34,13 @@ Bart Van Assche wrote and maintains DRD. -Cerion Armour-Brown worked on PowerPC instruction set support in -the Vex dynamic-translation framework. +Cerion Armour-Brown worked on PowerPC instruction set support in the +Vex dynamic-translation framework. Maynard Johnson improved the +Power6 support. +Kirill Batuzov and Dmitry Zhurikhin did the NEON instruction set +support for ARM. Donna Robinson did the v6 media instruction support. + Donna Robinson created and maintains the very excellent http://www.valgrind.org. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/NEWS 2010-10-13 21:47:29 UTC (rev 11440) @@ -13,6 +13,8 @@ Matching Valkyrie support (for Mc, Hg, Pc) Hg annotation improvements More reliable stack unwinding on amd64-linux +Callgrind branch prediction and global bus +Segfaults .w.r.t boost Punted but under consideration for 3.7: Support for code compiled by LLVM-2.8 Modified: trunk/README =================================================================== --- trunk/README 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/README 2010-10-13 21:47:29 UTC (rev 11440) @@ -14,16 +14,17 @@ Executive Summary ~~~~~~~~~~~~~~~~~ -Valgrind is an award-winning instrumentation framework for building -dynamic analysis tools. There are Valgrind tools that can automatically -detect many memory management and threading bugs, and profile your -programs in detail. You can also use Valgrind to build new tools. +Valgrind is a framework for building dynamic analysis tools. There are +Valgrind tools that can automatically detect many memory management +and threading bugs, and profile your programs in detail. You can also +use Valgrind to build new tools. The Valgrind distribution currently includes six production-quality -tools: a memory error detector, two thread error detectors, a cache and -branch-prediction profiler, a call-graph generating cache profiler, and -a heap profiler. It also includes two experimental tools: a -heap/stack/global array overrun detector, and a SimPoint basic block vector +tools: a memory error detector, two thread error detectors, a cache +and branch-prediction profiler, a call-graph generating cache abd +branch-prediction profiler, and a heap profiler. It also includes +three experimental tools: a heap/stack/global array overrun detector, +a different kind of heap profiler, and a SimPoint basic block vector generator. Valgrind is closely tied to details of the CPU, operating system and to @@ -35,6 +36,7 @@ - AMD64/Linux - PPC32/Linux - PPC64/Linux +- ARM/Linux - x86/MacOSX - AMD64/MacOSX @@ -45,7 +47,10 @@ Valgrind is licensed under the GNU General Public License, version 2. Read the file COPYING in the source distribution for details. +However: if you contribute code, you need to make it available as GPL +version 2 or later, and not 2-only. + Documentation ~~~~~~~~~~~~~ A comprehensive user guide is supplied. Point your browser at Modified: trunk/README_DEVELOPERS =================================================================== --- trunk/README_DEVELOPERS 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/README_DEVELOPERS 2010-10-13 21:47:29 UTC (rev 11440) @@ -101,7 +101,22 @@ Steps (1)--(3) can be put in a .gdbinit file, but any directory names must be fully expanded (ie. not an environment variable). +A different and possibly easier way is as follows: +(1) Run Valgrind as normal, but add the flag --wait-for-gdb=yes. This + puts the tool executable into a wait loop soon after it gains + control. This delays startup for a few seconds. + +(2) In a different shell, do "gdb /proc/<pid>/exe <pid>", where + <pid> you read from the output printed by (1). This attaches + GDB to the tool executable, which should be in the abovementioned + wait loop. + +(3) Do "cont" to continue. After the loop finishes spinning, startup + will continue as normal. Note that comment (3) above re passing + signals applies here too. + + Self-hosting ~~~~~~~~~~~~ To run Valgrind under Valgrind: Modified: trunk/configure.in =================================================================== --- trunk/configure.in 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/configure.in 2010-10-13 21:47:29 UTC (rev 11440) @@ -1449,7 +1449,9 @@ AM_CONDITIONAL([BUILD_LZCNT_TESTS], [test x$ac_have_as_lzcnt = xyes]) - +# XXX JRS 2010 Oct 13: what is this for? For sure, we don't need this +# when building the tool executables. I think we should get rid of it. +# # Check for TLS support in the compiler and linker if test "x${cross_compiling}" = "xno"; then # Native compilation: check whether running a program using TLS succeeds. Modified: trunk/coregrind/m_main.c =================================================================== --- trunk/coregrind/m_main.c 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/coregrind/m_main.c 2010-10-13 21:47:29 UTC (rev 11440) @@ -237,7 +237,7 @@ "\n" " %s is %s\n" " Valgrind is Copyright (C) 2000-2010, and GNU GPL'd, by Julian Seward et al.\n" -" LibVEX is Copyright (C) 2004-2010, and GNU GPL'd, by OpenWorks LLP.\n" +" LibVEX is Copyright (C) 2004-2010, and GNU GPL'd, by OpenWorks LLP et al.\n" "\n" " Bug reports, feedback, admiration, abuse, etc, to: %s.\n" "\n"; Modified: trunk/docs/xml/manual-core-adv.xml =================================================================== --- trunk/docs/xml/manual-core-adv.xml 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/docs/xml/manual-core-adv.xml 2010-10-13 21:47:29 UTC (rev 11440) @@ -55,10 +55,10 @@ program with any extra supporting libraries.</para> <para>The code added to your binary has negligible performance impact: -on x86, amd64, ppc32 and ppc64, the overhead is 6 simple integer instructions -and is probably undetectable except in tight loops. -However, if you really wish to compile out the client requests, you can -compile with <option>-DNVALGRIND</option> (analogous to +on x86, amd64, ppc32, ppc64 and ARM, the overhead is 6 simple integer +instructions and is probably undetectable except in tight loops. +However, if you really wish to compile out the client requests, you +can compile with <option>-DNVALGRIND</option> (analogous to <option>-DNDEBUG</option>'s effect on <function>assert</function>). </para> @@ -106,7 +106,7 @@ <para> Alternatively, for transparent self-modifying-code support, use<option>--smc-check=all</option>, or run - on ppc32/Linux or ppc64/Linux. + on ppc32/Linux, ppc64/Linux or ARM/Linux. </para> </listitem> </varlistentry> @@ -567,7 +567,7 @@ <function>malloc</function> etc safely from within wrappers. </para> -<para>The above comments are true for {x86,amd64,ppc32}-linux. On +<para>The above comments are true for {x86,amd64,ppc32,arm}-linux. On ppc64-linux function wrapping is more fragile due to the (arguably poorly designed) ppc64-linux ABI. This mandates the use of a shadow stack which tracks entries/exits of both wrapper and replacement @@ -578,7 +578,7 @@ possible to a limited depth, beyond which Valgrind has to abort the run. This depth is currently 16 calls.</para> -<para>For all platforms ({x86,amd64,ppc32,ppc64}-linux) all the above +<para>For all platforms ({x86,amd64,ppc32,ppc64,arm}-linux) all the above comments apply on a per-thread basis. In other words, wrapping is thread-safe: each thread must individually observe the above restrictions, but there is no need for any kind of inter-thread Modified: trunk/docs/xml/manual-core.xml =================================================================== --- trunk/docs/xml/manual-core.xml 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/docs/xml/manual-core.xml 2010-10-13 21:47:29 UTC (rev 11440) @@ -130,11 +130,11 @@ is better to compile your program at its normal optimisation level.</para> <para>Valgrind understands both the older "stabs" debugging format, used -by GCC versions prior to 3.1, and the newer DWARF2 and DWARF3 formats +by GCC versions prior to 3.1, and the newer DWARF2/3/4 formats used by GCC 3.1 and later. We continue to develop our debug-info readers, although the majority of effort will naturally enough go into the newer -DWARF2/3 reader.</para> +DWARF readers.</para> <para>When you're ready to roll, run Valgrind as described above. Note that you should run the real @@ -1235,7 +1235,7 @@ <para>Be careful when using <option>--dsymutil=yes</option>, since it will cause pre-existing <computeroutput>.dSYM</computeroutput> - directories to be silently deleted and re-created. Also note the + directories to be silently deleted and re-created. Also note that <computeroutput>dsymutil</computeroutput> is quite slow, sometimes excessively so.</para> </listitem> @@ -1390,13 +1390,13 @@ will likely lead to incorrect behaviour and/or crashes.</para> <para>Valgrind has three levels of self-modifying code detection: - no detection, detect self-modifying code on the stack (which used by + no detection, detect self-modifying code on the stack (which is used by GCC to implement nested functions), or detect self-modifying code everywhere. Note that the default option will catch the vast majority of cases. The main case it will not catch is programs such as JIT compilers that dynamically generate code <emphasis>and</emphasis> subsequently overwrite part or all of it. Running with - <varname>all</varname> will slow Valgrind down greatly. Running with + <varname>all</varname> will slow Valgrind down noticeably. Running with <varname>none</varname> will rarely speed things up, since very little code gets put on the stack for most programs. The <function>VALGRIND_DISCARD_TRANSLATIONS</function> client request is @@ -1408,11 +1408,11 @@ --> </para> - <para>Some architectures (including ppc32 and ppc64) require + <para>Some architectures (including ppc32, ppc64 and ARM) require programs which create code at runtime to flush the instruction cache in between code generation and first use. Valgrind - observes and honours such instructions. Hence, on ppc32/Linux - and ppc64/Linux, Valgrind always provides complete, transparent + observes and honours such instructions. Hence, on ppc32/Linux, + ppc64/Linux and ARM/Linux, Valgrind always provides complete, transparent support for self-modifying code. It is only on platforms such as x86/Linux, AMD64/Linux and x86/Darwin that you need to use this option.</para> @@ -1711,8 +1711,7 @@ <computeroutput>futex</computeroutput> and so on. <computeroutput>clone</computeroutput> is supported where either everything is shared (a thread) or nothing is shared (fork-like); partial -sharing will fail. Again, any use of atomic instruction sequences in shared -memory between processes will not work reliably. +sharing will fail. </para> @@ -1756,16 +1755,15 @@ <para>We use the standard Unix <computeroutput>./configure</computeroutput>, <computeroutput>make</computeroutput>, <computeroutput>make -install</computeroutput> mechanism, and we have attempted to -ensure that it works on machines with kernel 2.4 or 2.6 and glibc -2.2.X to 2.10.X. Once you have completed +install</computeroutput> mechanism. Once you have completed <computeroutput>make install</computeroutput> you may then want to run the regression tests with <computeroutput>make regtest</computeroutput>. </para> -<para>There are five options (in addition to the usual -<option>--prefix</option> which affect how Valgrind is built: +<para>In addition to the usual +<option>--prefix=/path/to/install/tree</option>, there are three + options which affect how Valgrind is built: <itemizedlist> <listitem> @@ -1778,24 +1776,16 @@ </listitem> <listitem> - <para><option>--enable-tls</option></para> - <para>TLS (Thread Local Storage) is a relatively new mechanism which - requires compiler, linker and kernel support. Valgrind tries to - automatically test if TLS is supported and if so enables this option. - Sometimes it cannot test for TLS, so this option allows you to - override the automatic test.</para> - </listitem> - - <listitem> <para><option>--enable-only64bit</option></para> <para><option>--enable-only32bit</option></para> - <para>On 64-bit - platforms (amd64-linux, ppc64-linux), Valgrind is by default built - in such a way that both 32-bit and 64-bit executables can be run. - Sometimes this cleverness is a problem for a variety of reasons. - These two options allow for single-target builds in this situation. - If you issue both, the configure script will complain. Note they - are ignored on 32-bit-only platforms (x86-linux, ppc32-linux). + <para>On 64-bit platforms (amd64-linux, ppc64-linux, + amd64-darwin), Valgrind is by default built in such a way that + both 32-bit and 64-bit executables can be run. Sometimes this + cleverness is a problem for a variety of reasons. These two + options allow for single-target builds in this situation. If you + issue both, the configure script will complain. Note they are + ignored on 32-bit-only platforms (x86-linux, ppc32-linux, + arm-linux, x86-darwin). </para> </listitem> @@ -1859,29 +1849,45 @@ <itemizedlist> <listitem> - <para>On x86 and amd64, there is no support for 3DNow! instructions. - If the translator encounters these, Valgrind will generate a SIGILL - when the instruction is executed. Apart from that, on x86 and amd64, - essentially all instructions are supported, up to and including SSSE3. + <para>On x86 and amd64, there is no support for 3DNow! + instructions. If the translator encounters these, Valgrind will + generate a SIGILL when the instruction is executed. Apart from + that, on x86 and amd64, essentially all instructions are supported, + up to and including SSE4.2 in 64-bit mode and SSSE3 in 32-bit mode. + Some exceptions: SSE4.2 AES instructions are not supported in + 64-bit mode, and 32-bit mode does in fact support the bare minimum + SSE4 instructions to needed to run programs on MacOSX 10.6 on + 32-bit targets. </para> </listitem> <listitem> - <para>On ppc32 and ppc64, almost all integer, floating point and Altivec - instructions are supported. Specifically: integer and FP insns that are - mandatory for PowerPC, the "General-purpose optional" group (fsqrt, fsqrts, - stfiwx), the "Graphics optional" group (fre, fres, frsqrte, frsqrtes), and - the Altivec (also known as VMX) SIMD instruction set, are supported.</para> + <para>On ppc32 and ppc64, almost all integer, floating point and + Altivec instructions are supported. Specifically: integer and FP + insns that are mandatory for PowerPC, the "General-purpose + optional" group (fsqrt, fsqrts, stfiwx), the "Graphics optional" + group (fre, fres, frsqrte, frsqrtes), and the Altivec (also known + as VMX) SIMD instruction set, are supported. Also, instructions + from the Power ISA 2.05 specification, as present in POWER6 CPUs, + are supported.</para> </listitem> <listitem> + <para>On ARM, essentially the entire ARMv7-A instruction set + is supported, in both ARM and Thumb mode. ThumbEE and Jazelle are + not supported. NEON and VFPv3 support is fairly complete. ARMv6 + media instruction support is mostly done but not yet complete. + </para> + </listitem> + + <listitem> <para>If your program does its own memory management, rather than using malloc/new/free/delete, it should still work, but Memcheck's - error checking won't be so effective. If you describe your program's - memory management scheme using "client requests" - (see <xref linkend="manual-core-adv.clientreq"/>), Memcheck can do - better. Nevertheless, using malloc/new and free/delete is still the - best approach.</para> + error checking won't be so effective. If you describe your + program's memory management scheme using "client requests" (see + <xref linkend="manual-core-adv.clientreq"/>), Memcheck can do + better. Nevertheless, using malloc/new and free/delete is still + the best approach.</para> </listitem> <listitem> @@ -1902,25 +1908,32 @@ </listitem> <listitem> - <para>Memory consumption of your program is majorly increased whilst - running under Valgrind. This is due to the large amount of - administrative information maintained behind the scenes. Another - cause is that Valgrind dynamically translates the original - executable. Translated, instrumented code is 12-18 times larger than - the original so you can easily end up with 50+ MB of translations - when running (eg) a web browser.</para> + <para>Memory consumption of your program is majorly increased + whilst running under Valgrind's Memcheck tool. This is due to the + large amount of administrative information maintained behind the + scenes. Another cause is that Valgrind dynamically translates the + original executable. Translated, instrumented code is 12-18 times + larger than the original so you can easily end up with 100+ MB of + translations when running (eg) a web browser.</para> </listitem> <listitem> <para>Valgrind can handle dynamically-generated code just fine. If - you regenerate code over the top of old code (ie. at the same memory - addresses), if the code is on the stack Valgrind will realise the - code has changed, and work correctly. This is necessary to handle - the trampolines GCC uses to implemented nested functions. If you - regenerate code somewhere other than the stack, you will need to use - the <option>--smc-check=all</option> option, and Valgrind will run more - slowly than normal. Or you can add client requests that tell Valgrind - when your program has overwritten code.</para> + you regenerate code over the top of old code (ie. at the same + memory addresses), if the code is on the stack Valgrind will + realise the code has changed, and work correctly. This is + necessary to handle the trampolines GCC uses to implemented nested + functions. If you regenerate code somewhere other than the stack, + and you are running on an 32- or 64-bit x86 CPU, you will need to + use the <option>--smc-check=all</option> option, and Valgrind will + run more slowly than normal. Or you can add client requests that + tell Valgrind when your program has overwritten code. + </para> + <para> On other platforms (ARM, PowerPC) Valgrind observes and + honours the cache invalidation hints that programs are obliged to + emit to notify new code, and so self-modifying-code support should + work automatically, without the need + for <option>--smc-check=all</option>.</para> </listitem> <listitem> @@ -1997,6 +2010,19 @@ </listitem> <listitem> + <para>Valgrind has the following limitations in + its implementation of ARM VFPv3 arithmetic, relative to + IEEE754.</para> + + <para>Essentially the same: no exceptions, and limited observance + of rounding mode. Also, switching the VFP unit into vector mode + will cause Valgrind to abort the program -- it has no way to + emulate vector uses of VFP at a reasonable performance level. This + is no big deal given that non-scalar uses of VFP instructions are + in any case deprecated.</para> + </listitem> + + <listitem> <para>Valgrind has the following limitations in its implementation of PPC32 and PPC64 floating point arithmetic, relative to IEEE754.</para> Modified: trunk/docs/xml/manual-intro.xml =================================================================== --- trunk/docs/xml/manual-intro.xml 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/docs/xml/manual-intro.xml 2010-10-13 21:47:29 UTC (rev 11440) @@ -54,6 +54,12 @@ </listitem> <listitem> + <para><command>DHAT</command> is a different kind of heap + profiler. It helps you understand issues of block lifetimes, + block utilisation, and layout inefficiencies.</para> + </listitem> + + <listitem> <para><command>Ptrcheck</command> is an experimental heap, stack and global array overrun detector. Its functionality overlaps somewhat with Memcheck's, but it can find some problems that Memcheck would Modified: trunk/docs/xml/quick-start-guide.xml =================================================================== --- trunk/docs/xml/quick-start-guide.xml 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/docs/xml/quick-start-guide.xml 2010-10-13 21:47:29 UTC (rev 11440) @@ -48,7 +48,8 @@ idea, if you can tolerate the slowdown. With <option>-O1</option> line numbers in error messages can be inaccurate, although generally speaking running Memcheck on code compiled -at <option>-O1</option> works fairly well. +at <option>-O1</option> works fairly well, and the speed improvement +compared to running <option>-O0</option> is quite significant. Use of <option>-O2</option> and above is not recommended as Memcheck occasionally reports uninitialised-value errors which don't Modified: trunk/docs/xml/vg-entities.xml =================================================================== --- trunk/docs/xml/vg-entities.xml 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/docs/xml/vg-entities.xml 2010-10-13 21:47:29 UTC (rev 11440) @@ -2,12 +2,12 @@ <!ENTITY vg-jemail "ju...@va..."> <!ENTITY vg-vemail "val...@va..."> <!ENTITY cl-email "Jos...@gm..."> -<!ENTITY vg-lifespan "2000-2009"> +<!ENTITY vg-lifespan "2000-2010"> <!-- valgrind release + version stuff --> <!ENTITY rel-type "Release"> -<!ENTITY rel-version "3.5.0"> -<!ENTITY rel-date "19 August 2009"> +<!ENTITY rel-version "3.6.0"> +<!ENTITY rel-date "18 October 2010"> <!-- where the docs are installed --> <!ENTITY vg-docs-path "$INSTALL/share/doc/valgrind/html/index.html"> Modified: trunk/massif/docs/ms-manual.xml =================================================================== --- trunk/massif/docs/ms-manual.xml 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/massif/docs/ms-manual.xml 2010-10-13 21:47:29 UTC (rev 11440) @@ -688,6 +688,17 @@ </listitem> </varlistentry> + <varlistentry id="opt.pages-as-heap" xreflabel="--pages-as-heap"> + <term> + <option><![CDATA[--pages-as-heap=<yes|no> [default: no] ]]></option> + </term> + <listitem> + <para>Tells Massif to profile memory at the page level rather + than at the malloc'd block level. See above for details. + </para> + </listitem> + </varlistentry> + <varlistentry id="opt.depth" xreflabel="--depth"> <term> <option><![CDATA[--depth=<number> [default: 30] ]]></option> Modified: trunk/memcheck/docs/mc-manual.xml =================================================================== --- trunk/memcheck/docs/mc-manual.xml 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/memcheck/docs/mc-manual.xml 2010-10-13 21:47:29 UTC (rev 11440) @@ -763,7 +763,7 @@ <varlistentry id="opt.freelist-vol" xreflabel="--freelist-vol"> <term> - <option><![CDATA[--freelist-vol=<number> [default: 10000000] ]]></option> + <option><![CDATA[--freelist-vol=<number> [default: 20000000] ]]></option> </term> <listitem> <para>When the client program releases memory using @@ -779,7 +779,7 @@ have been freed.</para> <para>This option specifies the maximum total size, in bytes, of the - blocks in the queue. The default value is ten million bytes. + blocks in the queue. The default value is twenty million bytes. Increasing this increases the total amount of memory used by Memcheck but may detect invalid uses of freed blocks which would otherwise go undetected.</para> @@ -1153,8 +1153,8 @@ <para>Each byte in memory has 8 associated V (valid-value) bits, saying whether or not the byte has a defined value, and a single A (valid-address) bit, saying whether or not the program currently has - the right to read/write that address. (But, as mentioned above, heavy - use of compression means the overhead is typically less than 25%.)</para> + the right to read/write that address. As mentioned above, heavy + use of compression means the overhead is typically around 25%.</para> </listitem> <listitem> Modified: trunk/none/tests/cmdline1.stdout.exp =================================================================== --- trunk/none/tests/cmdline1.stdout.exp 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/none/tests/cmdline1.stdout.exp 2010-10-13 21:47:29 UTC (rev 11440) @@ -74,7 +74,7 @@ Nulgrind is Copyright (C) 2002-2010, and GNU GPL'd, by Nicholas Nethercote. Valgrind is Copyright (C) 2000-2010, and GNU GPL'd, by Julian Seward et al. - LibVEX is Copyright (C) 2004-2010, and GNU GPL'd, by OpenWorks LLP. + LibVEX is Copyright (C) 2004-2010, and GNU GPL'd, by OpenWorks LLP et al. Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. Modified: trunk/none/tests/cmdline2.stdout.exp =================================================================== --- trunk/none/tests/cmdline2.stdout.exp 2010-10-13 21:19:54 UTC (rev 11439) +++ trunk/none/tests/cmdline2.stdout.exp 2010-10-13 21:47:29 UTC (rev 11440) @@ -125,7 +125,7 @@ Nulgrind is Copyright (C) 2002-2010, and GNU GPL'd, by Nicholas Nethercote. Valgrind is Copyright (C) 2000-2010, and GNU GPL'd, by Julian Seward et al. - LibVEX is Copyright (C) 2004-2010, and GNU GPL'd, by OpenWorks LLP. + LibVEX is Copyright (C) 2004-2010, and GNU GPL'd, by OpenWorks LLP et al. Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org. |
|
From: <sv...@va...> - 2010-10-13 21:20:04
|
Author: sewardj Date: 2010-10-13 22:19:54 +0100 (Wed, 13 Oct 2010) New Revision: 11439 Log: Increase default size of the freed blocks queue from 10MB to 20MB. Modified: trunk/memcheck/mc_main.c Modified: trunk/memcheck/mc_main.c =================================================================== --- trunk/memcheck/mc_main.c 2010-10-13 14:06:00 UTC (rev 11438) +++ trunk/memcheck/mc_main.c 2010-10-13 21:19:54 UTC (rev 11439) @@ -4740,7 +4740,7 @@ /*------------------------------------------------------------*/ Bool MC_(clo_partial_loads_ok) = False; -Long MC_(clo_freelist_vol) = 10*1000*1000LL; +Long MC_(clo_freelist_vol) = 20*1000*1000LL; LeakCheckMode MC_(clo_leak_check) = LC_Summary; VgRes MC_(clo_leak_resolution) = Vg_HighRes; Bool MC_(clo_show_reachable) = False; @@ -4871,7 +4871,7 @@ " --undef-value-errors=no|yes check for undefined value errors [yes]\n" " --track-origins=no|yes show origins of undefined values? [no]\n" " --partial-loads-ok=no|yes too hard to explain here; see manual [no]\n" -" --freelist-vol=<number> volume of freed blocks queue [10000000]\n" +" --freelist-vol=<number> volume of freed blocks queue [20000000]\n" " --workaround-gcc296-bugs=no|yes self explanatory [no]\n" " --ignore-ranges=0xPP-0xQQ[,0xRR-0xSS] assume given addresses are OK\n" " --malloc-fill=<hexnumber> fill malloc'd areas with given value\n" |
|
From: <sv...@va...> - 2010-10-13 14:06:16
|
Author: sewardj
Date: 2010-10-13 15:06:00 +0100 (Wed, 13 Oct 2010)
New Revision: 11438
Log:
Add documentation for exp-dhat.
Added:
trunk/exp-dhat/docs/
trunk/exp-dhat/docs/dh-manual.xml
Modified:
trunk/docs/xml/manual.xml
trunk/exp-dhat/Makefile.am
Modified: trunk/docs/xml/manual.xml
===================================================================
--- trunk/docs/xml/manual.xml 2010-10-13 14:05:30 UTC (rev 11437)
+++ trunk/docs/xml/manual.xml 2010-10-13 14:06:00 UTC (rev 11438)
@@ -36,6 +36,8 @@
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="../../massif/docs/ms-manual.xml" parse="xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../exp-dhat/docs/dh-manual.xml" parse="xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="../../exp-ptrcheck/docs/pc-manual.xml" parse="xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="../../exp-bbv/docs/bbv-manual.xml" parse="xml"
Modified: trunk/exp-dhat/Makefile.am
===================================================================
--- trunk/exp-dhat/Makefile.am 2010-10-13 14:05:30 UTC (rev 11437)
+++ trunk/exp-dhat/Makefile.am 2010-10-13 14:06:00 UTC (rev 11438)
@@ -2,9 +2,7 @@
#SUBDIRS += perf
-#EXTRA_DIST = \
-# docs/dh-manual.xml \
-# docs/dh_print-manpage.xml
+EXTRA_DIST = docs/dh-manual.xml
#----------------------------------------------------------------------------
# Headers, etc
Added: trunk/exp-dhat/docs/dh-manual.xml
===================================================================
--- trunk/exp-dhat/docs/dh-manual.xml (rev 0)
+++ trunk/exp-dhat/docs/dh-manual.xml 2010-10-13 14:06:00 UTC (rev 11438)
@@ -0,0 +1,400 @@
+<?xml version="1.0"?> <!-- -*- sgml -*- -->
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+[ <!ENTITY % vg-entities SYSTEM "../../docs/xml/vg-entities.xml"> %vg-entities; ]>
+
+
+<chapter id="dh-manual"
+ xreflabel="DHAT: a dynamic heap analysis tool">
+ <title>DHAT: a dynamic heap analysis tool</title>
+
+<para>To use this tool, you must specify
+<option>--tool=exp-dhat</option> on the Valgrind
+command line.</para>
+
+
+
+<sect1 id="dh-manual.overview" xreflabel="Overview">
+<title>Overview</title>
+
+<para>DHAT is a tool for examining how programs use their heap
+allocations.</para>
+
+<para>It tracks the allocated blocks, and inspects every memory access
+to find which block, if any, it is to. The following data is
+collected and presented per allocation point (allocation
+stack):</para>
+
+<itemizedlist>
+ <listitem><para>Total allocation (number of bytes and
+ blocks)</para></listitem>
+
+ <listitem><para>maximum live volume (number of bytes and
+ blocks)</para></listitem>
+
+ <listitem><para>average block lifetime (number of instructions
+ between allocation and freeing)</para></listitem>
+
+ <listitem><para>average number of reads and writes to each byte in
+ the block ("access ratios")</para></listitem>
+
+ <listitem><para>for allocation points which always allocate blocks
+ only of one size, and that size is 4096 bytes or less: counts
+ showing how often each byte offset inside the block is
+ accessed.</para></listitem>
+</itemizedlist>
+
+<para>Using these statistics it is possible to identify allocation
+points with the following characteristics:</para>
+
+<itemizedlist>
+
+ <listitem><para>potential process-lifetime leaks: blocks allocated
+ by the point just accumulate, and are freed only at the end of the
+ run.</para></listitem>
+
+ <listitem><para>excessive turnover: points which chew through a lot
+ of heap, even if it is not held onto for very long</para></listitem>
+
+ <listitem><para>excessively transient: points which allocate very
+ short lived blocks</para></listitem>
+
+ <listitem><para>useless or underused allocations: blocks which are
+ allocated but not completely filled in, or are filled in but not
+ subsequently read.</para></listitem>
+
+ <listitem><para>blocks with inefficient layout -- areas never
+ accessed, or with hot fields scattered throughout the
+ block.</para></listitem>
+</itemizedlist>
+
+<para>As with the Massif heap profiler, DHAT measures program progress
+by counting instructions, and so presents all age/time related figures
+as instruction counts. This sounds a little odd at first, but it
+makes runs repeatable in a way which is not possible if CPU time is
+used.</para>
+
+</sect1>
+
+
+
+
+<sect1 id="dh-manual.understanding" xreflabel="Understanding DHAT's output">
+<title>Understanding DHAT's output</title>
+
+
+<para>DHAT provides a lot of useful information on dynamic heap usage.
+Most of the art of using it is in interpretation of the resulting
+numbers. That is best illustrated via a set of examples.</para>
+
+
+<sect2>
+<title>Interpreting the max-live, tot-alloc and deaths fields</title>
+
+<sect3><title>A simple example</title></sect3>
+
+<screen><![CDATA[
+ ======== SUMMARY STATISTICS ========
+
+ guest_insns: 1,045,339,534
+ [...]
+ max-live: 63,490 in 984 blocks
+ tot-alloc: 1,904,700 in 29,520 blocks (avg size 64.52)
+ deaths: 29,520, at avg age 22,227,424
+ acc-ratios: 6.37 rd, 1.14 wr (12,141,526 b-read, 2,174,460 b-written)
+ at 0x4C275B8: malloc (vg_replace_malloc.c:236)
+ by 0x40350E: tcc_malloc (tinycc.c:6712)
+ by 0x404580: tok_alloc_new (tinycc.c:7151)
+ by 0x40870A: next_nomacro1 (tinycc.c:9305)
+]]></screen>
+
+<para>Over the entire run of the program, this stack (allocation
+point) allocated 29,520 blocks in total, containing 1,904,700 bytes in
+total. By looking at the max-live data, we see that not many blocks
+were simultaneously live, though: at the peak, there were 63,490
+allocated bytes in 984 blocks. This tells us that the program is
+steadily freeing such blocks as it runs, rather than hanging on to all
+of them until the end and freeing them all.</para>
+
+<para>The deaths entry tells us that 29,520 blocks allocated by this stack
+died (were freed) during the run of the program. Since 29,520 is
+also the number of blocks allocated in total, that tells us that
+all allocated blocks were freed by the end of the program.</para>
+
+<para>It also tells us that the average age at death was 22,227,424
+instructions. From the summary statistics we see that the program ran
+for 1,045,339,534 instructions, and so the average age at death is
+about 2% of the program's total run time.</para>
+
+<sect3><title>Example of a potential process-lifetime leak</title></sect3>
+
+<para>This next example (from a different program than the above)
+shows a potential process lifetime leak. A process lifetime leak
+occurs when a program keeps allocating data, but only frees the
+data just before it exits. Hence the program's heap grows constantly
+in size, yet Memcheck reports no leak, because the program has
+freed up everything at exit. This is particularly a hazard for
+long running programs.</para>
+
+<screen><![CDATA[
+ ======== SUMMARY STATISTICS ========
+
+ guest_insns: 418,901,537
+ [...]
+ max-live: 32,512 in 254 blocks
+ tot-alloc: 32,512 in 254 blocks (avg size 128.00)
+ deaths: 254, at avg age 300,467,389
+ acc-ratios: 0.26 rd, 0.20 wr (8,756 b-read, 6,604 b-written)
+ at 0x4C275B8: malloc (vg_replace_malloc.c:236)
+ by 0x4C27632: realloc (vg_replace_malloc.c:525)
+ by 0x56FF41D: QtFontStyle::pixelSize(unsigned short, bool) (qfontdatabase.cpp:269)
+ by 0x5700D69: loadFontConfig() (qfontdatabase_x11.cpp:1146)
+]]></screen>
+
+<para>There are two tell-tale signs that this might be a
+process-lifetime leak. Firstly, the max-live and tot-alloc numbers
+are identical. The only way that can happen is if these blocks are
+all allocated and then all deallocated.</para>
+
+<para>Secondly, the average age at death (300 million insns) is 71% of
+the total program lifetime (419 million insns), hence this is not a
+transient allocation-free spike -- rather, it is spread out over a
+large part of the entire run. One interpretation is, roughly, that
+all 254 blocks were allocated in the first half of the run, held onto
+for the second half, and then freed just before exit.</para>
+
+</sect2>
+
+
+<sect2>
+<title>Interpreting the acc-ratios fields</title>
+
+
+<sect3><title>A fairly harmless allocation point record</title></sect3>
+
+<screen><![CDATA[
+ max-live: 49,398 in 808 blocks
+ tot-alloc: 1,481,940 in 24,240 blocks (avg size 61.13)
+ deaths: 24,240, at avg age 34,611,026
+ acc-ratios: 2.13 rd, 0.91 wr (3,166,650 b-read, 1,358,820 b-written)
+ at 0x4C275B8: malloc (vg_replace_malloc.c:236)
+ by 0x40350E: tcc_malloc (tinycc.c:6712)
+ by 0x404580: tok_alloc_new (tinycc.c:7151)
+ by 0x4046C4: tok_alloc (tinycc.c:7190)
+]]></screen>
+
+<para>The acc-ratios field tells us that each byte in the blocks
+allocated here is read an average of 2.13 times before the block is
+deallocated. Given that the blocks have an average age at death of
+34,611,026, that's one read per block per approximately every 15
+million instructions. So from that standpoint the blocks aren't
+"working" very hard.</para>
+
+<para>More interesting is the write ratio: each byte is written an
+average of 0.91 times. This tells us that some parts of the allocated
+blocks are never written, at least 9% on average. To completely
+initialise the block would require writing each byte at least once,
+and that would give a write ratio of 1.0. The fact that some block
+areas are evidently unused might point to data alignment holes or
+other layout inefficiencies.</para>
+
+<para>Well, at least all the blocks are freed (24,240 allocations,
+24,240 deaths).</para>
+
+<para>If all the blocks had been the same size, DHAT would also show
+the access counts by block offset, so we could see where exactly these
+unused areas are. However, that isn't the case: the blocks have
+varying sizes, so DHAT can't perform such an analysis. We can see
+that they must have varying sizes since the average block size, 61.13,
+isn't a whole number.</para>
+
+
+<sect3><title>A more suspicious looking example</title></sect3>
+
+<screen><![CDATA[
+ max-live: 180,224 in 22 blocks
+ tot-alloc: 180,224 in 22 blocks (avg size 8192.00)
+ deaths: none (none of these blocks were freed)
+ acc-ratios: 0.00 rd, 0.00 wr (0 b-read, 0 b-written)
+ at 0x4C275B8: malloc (vg_replace_malloc.c:236)
+ by 0x40350E: tcc_malloc (tinycc.c:6712)
+ by 0x40369C: __sym_malloc (tinycc.c:6787)
+ by 0x403711: sym_malloc (tinycc.c:6805)
+]]></screen>
+
+<para>Here, both the read and write access ratios are zero. Hence
+this point is allocating blocks which are never used, neither read nor
+written. Indeed, they are also not freed ("deaths: none") and are
+simply leaked. So, here is 180k of completely useless allocation that
+could be removed.</para>
+
+<para>Re-running with Memcheck does indeed report the same leak. What
+DHAT can tell us, that Memcheck can't, is that not only are the blocks
+leaked, they are also never used.</para>
+
+<sect3><title>Another suspicious example</title></sect3>
+
+<para>Here's one where blocks are allocated, written to,
+but never read from. We see this immediately from the zero read
+access ratio. They do get freed, though:</para>
+
+<screen><![CDATA[
+ max-live: 54 in 3 blocks
+ tot-alloc: 1,620 in 90 blocks (avg size 18.00)
+ deaths: 90, at avg age 34,558,236
+ acc-ratios: 0.00 rd, 1.11 wr (0 b-read, 1,800 b-written)
+ at 0x4C275B8: malloc (vg_replace_malloc.c:236)
+ by 0x40350E: tcc_malloc (tinycc.c:6712)
+ by 0x4035BD: tcc_strdup (tinycc.c:6750)
+ by 0x41FEBB: tcc_add_sysinclude_path (tinycc.c:20931)
+]]></screen>
+
+<para>In the previous two examples, it is easy to see blocks that are
+never written to, or never read from, or some combination of both.
+Unfortunately, in C++ code, the situation is less clear. That's
+because an object's constructor will write to the underlying block,
+and its destructor will read from it. So the block's read and write
+ratios will be non-zero even if the object, once constructed, is never
+used, but only eventually destructed.</para>
+
+<para>Really, what we want is to measure only memory accesses in
+between the end of an object's construction and the start of its
+destruction. Unfortunately I do not know of a reliable way to
+determine when those transitions are made.</para>
+
+
+</sect2>
+
+<sect2>
+<title>Interpreting "Aggregated access counts by offset" data</title>
+
+<para>For allocation points that always allocate blocks of the same
+size, and which are 4096 bytes or smaller, DHAT counts accesses
+per offset, for example:</para>
+
+<screen><![CDATA[
+ max-live: 317,408 in 5,668 blocks
+ tot-alloc: 317,408 in 5,668 blocks (avg size 56.00)
+ deaths: 5,668, at avg age 622,890,597
+ acc-ratios: 1.03 rd, 1.28 wr (327,642 b-read, 408,172 b-written)
+ at 0x4C275B8: malloc (vg_replace_malloc.c:236)
+ by 0x5440C16: QDesignerPropertySheetPrivate::ensureInfo (qhash.h:515)
+ by 0x544350B: QDesignerPropertySheet::setVisible (qdesigner_propertysh...)
+ by 0x5446232: QDesignerPropertySheet::QDesignerPropertySheet (qdesigne...)
+
+ Aggregated access counts by offset:
+
+ [ 0] 28782 28782 28782 28782 28782 28782 28782 28782
+ [ 8] 20638 20638 20638 20638 0 0 0 0
+ [ 16] 22738 22738 22738 22738 22738 22738 22738 22738
+ [ 24] 6013 6013 6013 6013 6013 6013 6013 6013
+ [ 32] 18883 18883 18883 37422 0 0 0 0
+ [ 36] 5668 11915 5668 5668 11336 11336 11336 11336
+ [ 48] 6166 6166 6166 6166 0 0 0 0
+]]></screen>
+
+<para>This is fairly typical, for C++ code running on a 64-bit
+platform. Here, we have aggregated access statistics for 5668 blocks,
+all of size 56 bytes. Each byte has been accessed at least 5668
+times, except for offsets 12--15, 36--39 and 52--55. These are likely
+to be alignment holes.</para>
+
+<para>Careful interpretation of the numbers reveals useful information.
+Groups of N consecutive identical numbers that begin at an N-aligned
+offset, for N being 2, 4 or 8, are likely to indicate an N-byte object
+in the structure at that point. For example, the first 32 bytes of
+this object are likely to have the layout</para>
+
+<screen><![CDATA[
+ [0 ] 64-bit type
+ [8 ] 32-bit type
+ [12] 32-bit alignment hole
+ [16] 64-bit type
+ [24] 64-bit type
+]]></screen>
+
+<para>As a counterexample, it's also clear that, whatever is at offset 32,
+it is not a 32-bit value. That's because the last number of the group
+(37422) is not the same as the first three (18883 18883 18883).</para>
+
+<para>This example leads one to enquire (by reading the source code)
+whether the zeroes at 12--15 and 52--55 are alignment holes, and
+whether 48--51 is indeed a 32-bit type. If so, it might be possible
+to place what's at 48--51 at 12--15 instead, which would reduce
+the object size from 56 to 48 bytes.</para>
+
+<para>Bear in mind that the above inferences are all only "maybes". That's
+because they are based on dynamic data, not static analysis of the
+object layout. For example, the zeroes might not be alignment
+holes, but rather just parts of the structure which were not used
+at all for this particular run. Experience shows that's unlikely
+to be the case, but it could happen.</para>
+
+</sect2>
+
+</sect1>
+
+
+
+
+
+
+
+<sect1 id="dh-manual.options" xreflabel="DHAT Command-line Options">
+<title>DHAT Command-line Options</title>
+
+<para>DHAT-specific command-line options are:</para>
+
+<!-- start of xi:include in the manpage -->
+<variablelist id="dh.opts.list">
+
+ <varlistentry id="opt.show-top-n" xreflabel="--show-top-n">
+ <term>
+ <option><![CDATA[--show-top-n=<number>
+ [default: 10] ]]></option>
+ </term>
+ <listitem>
+ <para>At the end of the run, DHAT sorts the accumulated
+ allocation points according to some metric, and shows the
+ highest scoring entries. <varname>--show-top-n</varname>
+ controls how many entries are shown. The default of 10 is
+ quite small. For realistic applications you will probably need
+ to set it much higher, at least several hundred.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="opt.sort-by" xreflabel="--sort-by=string">
+ <term>
+ <option><![CDATA[--sort-by=<string> [default: max-bytes-live] ]]></option>
+ </term>
+ <listitem>
+ <para>At the end of the run, DHAT sorts the accumulated
+ allocation points according to some metric, and shows the
+ highest scoring entries. <varname>--sort-by</varname>
+ selects the metric used for sorting:</para>
+ <para><varname>max-bytes-live </varname> maximum live bytes [default]</para>
+ <para><varname>tot-bytes-allocd </varname> total allocation (turnover)</para>
+ <para><varname>max-blocks-live </varname> maximum live blocks</para>
+ <para>This controls the order in which allocation points are
+ displayed. You can choose to look at allocation points with
+ the highest maximum liveness, or the highest total turnover, or
+ by the highest number of live blocks. These give usefully
+ different pictures of program behaviour. For example, sorting
+ by maximum live blocks tends to show up allocation points
+ creating large numbers of small objects.</para>
+ </listitem>
+ </varlistentry>
+
+</variablelist>
+
+<para>One important point to note is that each allocation stack counts
+as a seperate allocation point. Because stacks by default have 12
+frames, this tends to spread data out over multiple allocation points.
+You may want to use the flag --num-callers=4 or some such small
+number, to reduce the spreading.</para>
+
+<!-- end of xi:include in the manpage -->
+
+</sect1>
+
+</chapter>
|
|
From: <sv...@va...> - 2010-10-13 14:05:42
|
Author: sewardj Date: 2010-10-13 15:05:30 +0100 (Wed, 13 Oct 2010) New Revision: 11437 Log: Add heading items. Modified: trunk/NEWS Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-10-13 14:04:25 UTC (rev 11436) +++ trunk/NEWS 2010-10-13 14:05:30 UTC (rev 11437) @@ -1,6 +1,23 @@ Release 3.6.0 (???) ~~~~~~~~~~~~~~~~~~~ + +Ubuntu 10.10 and Fedora 14 support +gcc-4.5 and glibc-2.12 +DHAT +SSE4 +Power6 +Scalability improvements (code cache) +--fullpath-after +--require-text-symbol +Matching Valkyrie support (for Mc, Hg, Pc) +Hg annotation improvements +More reliable stack unwinding on amd64-linux + +Punted but under consideration for 3.7: +Support for code compiled by LLVM-2.8 +Support for adding symbols for JIT generated code + Improvements: - XXX: ARM support - XXX: Mac OS 10.6 support (32 and 64 bit) |
|
From: <sv...@va...> - 2010-10-13 14:04:37
|
Author: sewardj
Date: 2010-10-13 15:04:25 +0100 (Wed, 13 Oct 2010)
New Revision: 11436
Log:
* cosmetic output changes
* add an assertion that the core block lookup routine works sanely
Modified:
trunk/exp-dhat/dh_main.c
Modified: trunk/exp-dhat/dh_main.c
===================================================================
--- trunk/exp-dhat/dh_main.c 2010-10-12 22:47:09 UTC (rev 11435)
+++ trunk/exp-dhat/dh_main.c 2010-10-13 14:04:25 UTC (rev 11436)
@@ -114,7 +114,9 @@
return NULL;
tl_assert(foundval == 0); // we don't store vals in the interval tree
tl_assert(foundkey != 1);
- return (Block*)foundkey;
+ Block* res = (Block*)foundkey;
+ tl_assert(res != &fake);
+ return res;
}
// delete a block; asserts if not found. (viz, 'a' must be
@@ -959,7 +961,7 @@
" --sort-by=string\n"
" sort the allocation points by the metric\n"
" defined by <string>, thusly:\n"
-" max-bytes-live maximum live bytes\n"
+" max-bytes-live maximum live bytes [default]\n"
" tot-bytes-allocd total allocation (turnover)\n"
" max-blocks-live maximum live blocks\n"
);
@@ -997,9 +999,9 @@
bufA[0] = 'N'; bufA[1] = 'a'; bufA[2] = 'N';
}
- VG_(umsg)("max_live: %'llu in %'llu blocks\n",
+ VG_(umsg)("max-live: %'llu in %'llu blocks\n",
api->max_bytes_live, api->max_blocks_live);
- VG_(umsg)("tot_alloc: %'llu in %'llu blocks (avg size %s)\n",
+ VG_(umsg)("tot-alloc: %'llu in %'llu blocks (avg size %s)\n",
api->tot_bytes, api->tot_blocks, bufA);
tl_assert(api->tot_blocks >= api->max_blocks_live);
@@ -1033,7 +1035,7 @@
VG_(pp_ExeContext)(api->ap);
if (api->histo && api->xsize_tag == Exactly) {
- VG_(umsg)("\nAggregated access counts by offset\n");
+ VG_(umsg)("\nAggregated access counts by offset:\n");
VG_(umsg)("\n");
UWord i;
if (api->xsize > 0)
|
|
From: Bart V. A. <bva...@ac...> - 2010-10-13 08:05:26
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-10-13 02:31:39 EDT Ended at 2010-10-13 04:05:03 EDT 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 == 449 tests, 14 stderr failures, 11 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) callgrind/tests/simwork-both (stdout) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-branch (stdout) callgrind/tests/simwork-branch (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc32/testVMX (stdout) none/tests/ppc32/testVMX (stderr) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Rich C. <rc...@wi...> - 2010-10-13 05:40:18
|
Nightly build on ppc32 ( Linux 2.6.27.45-0.1-default ppc )
Started at 2010-10-12 23:26:01 CDT
Ended at 2010-10-13 00:40:03 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
== 443 tests, 19 stderr failures, 6 stdout failures, 2 post failures ==
memcheck/tests/badjump (stderr)
memcheck/tests/badjump2 (stderr)
memcheck/tests/linux/capget (stderr)
memcheck/tests/linux/stack_changes (stderr)
memcheck/tests/linux-syscalls-2007 (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/varinfo6 (stderr)
massif/tests/deep-D (post)
massif/tests/overloaded-new (post)
none/tests/linux/mremap (stderr)
none/tests/ppc32/jm-fp (stdout)
none/tests/ppc32/jm-fp (stderr)
none/tests/ppc32/power5+_round (stdout)
none/tests/ppc32/power5+_round (stderr)
none/tests/ppc32/round (stdout)
none/tests/ppc32/round (stderr)
none/tests/ppc32/test_fx (stdout)
none/tests/ppc32/test_fx (stderr)
none/tests/ppc32/test_gx (stdout)
none/tests/ppc32/testVMX (stdout)
none/tests/ppc32/testVMX (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
drd/tests/tc23_bogus_condwait (stderr)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-darwin
=================================================
--- tc23_bogus_condwait.stderr.exp-darwin 2010-10-13 00:03:24.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-13 00:39:45.000000000 -0500
@@ -3,61 +3,11 @@
at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
by 0x........: main (tc23_bogus_condwait.c:69)
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
+ by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-ppc
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-ppc 2010-10-13 00:03:24.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-13 00:39:45.000000000 -0500
@@ -6,8 +6,8 @@
Process terminating with default action of signal 7 (SIGBUS)
Invalid address alignment at address 0x........
- at 0x........: (within libpthread-?.?.so)
- by 0x........: pthread_cond_wait@@GLIBC_2.3.2(within libpthread-?.?.so)
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-x86
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-x86 2010-10-13 00:03:24.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-13 00:39:45.000000000 -0500
@@ -3,84 +3,11 @@
at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
by 0x........: main (tc23_bogus_condwait.c:69)
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-
-Thread 1:
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:28)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 1:
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:32)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
+ by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-ERROR SUMMARY: 11 errors from 9 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2010-10-13 00:03:04.000000000 -0500
+++ hg05_race2.stderr.out 2010-10-13 00:29:33.000000000 -0500
@@ -17,8 +17,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
Possible data race during write of size 4 at 0x........ by thread #x
at 0x........: th (hg05_race2.c:17)
@@ -28,8 +26,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-10-13 00:03:04.000000000 -0500
+++ tc06_two_races_xml.stderr.out 2010-10-13 00:30:15.000000000 -0500
@@ -45,11 +45,17 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>do_clone</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>pthread_create@@GLIBC_2.1</fn>
+ <dir>...</dir>
+ <file>createthread.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -121,6 +127,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -175,6 +184,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -229,6 +241,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -283,6 +298,9 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
+ <dir>...</dir>
+ <file>pthread_create.c</file>
+ <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff-glibc23-amd64
=================================================
--- tc09_bad_unlock.stderr.exp-glibc23-amd64 2010-10-13 00:03:04.000000000 -0500
+++ tc09_bad_unlock.stderr.out 2010-10-13 00:30:21.000000000 -0500
@@ -31,14 +31,13 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-Thread #x deallocated location 0x........ containing a locked lock
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:49)
- Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
+---------------------
Thread #x unlocked a not-locked lock at 0x........
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:27)
@@ -46,6 +45,20 @@
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x: Attempt to re-lock a non-recursive lock I already hold
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
+ by 0x........: main (tc09_bad_unlock.c:50)
+ Lock was previously acquired
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
by 0x........: main (tc09_bad_unlock.c:50)
Thread #x was created
@@ -62,20 +75,21 @@
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
+ by 0x........: main (tc09_bad_unlock.c:49)
Thread #x unlocked an invalid lock at 0x........
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Thread #x deallocated location 0x........ containing a locked lock
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:50)
- Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
-ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff-glibc25-amd64
=================================================
--- tc09_bad_unlock.stderr.exp-glibc25-amd64 2010-10-13 00:03:04.000000000 -0500
+++ tc09_bad_unlock.stderr.out 2010-10-13 00:30:21.000000000 -0500
@@ -51,6 +51,10 @@
at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:32)
by 0x........: main (tc09_bad_unlock.c:50)
+ Lock was previously acquired
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
+ by 0x........: main (tc09_bad_unlock.c:49)
Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion
at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff-glibc25-x86
=================================================
--- tc09_bad_unlock.stderr.exp-glibc25-x86 2010-10-13 00:03:04.000000000 -0500
+++ tc09_bad_unlock.stderr.out 2010-10-13 00:30:21.000000000 -0500
@@ -37,14 +37,7 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-Thread #x deallocated location 0x........ containing a locked lock
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:49)
- Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:49)
-
+---------------------
Thread #x unlocked a not-locked lock at 0x........
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:27)
@@ -52,6 +45,20 @@
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x: Attempt to re-lock a non-recursive lock I already hold
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
+ by 0x........: main (tc09_bad_unlock.c:50)
+ Lock was previously acquired
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
by 0x........: main (tc09_bad_unlock.c:50)
Thread #x was created
@@ -68,7 +75,7 @@
Lock at 0x........ was first observed
at 0x........: pthread_mutex_init (hg_intercepts.c:...)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
+ by 0x........: main (tc09_bad_unlock.c:49)
Thread #x unlocked an invalid lock at 0x........
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
@@ -81,13 +88,8 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Thread #x deallocated location 0x........ containing a locked lock
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:50)
- Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
+Thread #x: Exiting thread still holds 1 lock
+ ...
-ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-10-13 00:03:04.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-13 00:31:34.000000000 -0500
@@ -5,29 +5,21 @@
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
-Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-
-Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:64)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:108)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:61)
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Exiting thread still holds 1 lock
+ ...
+ ...
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/massif/tests/deep-D.post.diff
=================================================
--- deep-D.post.exp 2010-10-13 00:03:13.000000000 -0500
+++ deep-D.post.out 2010-10-13 00:26:03.000000000 -0500
@@ -46,8 +46,9 @@
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->98.04% (3,600B) 0x........: (below main)
-
+->98.04% (3,600B) 0x........: ??? (in /...libc...)
+ ->98.04% (3,600B) 0x........: (below main)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/massif/tests/overloaded-new.post.diff
=================================================
--- overloaded-new.post.exp 2010-10-13 00:03:13.000000000 -0500
+++ overloaded-new.post.out 2010-10-13 00:26:14.000000000 -0500
@@ -42,14 +42,18 @@
4 12,032 12,032 12,000 32 0
5 12,032 12,032 12,000 32 0
99.73% (12,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
-|
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
-
+->33.24% (4,000B) 0x........: operator new(unsigned int) (overloaded-new.cpp:19)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
+|
+->33.24% (4,000B) 0x........: operator new(unsigned int, std::nothrow_t const&) (overloaded-new.cpp:24)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int) (overloaded-new.cpp:29)
+| ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int, std::nothrow_t const&) (overloaded-new.cpp:34)
+ ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/memcheck/tests/badjump.stderr.diff
=================================================
--- badjump.stderr.exp 2010-10-13 00:03:12.000000000 -0500
+++ badjump.stderr.out 2010-10-13 00:19:12.000000000 -0500
@@ -1,6 +1,7 @@
Jump to the invalid address stated on the next line
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -8,6 +9,7 @@
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
=================================================
./valgrind-new/memcheck/tests/badjump2.stderr.diff
=================================================
--- badjump2.stderr.exp 2010-10-13 00:03:11.000000000 -0500
+++ badjump2.stderr.out 2010-10-13 00:19:14.000000000 -0500
@@ -1,5 +1,6 @@
Jump to the invalid address stated on the next line
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
=================================================
./valgrind-new/memcheck/tests/linux-syscalls-2007.stderr.diff
=================================================
--- linux-syscalls-2007.stderr.exp 2010-10-13 00:03:11.000000000 -0500
+++ linux-syscalls-2007.stderr.out 2010-10-13 00:20:51.000000000 -0500
@@ -1,4 +1,9 @@
+WARNING: unhandled syscall: 281
+You may be able to write your own handler.
+Read the file README_MISSING_SYSCALL_OR_IOCTL.
+Nevertheless we consider this a bug. Please report
+it at http://valgrind.org/support/bug_reports.html.
HEAP SUMMARY:
in use at exit: ... bytes in ... blocks
=================================================
./valgrind-new/memcheck/tests/linux/capget.stderr.diff
=================================================
--- capget.stderr.exp 2010-10-13 00:03:10.000000000 -0500
+++ capget.stderr.out 2010-10-13 00:20:15.000000000 -0500
@@ -1,7 +1,7 @@
capget result:
-effective 0
-permitted 0
+effective 0x........
+permitted 0x........
inheritable 0
HEAP SUMMARY:
=================================================
./valgrind-new/memcheck/tests/linux/stack_changes.stderr.diff
=================================================
--- stack_changes.stderr.exp 2010-10-13 00:03:10.000000000 -0500
+++ stack_changes.stderr.out 2010-10-13 00:20:37.000000000 -0500
@@ -0,0 +1,5 @@
+WARNING: unhandled syscall: 249
+You may be able to write your own handler.
+Read the file README_MISSING_SYSCALL_OR_IOCTL.
+Nevertheless we consider this a bug. Please report
+it at http://valgrind.org/support/bug_reports.html.
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2010-10-13 00:03:11.000000000 -0500
+++ origin5-bz2.stderr.out 2010-10-13 00:21:58.000000000 -0500
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2010-10-13 00:03:12.000000000 -0500
+++ origin5-bz2.stderr.out 2010-10-13 00:21:58.000000000 -0500
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2010-10-13 00:03:11.000000000 -0500
+++ origin5-bz2.stderr.out 2010-10-13 00:21:58.000000000 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,25 +9,25 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -36,9 +36,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -47,9 +47,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -58,9 +58,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -69,9 +69,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -80,9 +80,9 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/supp_unknown.stderr.diff
=================================================
--- supp_unknown.stderr.exp 2010-10-13 00:03:11.000000000 -0500
+++ supp_unknown.stderr.out 2010-10-13 00:23:46.000000000 -0500
@@ -1,7 +1,14 @@
+Jump to the invalid address stated on the next line
+ at 0x........: ???
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2010-10-13 00:03:11.000000000 -0500
+++ varinfo6.stderr.out 2010-10-13 00:24:24.000000000 -0500
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2010-10-13 00:03:11.000000000 -0500
+++ varinfo6.stderr.out 2010-10-13 00:24:24.000000000 -0500
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-new/none/tests/linux/mremap.stderr.diff
=================================================
--- mremap.stderr.exp 2010-10-13 00:03:19.000000000 -0500
+++ mremap.stderr.out 2010-10-13 00:27:11.000000000 -0500
@@ -1,3 +1,12 @@
-mremap(grow, nomove, constrained): Cannot allocate memory
+mremap(shrink, fixed): Invalid argument
+shrink, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(shrink, maymove): Invalid argument
+shrink, maymove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, fixed): Invalid argument
+grow, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, maymove): Invalid argument
+grow, maymove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, nomove, constrained): Invalid argument
+mremap(grow, maymove, constrained): Invalid argument
=================================================
./valgrind-new/none/tests/linux/mremap.stderr.diff-glibc27
=================================================
--- mremap.stderr.exp-glibc27 2010-10-13 00:03:19.000000000 -0500
+++ mremap.stderr.out 2010-10-13 00:27:11.000000000 -0500
@@ -1,6 +1,12 @@
-mremap(grow, fixed): Cannot allocate memory
+mremap(shrink, fixed): Invalid argument
+shrink, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(shrink, maymove): Invalid argument
+shrink, maymove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, fixed): Invalid argument
grow, nomove: p=0x........ np=0x........: shrink moved?!
+mremap(grow, maymove): Invalid argument
grow, maymove: p=0x........ np=0x........: shrink moved?!
-mremap(grow, nomove, constrained): Cannot allocate memory
+mremap(grow, nomove, constrained): Invalid argument
+mremap(grow, maymove, constrained): Invalid argument
=================================================
./valgrind-new/none/tests/ppc32/jm-fp.stderr.diff
=================================================
--- jm-fp.stderr.exp 2010-10-13 00:03:18.000000000 -0500
+++ jm-fp.stderr.out 2010-10-13 00:27:44.000000000 -0500
@@ -1,2 +1,23 @@
+disInstr(ppc): declined to decode a GeneralPurpose-Optional insn.
+disInstr(ppc): unhandled instruction: 0x........
+ primary 63(0x........), secondary 44(0x........)
+valgrind: Unrecognised instruction at address 0x.........
+Your program just tried to execute an instruction that Valgrind
+did not recognise. There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+ location. If you are running Memcheck and you just saw a
+ warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+ i.e. it's Valgrind's fault. If you think this is the case or
+ you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
+
+Process terminating with default action of signal 4 (SIGILL)
+ Illegal opcode at address 0x........
+ at 0x........: test_fsqrt (jm-insns.c:1986)
+ by 0x........: test_float_one_arg (jm-insns.c:5738)
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
=================================================
./valgrind-new/none/tests/ppc32/jm-fp.stdout.diff
=================================================
--- jm-fp.stdout.exp 2010-10-13 00:03:18.000000000 -0500
+++ jm-fp.stdout.out 2010-10-13 00:27:44.000000000 -0500
@@ -794,570 +794,4 @@
fnabs 0010000000000001 => 8010000000000001
fnabs 00100094e0000359 => 80100094e0000359
- fnabs 3fe0000000000001 => bfe0000000000001
- fnabs 3fe00094e0000359 => bfe00094e0000359
- fnabs 8010000000000001 => 8010000000000001
- fnabs 80100094e0000359 => 80100094e0000359
- fnabs bfe0000000000001 => bfe0000000000001
- fnabs bfe00094e0000359 => bfe00094e0000359
- fnabs 0000000000000000 => 8000000000000000
- fnabs 8000000000000000 => 8000000000000000
- fnabs 7ff0000000000000 => fff0000000000000
- fnabs fff0000000000000 => fff0000000000000
- fnabs 7ff7ffffffffffff => fff7ffffffffffff
- fnabs fff7ffffffffffff => fff7ffffffffffff
- fnabs 7ff8000000000000 => fff8000000000000
- fnabs fff8000000000000 => fff8000000000000
-
- fsqrt 0010000000000001 => 2000000000000000
- fsqrt 00100094e0000359 => 2000004a6f52dd4a
- fsqrt 3fe0000000000001 => 3fe6a09e667f3bcd
- fsqrt 3fe00094e0000359 => 3fe6a107aacb50df
- fsqrt 8010000000000001 => 7ff8000000000000
- fsqrt 80100094e0000359 => 7ff8000000000000
- fsqrt bfe0000000000001 => 7ff8000000000000
- fsqrt bfe00094e0000359 => 7ff8000000000000
- fsqrt 0000000000000000 => 0000000000000000
- fsqrt 8000000000000000 => 8000000000000000
- fsqrt 7ff0000000000000 => 7ff0000000000000
- fsqrt fff0000000000000 => 7ff8000000000000
- fsqrt 7ff7ffffffffffff => 7fffffffffffffff
- fsqrt fff7ffffffffffff => ffffffffffffffff
- fsqrt 7ff8000000000000 => 7ff8000000000000
- fsqrt fff8000000000000 => fff8000000000000
-
-PPC floating point arith insns
- with one arg with flags update:
- frsp. 0010000000000001 => 0000000000000000
- frsp. 00100094e0000359 => 0000000000000000
- frsp. 3fe0000000000001 => 3fe0000000000000
- frsp. 3fe00094e0000359 => 3fe00094e0000000
- frsp. 8010000000000001 => 8000000000000000
- frsp. 80100094e0000359 => 8000000000000000
- frsp. bfe0000000000001 => bfe0000000000000
- frsp. bfe00094e0000359 => bfe00094e0000000
- frsp. 0000000000000000 => 0000000000000000
- frsp. 8000000000000000 => 8000000000000000
- frsp. 7ff0000000000000 => 7ff0000000000000
- frsp. fff0000000000000 => fff0000000000000
- frsp. 7ff7ffffffffffff => 7fffffffe0000000
- frsp. fff7ffffffffffff => ffffffffe0000000
- frsp. 7ff8000000000000 => 7ff8000000000000
- frsp. fff8000000000000 => fff8000000000000
-
- fctiw. 0010000000000001 => 0000000000000000
- fctiw. 00100094e0000359 => 0000000000000000
- fctiw. 3fe0000000000001 => 0000000000000001
- fctiw. 3fe00094e0000359 => 0000000000000001
- fctiw. 8010000000000001 => 0000000000000000
- fctiw. 80100094e0000359 => 0000000000000000
- fctiw. bfe0000000000001 => 00000000ffffffff
- fctiw. bfe00094e0000359 => 00000000ffffffff
- fctiw. 0000000000000000 => 0000000000000000
- fctiw. 8000000000000000 => 0000000000000000
- fctiw. 7ff0000000000000 => 000000007fffffff
- fctiw. fff0000000000000 => 0000000080000000
- fctiw. 7ff7ffffffffffff => 0000000080000000
- fctiw. fff7ffffffffffff => 0000000080000000
- fctiw. 7ff8000000000000 => 0000000080000000
- fctiw. fff8000000000000 => 0000000080000000
-
- fctiwz. 0010000000000001 => 0000000000000000
- fctiwz. 00100094e0000359 => 0000000000000000
- fctiwz. 3fe0000000000001 => 0000000000000000
- fctiwz. 3fe00094e0000359 => 0000000000000000
- fctiwz. 8010000000000001 => 0000000000000000
- fctiwz. 80100094e0000359 => 0000000000000000
- fctiwz. bfe0000000000001 => 0000000000000000
- fctiwz. bfe00094e0000359 => 0000000000000000
- fctiwz. 0000000000000000 => 0000000000000000
- fctiwz. 8000000000000000 => 0000000000000000
- fctiwz. 7ff0000000000000 => 000000007fffffff
- fctiwz. fff0000000000000 => 0000000080000000
- fctiwz. 7ff7ffffffffffff => 0000000080000000
- fctiwz. fff7ffffffffffff => 0000000080000000
- fctiwz. 7ff8000000000000 => 0000000080000000
- fctiwz. fff8000000000000 => 0000000080000000
-
- fmr. 0010000000000001 => 0010000000000001
- fmr. 00100094e0000359 => 00100094e0000359
- fmr. 3fe0000000000001 => 3fe0000000000001
- fmr. 3fe00094e0000359 => 3fe00094e0000359
- fmr. 8010000000000001 => 8010000000000001
- fmr. 80100094e0000359 => 80100094e0000359
- fmr. bfe0000000000001 => bfe0000000000001
- fmr. bfe00094e0000359 => bfe00094e0000359
- fmr. 0000000000000000 => 0000000000000000
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/ppc32/power5+_round.stderr.diff
=================================================
--- power5+_round.stderr.exp 2010-10-13 00:03:18.000000000 -0500
+++ power5+_round.stderr.out 2010-10-13 00:27:52.000000000 -0500
@@ -1,2 +1,19 @@
+disInstr(ppc): unhandled instruction: 0x........
+ primary 63(0x........), secondary 784(0x........)
+valgrind: Unrecognised instruction at address 0x.........
+Your program just tried to execute an instruction that Valgrind
+did not recognise. There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+ location. If you are running Memcheck and you just saw a
+ warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+ i.e. it's Valgrind's fault. If you think this is the case or
+ you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
+
+Process terminating with default action of signal 4 (SIGILL)
+ Illegal opcode at address 0x........
+ at 0x........: main (power5+_round.c:124)
=================================================
./valgrind-new/none/tests/ppc32/power5+_round.stdout.diff
=================================================
--- power5+_round.stdout.exp 2010-10-13 00:03:18.000000000 -0500
+++ power5+_round.stdout.out 2010-10-13 00:27:51.000000000 -0500
@@ -1,60 +0,0 @@
-frin inf inf 0 PASS
-frin 1.9 2 0 PASS
-frin 1.1 1 0 PASS
-frin 0 0 0 PASS
-frin -0 -0 0 PASS
-frin -1.1 -1 0 PASS
-frin -1.9 -2 0 PASS
-frin -inf -inf 0 PASS
-frin nan nan 0 PASS
-frin 0.9 1 0 PASS
-frin 0.1 0 0 PASS
-frin -0.1 -0 0 PASS
-frin -0.9 -1 0 PASS
-frin 1e-40 0 0 PASS
-frin -1e-40 -0 0 PASS
-friz inf inf 0 PASS
-friz 1.9 1 0 PASS
-friz 1.1 1 0 PASS
-friz 0 0 0 PASS
-friz -0 -0 0 PASS
-friz -1.1 -1 0 PASS
-friz -1.9 -1 0 PASS
-friz -inf -inf 0 PASS
-friz nan nan 0 PASS
-friz 0.9 0 0 PASS
-friz 0.1 0 0 PASS
-friz -0.1 -0 0 PASS
-friz -0.9 -0 0 PASS
-friz 1e-40 0 0 PASS
-friz -1e-40 -0 0 PASS
-frip inf inf 0 PASS
-frip 1.9 2 0 PASS
-frip 1.1 2 0 PASS
-frip 0 0 0 PASS
-frip -0 -0 0 PASS
-frip -1.1 -1 0 PASS
-frip -1.9 -1 0 PASS
-frip -inf -inf 0 PASS
-frip nan nan 0 PASS
-frip 0.9 1 0 PASS
-frip 0.1 1 0 PASS
-frip -0.1 -0 0 PASS
-frip -0.9 -0 0 PASS
-frip 1e-40 1 0 PASS
-frip -1e-40 -0 0 PASS
-frim inf inf 0 PASS
-frim 1.9 1 0 PASS
-frim 1.1 1 0 PASS
-frim 0 0 0 PASS
-frim -0 -0 0 PASS
-frim -1.1 -2 0 PASS
-frim -1.9 -2 0 PASS
-frim -inf -inf 0 PASS
-frim nan nan 0 PASS
-frim 0.9 0 0 PASS
-frim 0.1 0 0 PASS
-frim -0.1 -1 0 PASS
-frim -0.9 -1 0 PASS
-frim 1e-40 0 0 PASS
-frim -1e-40 -1 0 PASS
=================================================
./valgrind-new/none/tests/ppc32/round.stderr.diff
=================================================
--- round.stderr.exp 2010-10-13 00:03:18.000000000 -0500
+++ round.stderr.out 2010-10-13 00:27:54.000000000 -0500
@@ -1,2 +1,22 @@
+disInstr(ppc): declined to decode a GeneralPurpose-Optional insn.
+disInstr(ppc): unhandled instruction: 0x........
+ primary 63(0x........), secondary 44(0x........)
+valgrind: Unrecognised instruction at address 0x.........
+Your program just tried to execute an instruction that Valgrind
+did not recognise. There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+ location. If you are running Memcheck and you just saw a
+ warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+ i.e. it's Valgrind's fault. If you think this is the case or
+ you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
+
+Process terminating with default action of signal 4 (SIGILL)
+ Illegal opcode at address 0x........
+ at 0x........: check_double_guarded_arithmetic_op (round.c:1116)
+ by 0x........: test_float_arithmetic_ops (round.c:1185)
+ by 0x........: main (round.c:1206)
=================================================
./valgrind-new/none/tests/ppc32/round.stdout.diff
=================================================
--- round.stdout.exp 2010-10-13 00:03:18.000000000 -0500
+++ round.stdout.out 2010-10-13 00:27:54.000000000 -0500
@@ -2259,77 +2259,4 @@
-inf:PASSED:fnmsub(-0x1.000000000000bp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a00000000000dp+0
-inf:PASSED:fnmsub(-0x1.000000000000cp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a00000000000ep+0
-inf:PASSED:fnmsub(-0x1.000000000000dp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a00000000001p+0
--inf:PASSED:fnmsub(-0x1.000000000000ep+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a000000000011p+0
--inf:PASSED:fnmsub(-0x1.000000000000fp+0, 0x1.2p+0 , 0x1.0000000000001p-1) = 0x1.a000000000012p+0
--inf:PASSED:fnmsub(0x1p+0 , 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.ap+0
--inf:PASSED:fnmsub(0x1.0000000000001p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000001p+0
--inf:PASSED:fnmsub(0x1.0000000000002p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000002p+0
--inf:PASSED:fnmsub(0x1.0000000000003p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000003p+0
--inf:PASSED:fnmsub(0x1.0000000000004p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000005p+0
--inf:PASSED:fnmsub(0x1.0000000000005p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000006p+0
--inf:PASSED:fnmsub(0x1.0000000000006p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000007p+0
--inf:PASSED:fnmsub(0x1.0000000000007p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000008p+0
--inf:PASSED:fnmsub(0x1.0000000000008p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000009p+0
--inf:PASSED:fnmsub(0x1.0000000000009p+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000ap+0
--inf:PASSED:fnmsub(0x1.000000000000ap+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000bp+0
--inf:PASSED:fnmsub(0x1.000000000000bp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000cp+0
--inf:PASSED:fnmsub(0x1.000000000000cp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000ep+0
--inf:PASSED:fnmsub(0x1.000000000000dp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000000fp+0
--inf:PASSED:fnmsub(0x1.000000000000ep+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a00000000001p+0
--inf:PASSED:fnmsub(0x1.000000000000fp+0, 0x1.2p+0 , -0x1.0000000000001p-1) = -0x1.a000000000011p+0
-near:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049ep-1
-near:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6dp+0
-near:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3bfp+0
-near:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0937p-1
-near:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b2p+0
-near:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7483p+0
-near:PASSED:fsqrt(0x1.b9p-1 ) = 0x1.db2cfe686fe7cp-1
-near:PASSED:fsqrt(0x1.1d02p+0 ) = 0x1.0e1d62e78ed9ep+0
-near:PASSED:fsqrt(0x1.c39p-1 ) = 0x1.e0d526020fb6cp-1
-near:PASSED:fsqrt(0x1.9p-1 ) = 0x1.c48c6001f0acp-1
-near:PASSED:fsqrt(0x1.4852p+0 ) = 0x1.21e9ed813e2e3p+0
-near:PASSED:fsqrt(0x1.e984p-1 ) = 0x1.f4a1b09bbf0b1p-1
-near:PASSED:fsqrt(0x1.9a1p-1 ) = 0x1.ca34879b907afp-1
-near:PASSED:fsqrt(0x1.76b2p+0 ) = 0x1.35b6781aed828p+0
-zero:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049ep-1
-zero:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6dp+0
-zero:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3bfp+0
-zero:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0937p-1
-zero:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b2p+0
-zero:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7483p+0
-zero:PASSED:fsqrt(0x1.b9p-1 ) = 0x1.db2cfe686fe7cp-1
-zero:PASSED:fsqrt(0x1.1d02p+0 ) = 0x1.0e1d62e78ed9dp+0
-zero:PASSED:fsqrt(0x1.c39p-1 ) = 0x1.e0d526020fb6bp-1
-zero:PASSED:fsqrt(0x1.9p-1 ) = 0x1.c48c6001f0abfp-1
-zero:PASSED:fsqrt(0x1.4852p+0 ) = 0x1.21e9ed813e2e2p+0
-zero:PASSED:fsqrt(0x1.e984p-1 ) = 0x1.f4a1b09bbf0bp-1
-zero:PASSED:fsqrt(0x1.9a1p-1 ) = 0x1.ca34879b907aep-1
-zero:PASSED:fsqrt(0x1.76b2p+0 ) = 0x1.35b6781aed827p+0
-+inf:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049fp-1
-+inf:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6ep+0
-+inf:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3cp+0
-+inf:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0938p-1
-+inf:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b3p+0
-+inf:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7484p+0
-+inf:PASSED:fsqrt(0x1.b9p-1 ) = 0x1.db2cfe686fe7dp-1
-+inf:PASSED:fsqrt(0x1.1d02p+0 ) = 0x1.0e1d62e78ed9ep+0
-+inf:PASSED:fsqrt(0x1.c39p-1 ) = 0x1.e0d526020fb6cp-1
-+inf:PASSED:fsqrt(0x1.9p-1 ) = 0x1.c48c6001f0acp-1
-+inf:PASSED:fsqrt(0x1.4852p+0 ) = 0x1.21e9ed813e2e3p+0
-+inf:PASSED:fsqrt(0x1.e984p-1 ) = 0x1.f4a1b09bbf0b1p-1
-+inf:PASSED:fsqrt(0x1.9a1p-1 ) = 0x1.ca34879b907afp-1
-+inf:PASSED:fsqrt(0x1.76b2p+0 ) = 0x1.35b6781aed828p+0
--inf:PASSED:fsqrt(0x1.a44p-1 ) = 0x1.cfdcaf353049ep-1
--inf:PASSED:fsqrt(0x1.a822p+0 ) = 0x1.498302b49cd6dp+0
--inf:PASSED:fsqrt(0x1.05a2p+0 ) = 0x1.02cd13b44f3bfp+0
--inf:PASSED:fsqrt(0x1.9504p-1 ) = 0x1.c76073cec0937p-1
--inf:PASSED:fsqrt(0x1.dca2p+0 ) = 0x1.5d4f8d4e4c2b2p+0
--inf:PASSED:fsqrt(0x1.02c8p+0 ) = 0x1.016309cde7483p+0
--inf:PASSED:fsqrt(0x1.b9p-...
[truncated message content] |
|
From: Rich C. <rc...@wi...> - 2010-10-13 04:33:29
|
Nightly build on macbook ( Darwin 9.8.0 i386 )
Started at 2010-10-12 23:05:00 CDT
Ended at 2010-10-12 23:32:55 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
== 434 tests, 70 stderr failures, 14 stdout failures, 9 post failures ==
memcheck/tests/darwin/scalar (stderr)
memcheck/tests/null_socket (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/signal2 (stdout)
memcheck/tests/signal2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo5 (stderr)
massif/tests/peak (stderr)
massif/tests/peak (post)
massif/tests/peak2 (stderr)
massif/tests/peak2 (post)
massif/tests/realloc (stderr)
massif/tests/realloc (post)
massif/tests/thresholds_0_0 (stderr)
massif/tests/thresholds_0_0 (post)
massif/tests/thresholds_0_10 (stderr)
massif/tests/thresholds_0_10 (post)
massif/tests/thresholds_10_0 (stderr)
massif/tests/thresholds_10_0 (post)
massif/tests/thresholds_10_10 (stderr)
massif/tests/thresholds_10_10 (post)
massif/tests/thresholds_5_0 (stderr)
massif/tests/thresholds_5_0 (post)
massif/tests/thresholds_5_10 (stderr)
massif/tests/thresholds_5_10 (post)
none/tests/async-sigs (stderr)
none/tests/coolo_sigaction (stdout)
none/tests/coolo_sigaction (stderr)
none/tests/faultstatus (stderr)
none/tests/pending (stdout)
none/tests/pending (stderr)
none/tests/pth_blockedsig (stdout)
none/tests/pth_blockedsig (stderr)
none/tests/require-text-symbol-2 (stderr)
none/tests/sigstackgrowth (stdout)
none/tests/sigstackgrowth (stderr)
none/tests/x86/badseg (stdout)
none/tests/x86/badseg (stderr)
none/tests/x86/fxtract (stdout)
helgrind/tests/annotate_hbefore (stderr)
helgrind/tests/hg01_all_ok (stderr)
helgrind/tests/hg02_deadlock (stderr)
helgrind/tests/hg03_inherit (stderr)
helgrind/tests/hg04_race (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/hg06_readshared (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/rwlock_test (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc02_simple_tls (stderr)
helgrind/tests/tc03_re_excl (stderr)
helgrind/tests/tc05_simple_race (stderr)
helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc07_hbl1 (stdout)
helgrind/tests/tc07_hbl1 (stderr)
helgrind/tests/tc08_hbl2 (stdout)
helgrind/tests/tc08_hbl2 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc11_XCHG (stdout)
helgrind/tests/tc11_XCHG (stderr)
helgrind/tests/tc12_rwl_trivial (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc16_byterace (stderr)
helgrind/tests/tc17_sembar (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc19_shadowmem (stderr)
helgrind/tests/tc21_pthonce (stdout)
helgrind/tests/tc21_pthonce (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
helgrind/tests/tc24_nonzero_sem (stderr)
drd/tests/bug-235681 (stderr)
drd/tests/hold_lock_1 (stderr)
drd/tests/hold_lock_2 (stderr)
drd/tests/monitor_example (stderr)
drd/tests/pth_broadcast (stderr)
drd/tests/pth_cancel_locked (stderr)
drd/tests/pth_cond_race (stderr)
drd/tests/pth_cond_race2 (stderr)
drd/tests/pth_cond_race3 (stderr)
drd/tests/pth_detached (stdout)
drd/tests/pth_detached (stderr)
drd/tests/pth_detached2 (stdout)
drd/tests/pth_detached2 (stderr)
drd/tests/pth_inconsistent_cond_wait (stderr)
drd/tests/pth_uninitialized_cond (stderr)
drd/tests/rwlock_race (stderr)
drd/tests/rwlock_test (stderr)
drd/tests/rwlock_type_checking (stderr)
drd/tests/tc12_rwl_trivial (stderr)
drd/tests/tc17_sembar (stderr)
drd/tests/tc23_bogus_condwait (stderr)
drd/tests/trylock (stderr)
=================================================
./valgrind-new/drd/tests/bug-235681.stderr.diff
=================================================
--- bug-235681.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ bug-235681.stderr.out 2010-10-12 23:31:44.000000000 -0500
@@ -1,4 +1,9 @@
-Done.
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_mutex_lock (in /...libc...)
+ by 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/hold_lock_1.stderr.diff
=================================================
--- hold_lock_1.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ hold_lock_1.stderr.out 2010-10-12 23:31:59.000000000 -0500
@@ -11,17 +11,12 @@
by 0x........: main (hold_lock.c:?)
Locking rwlock exclusively ...
-Acquired at:
- at 0x........: pthread_rwlock_wrlock (drd_pthread_intercepts.c:?)
- by 0x........: main (hold_lock.c:?)
-Lock on rwlock 0x........ was held during ... ms (threshold: 500 ms).
- at 0x........: pthread_rwlock_unlock (drd_pthread_intercepts.c:?)
- by 0x........: main (hold_lock.c:?)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (hold_lock.c:?)
-Locking rwlock shared ...
-Done.
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (hold_lock.c:?)
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/hold_lock_2.stderr.diff
=================================================
--- hold_lock_2.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ hold_lock_2.stderr.out 2010-10-12 23:32:01.000000000 -0500
@@ -1,17 +1,12 @@
Locking mutex ...
Locking rwlock exclusively ...
-Locking rwlock shared ...
-Acquired at:
- at 0x........: pthread_rwlock_rdlock (drd_pthread_intercepts.c:?)
- by 0x........: main (hold_lock.c:?)
-Lock on rwlock 0x........ was held during ... ms (threshold: 500 ms).
- at 0x........: pthread_rwlock_unlock (drd_pthread_intercepts.c:?)
- by 0x........: main (hold_lock.c:?)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (hold_lock.c:?)
-Done.
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (hold_lock.c:?)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/monitor_example.stderr.diff
=================================================
--- monitor_example.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ monitor_example.stderr.out 2010-10-12 23:32:11.000000000 -0500
@@ -1,4 +1,10 @@
-Finished successfully.
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_mutex_lock (in /...libc...)
+ by 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
+ by 0x........: main (monitor_example.cpp:?)
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_broadcast.stderr.diff
=================================================
--- pth_broadcast.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_broadcast.stderr.out 2010-10-12 23:32:12.000000000 -0500
@@ -1,4 +1,14 @@
-Done.
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_cond_signal (in /...libc...)
+ by 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
+ by 0x........: csema_v (pth_broadcast.c:?)
+ by 0x........: thread_func (pth_broadcast.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_cancel_locked.stderr.diff
=================================================
--- pth_cancel_locked.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_cancel_locked.stderr.out 2010-10-12 23:32:13.000000000 -0500
@@ -1,11 +1,14 @@
-Mutex still locked at thread exit: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_join (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cancel_locked.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cancel_locked.c:?)
-Test finished.
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_mutex_lock (in /...libc...)
+ by 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
+ by 0x........: thread (pth_cancel_locked.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_cancel_locked.stderr.diff-darwin
=================================================
--- pth_cancel_locked.stderr.exp-darwin 2010-10-12 23:20:06.000000000 -0500
+++ pth_cancel_locked.stderr.out 2010-10-12 23:32:13.000000000 -0500
@@ -1,18 +1,14 @@
-Mutex still locked at thread exit: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_join (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cancel_locked.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cancel_locked.c:?)
-Mutex still locked at thread exit: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_join (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cancel_locked.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cancel_locked.c:?)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_mutex_lock (in /...libc...)
+ by 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
+ by 0x........: thread (pth_cancel_locked.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
-Test finished.
-
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_cond_race.stderr.diff
=================================================
--- pth_cond_race.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_cond_race.stderr.out 2010-10-12 23:32:14.000000000 -0500
@@ -1,15 +1,9 @@
-Thread 2:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: thread_func (pth_cond_race.c:?)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cond_race.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_cond_race.c:?)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_mutex_lock (in /...libc...)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_cond_race2.stderr.diff
=================================================
--- pth_cond_race2.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_cond_race2.stderr.out 2010-10-12 23:32:15.000000000 -0500
@@ -1,3 +1,14 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_mutex_lock (in /...libc...)
+ by 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
+ by 0x........: thread_func (pth_cond_race.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_cond_race3.stderr.diff
=================================================
--- pth_cond_race3.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_cond_race3.stderr.out 2010-10-12 23:32:15.000000000 -0500
@@ -1,3 +1,14 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_mutex_lock (in /...libc...)
+ by 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
+ by 0x........: thread_func (pth_cond_race.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_detached.stderr.diff
=================================================
--- pth_detached.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_detached.stderr.out 2010-10-12 23:32:17.000000000 -0500
@@ -1,3 +1,13 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_detach (in /...libc...)
+ by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
+ by 0x........: thread_func2 (pth_detached.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_detached.stdout.diff
=================================================
--- pth_detached.stdout.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_detached.stdout.out 2010-10-12 23:32:17.000000000 -0500
@@ -1 +1 @@
-..
+.
\ No newline at end of file
=================================================
./valgrind-new/drd/tests/pth_detached2.stderr.diff
=================================================
--- pth_detached2.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_detached2.stderr.out 2010-10-12 23:32:18.000000000 -0500
@@ -1,3 +1,13 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_detach (in /...libc...)
+ by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
+ by 0x........: thread_func2 (pth_detached.c:?)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_detached2.stdout.diff
=================================================
--- pth_detached2.stdout.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_detached2.stdout.out 2010-10-12 23:32:18.000000000 -0500
@@ -1 +1 @@
-....................
+..........
\ No newline at end of file
=================================================
./valgrind-new/drd/tests/pth_inconsistent_cond_wait.stderr.diff1
=================================================
--- pth_inconsistent_cond_wait.stderr.exp1 2010-10-12 23:20:06.000000000 -0500
+++ pth_inconsistent_cond_wait.stderr.out 2010-10-12 23:32:18.000000000 -0500
@@ -1,39 +1,9 @@
-Thread 3:
-Inconsistent association of condition variable and mutex: condition variable 0x........, mutexes 0x........ and 0x........
- at 0x........: pthread_cond_timedwait (drd_pthread_intercepts.c:?)
- by 0x........: thread_func (pth_inconsistent_cond_wait.c:?)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-Thread 1:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: _pthread_cond_wait (in /...libc...)
+ by 0x........: pthread_cond_timedwait$UNIX2003 (in /...libc...)
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_inconsistent_cond_wait.stderr.diff2
=================================================
--- pth_inconsistent_cond_wait.stderr.exp2 2010-10-12 23:20:06.000000000 -0500
+++ pth_inconsistent_cond_wait.stderr.out 2010-10-12 23:32:18.000000000 -0500
@@ -1,39 +1,9 @@
-Thread 2:
-Inconsistent association of condition variable and mutex: condition variable 0x........, mutexes 0x........ and 0x........
- at 0x........: pthread_cond_timedwait (drd_pthread_intercepts.c:?)
- by 0x........: thread_func (pth_inconsistent_cond_wait.c:?)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-Thread 1:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: _pthread_cond_wait (in /...libc...)
+ by 0x........: pthread_cond_timedwait$UNIX2003 (in /...libc...)
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_inconsistent_cond_wait.c:?)
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/pth_uninitialized_cond.stderr.diff
=================================================
--- pth_uninitialized_cond.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ pth_uninitialized_cond.stderr.out 2010-10-12 23:32:21.000000000 -0500
@@ -1,10 +1,11 @@
Statically initialized condition variable.
-Uninitialized condition variable.
-condition variable has not been initialized: cond 0x........
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: main (pth_uninitialized_cond.c:?)
-Done.
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_cond_signal (in /...libc...)
+ by 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
+ by 0x........: main (pth_uninitialized_cond.c:?)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/rwlock_race.stderr.diff
=================================================
--- rwlock_race.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ rwlock_race.stderr.out 2010-10-12 23:32:22.000000000 -0500
@@ -1,17 +1,8 @@
-Thread 3:
-Conflicting load by thread 3 at 0x........ size 4
- at 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "s_racy"
-declared at rwlock_race.c:18, in frame #? of thread 3
-Conflicting store by thread 3 at 0x........ size 4
- at 0x........: thread_func (rwlock_race.c:?)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "s_racy"
-declared at rwlock_race.c:18, in frame #? of thread 3
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
-Result: 2
-
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/rwlock_race.stderr.diff2
=================================================
--- rwlock_race.stderr.exp2 2010-10-12 23:20:06.000000000 -0500
+++ rwlock_race.stderr.out 2010-10-12 23:32:22.000000000 -0500
@@ -1,17 +1,8 @@
-Thread 3:
-Conflicting load by thread 3 at 0x........ size 4
- at 0x........: thread (rwlock_race.c:?)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "s_racy"
-declared at rwlock_race.c:17, in frame #? of thread 3
-Conflicting store by thread 3 at 0x........ size 4
- at 0x........: thread (rwlock_race.c:?)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "s_racy"
-declared at rwlock_race.c:17, in frame #? of thread 3
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
-Result: 2
-
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/rwlock_test.stderr.diff
=================================================
--- rwlock_test.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ rwlock_test.stderr.out 2010-10-12 23:32:23.000000000 -0500
@@ -1,6 +1,10 @@
-s_counter - expected_counter = 0
-s_grand_sum - expected_grand_sum = 0
-Finished.
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (rwlock_test.c:?)
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/rwlock_type_checking.stderr.diff
=================================================
--- rwlock_type_checking.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ rwlock_type_checking.stderr.out 2010-10-12 23:32:24.000000000 -0500
@@ -1,16 +1,10 @@
-Attempt to use a user-defined rwlock as a POSIX rwlock: rwlock 0x.........
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (rwlock_type_checking.c:?)
-rwlock 0x........ was first observed at:
- at 0x........: main (rwlock_type_checking.c:?)
-Attempt to use a POSIX rwlock as a user-defined rwlock: rwlock 0x.........
- at 0x........: main (rwlock_type_checking.c:?)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
by 0x........: main (rwlock_type_checking.c:?)
-Finished.
-
-ERROR SUMMARY: 4 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc12_rwl_trivial.stderr.diff
=================================================
--- tc12_rwl_trivial.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ tc12_rwl_trivial.stderr.out 2010-10-12 23:32:42.000000000 -0500
@@ -1,10 +1,10 @@
-Reader-writer lock not locked by calling thread: rwlock 0x.........
- at 0x........: pthread_rwlock_unlock (drd_pthread_intercepts.c:?)
- by 0x........: main (tc12_rwl_trivial.c:35)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc12_rwl_trivial.c:24)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (tc12_rwl_trivial.c:24)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc17_sembar.stderr.diff
=================================================
--- tc17_sembar.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ tc17_sembar.stderr.out 2010-10-12 23:32:44.000000000 -0500
@@ -1,5 +1,15 @@
starting
-done, result is 88, should be 88
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_mutex_lock (in /...libc...)
+ by 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
+ by 0x........: gomp_barrier_wait (tc17_sembar.c:82)
+ by 0x........: child (tc17_sembar.c:171)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: thread_start (in /...libc...)
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-darwin
=================================================
--- tc23_bogus_condwait.stderr.exp-darwin 2010-10-12 23:20:06.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-12 23:32:51.000000000 -0500
@@ -1,63 +1,9 @@
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:69)
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-
-ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-ppc
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-ppc 2010-10-12 23:20:06.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-12 23:32:51.000000000 -0500
@@ -1,13 +1,9 @@
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:69)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
-Process terminating with default action of signal 7 (SIGBUS)
- Invalid address alignment at address 0x........
- at 0x........: (within libpthread-?.?.so)
- by 0x........: pthread_cond_wait@@GLIBC_2.3.2(within libpthread-?.?.so)
- by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-
-ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-x86
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-x86 2010-10-12 23:20:06.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-10-12 23:32:51.000000000 -0500
@@ -1,86 +1,9 @@
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:69)
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
-Thread 1:
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:28)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 1:
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:32)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-
-ERROR SUMMARY: 11 errors from 9 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/trylock.stderr.diff
=================================================
--- trylock.stderr.exp 2010-10-12 23:20:06.000000000 -0500
+++ trylock.stderr.out 2010-10-12 23:32:53.000000000 -0500
@@ -1,20 +1,10 @@
-Locking rwlock via pthread_rwlock_wrlock().
-Locking rwlock via pthread_rwlock_trywrlock().
-Locking rwlock via pthread_rwlock_timedwrlock().
-Locking rwlock via pthread_rwlock_rdlock().
-Locking rwlock via pthread_rwlock_tryrdlock().
-Locking rwlock via pthread_rwlock_timedrdlock().
-Attempt to lock for writing recursively (not allowed).
-Recursive writer locking not allowed: rwlock 0x.........
- at 0x........: pthread_rwlock_wrlock (drd_pthread_intercepts.c:?)
- by 0x........: main (trylock.c:?)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (trylock.c:?)
-Locking mutex via pthread_mutex_trylock().
-Locking mutex via pthread_mutex_lock().
-Locking mutex via pthread_mutex_timedlock().
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (trylock.c:?)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/annotate_hbefore.stderr.diff
=================================================
--- annotate_hbefore.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ annotate_hbefore.stderr.out 2010-10-12 23:31:00.000000000 -0500
@@ -0,0 +1,7 @@
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:277)
=================================================
./valgrind-new/helgrind/tests/hg01_all_ok.stderr.diff
=================================================
--- hg01_all_ok.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ hg01_all_ok.stderr.out 2010-10-12 23:31:01.000000000 -0500
@@ -1,3 +1,10 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:28)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/hg02_deadlock.stderr.diff
=================================================
--- hg02_deadlock.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ hg02_deadlock.stderr.out 2010-10-12 23:31:01.000000000 -0500
@@ -21,4 +21,11 @@
...
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:38)
+
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/hg03_inherit.stderr.diff
=================================================
--- hg03_inherit.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ hg03_inherit.stderr.out 2010-10-12 23:31:02.000000000 -0500
@@ -1,19 +1,10 @@
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (hg03_inherit.c:46)
-Thread #x is the program's root thread
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:49)
-Possible data race during write of size 4 at 0x........ by thread #x
- at 0x........: t2 (hg03_inherit.c:28)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- This conflicts with a previous read of size 4 by thread #x
- at 0x........: main (hg03_inherit.c:60)
- Location 0x........ is 0 bytes inside shared[1],
- declared at hg03_inherit.c:11, in frame #x of thread x
-
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/hg04_race.stderr.diff
=================================================
--- hg04_race.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ hg04_race.stderr.out 2010-10-12 23:31:04.000000000 -0500
@@ -32,4 +32,11 @@
declared at hg04_race.c:6, in frame #x of thread x
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:23)
+
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ hg05_race2.stderr.out 2010-10-12 23:31:06.000000000 -0500
@@ -32,4 +32,11 @@
declared at hg05_race2.c:24, in frame #x of thread x
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:31)
+
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/hg06_readshared.stderr.diff
=================================================
--- hg06_readshared.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ hg06_readshared.stderr.out 2010-10-12 23:31:07.000000000 -0500
@@ -1,3 +1,10 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:27)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/rwlock_race.stderr.diff
=================================================
--- rwlock_race.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ rwlock_race.stderr.out 2010-10-12 23:31:08.000000000 -0500
@@ -1,25 +1,10 @@
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:48)
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:47)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init* (hg_intercepts.c:...)
+ by 0x........: main (rwlock_race.c:46)
-Possible data race during write of size 4 at 0x........ by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- This conflicts with a previous write of size 4 by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- Location 0x........ is 0 bytes inside local var "s_racy"
- declared at rwlock_race.c:18, in frame #x of thread x
-
-Result: 2
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/rwlock_test.stderr.diff
=================================================
--- rwlock_test.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ rwlock_test.stderr.out 2010-10-12 23:31:09.000000000 -0500
@@ -1,6 +1,10 @@
-s_counter - expected_counter = 0
-s_grand_sum - expected_grand_sum = 0
-Finished.
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_rwlock_init$UNIX2003 (in /...libc...)
+ by 0x........: pthread_rwlock_init* (hg_intercepts.c:...)
+ by 0x........: main (rwlock_test.c:80)
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc01_simple_race.stderr.diff
=================================================
--- tc01_simple_race.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc01_simple_race.stderr.out 2010-10-12 23:31:10.000000000 -0500
@@ -25,4 +25,11 @@
declared at tc01_simple_race.c:9
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (tc01_simple_race.c:30)
+
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc02_simple_tls.stderr.diff
=================================================
--- tc02_simple_tls.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc02_simple_tls.stderr.out 2010-10-12 23:31:10.000000000 -0500
@@ -1,3 +1,10 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (tc02_simple_tls.c:30)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc03_re_excl.stderr.diff
=================================================
--- tc03_re_excl.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc03_re_excl.stderr.out 2010-10-12 23:31:11.000000000 -0500
@@ -1,3 +1,10 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (tc03_re_excl.c:36)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc05_simple_race.stderr.diff
=================================================
--- tc05_simple_race.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc05_simple_race.stderr.out 2010-10-12 23:31:13.000000000 -0500
@@ -25,4 +25,11 @@
declared at tc05_simple_race.c:10
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (tc05_simple_race.c:38)
+
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races.stderr.diff
=================================================
--- tc06_two_races.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc06_two_races.stderr.out 2010-10-12 23:31:14.000000000 -0500
@@ -43,4 +43,11 @@
declared at tc06_two_races.c:9
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (tc06_two_races.c:37)
+
ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-10-12 23:19:46.000000000 -0500
+++ tc06_two_races_xml.stderr.out 2010-10-12 23:31:15.000000000 -0500
@@ -39,17 +39,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>__bsdthread_create</fn>
</frame>
<frame>
<ip>0x........</ip>
@@ -62,7 +52,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@*</fn>
+ <fn>pthread_create</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
<line>...</line>
@@ -120,12 +110,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -174,12 +164,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -228,12 +218,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -282,12 +272,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-new/helgrind/tests/tc07_hbl1.stderr.diff
=================================================
--- tc07_hbl1.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc07_hbl1.stderr.out 2010-10-12 23:31:15.000000000 -0500
@@ -1,3 +1,10 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (tc07_hbl1.c:92)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc07_hbl1.stdout.diff
=================================================
--- tc07_hbl1.stdout.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc07_hbl1.stdout.out 2010-10-12 23:31:15.000000000 -0500
@@ -1 +0,0 @@
-x = 2
=================================================
./valgrind-new/helgrind/tests/tc08_hbl2.stderr.diff
=================================================
--- tc08_hbl2.stderr.exp 2010-10-12 23:19:45.000000000 -0500
+++ tc08_hbl2.stderr.out 2010-10-12 23:31:17.000000000 -0500
@@ -1,3 +1,10 @@
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (tc08_hbl2.c:131)
+
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc08_hbl2.stdout.diff
=================================================
--- tc08_hbl2.stdout.exp 2010-10-12 23:19:46.000000000 -0500
+++ tc08_hbl2.stdout.out 2010-10-12 23:31:17.000000000 -0500
@@ -1,3 +1 @@
child: new value 6
-child: new value 10
-done, x = 10
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff-glibc23-amd64
=================================================
--- tc09_bad_unlock.stderr.exp-glibc23-amd64 2010-10-12 23:19:45.000000000 -0500
+++ tc09_bad_unlock.stderr.out 2010-10-12 23:31:18.000000000 -0500
@@ -26,56 +26,16 @@
by 0x........: nearly_main (tc09_bad_unlock.c:31)
by 0x........: main (tc09_bad_unlock.c:49)
-Thread #x unlocked an invalid lock at 0x........
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
-Thread #x deallocated location 0x........ containing a locked lock
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:49)
- Lock at 0x........ was first observed
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
+Process terminating with default action of signal 11 (SIGSEGV)
+ General Protection Fault
+ at 0x........: misaligned_stack_error (in /usr/lib/dyld)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:38)
by 0x........: main (tc09_bad_unlock.c:49)
-
-Thread #x unlocked a not-locked lock at 0x........
- ...
[truncated message content] |
|
From: Tom H. <th...@cy...> - 2010-10-13 02:55:25
|
Nightly build on vauxhall ( x86_64, Fedora 13 ) Started at 2010-10-13 03:20:08 BST Ended at 2010-10-13 03:55:01 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 == 547 tests, 10 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/qt4_atomic (stderr) drd/tests/qt4_mutex (stderr) drd/tests/qt4_rwlock (stderr) drd/tests/qt4_semaphore (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/supp (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 == 547 tests, 10 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/linux/stack_switch (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/pth_detached2 (stdout) drd/tests/qt4_atomic (stderr) drd/tests/qt4_mutex (stderr) drd/tests/qt4_rwlock (stderr) drd/tests/qt4_semaphore (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/supp (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Oct 13 03:38:56 2010 --- new.short Wed Oct 13 03:55:01 2010 *************** *** 8,10 **** ! == 547 tests, 10 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/linux/stack_switch (stderr) --- 8,10 ---- ! == 547 tests, 10 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) *************** *** 13,15 **** helgrind/tests/tc23_bogus_condwait (stderr) - drd/tests/pth_detached2 (stdout) drd/tests/qt4_atomic (stderr) --- 13,14 ---- |
|
From: Tom H. <th...@cy...> - 2010-10-13 02:42:49
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-10-13 03:10:05 BST Ended at 2010-10-13 03:42:31 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 == 558 tests, 2 stderr failures, 3 stdout failures, 0 post failures == none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/x86/fxtract (stdout) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) |