|
From: <sv...@va...> - 2007-11-05 13:31:59
|
Author: sewardj
Date: 2007-11-05 13:31:58 +0000 (Mon, 05 Nov 2007)
New Revision: 7103
Log:
Even more caveats.
Modified:
branches/THRCHECK/thrcheck/docs/tc-manual.xml
Modified: branches/THRCHECK/thrcheck/docs/tc-manual.xml
===================================================================
--- branches/THRCHECK/thrcheck/docs/tc-manual.xml 2007-11-05 12:59:31 UTC (rev 7102)
+++ branches/THRCHECK/thrcheck/docs/tc-manual.xml 2007-11-05 13:31:58 UTC (rev 7103)
@@ -1048,19 +1048,6 @@
</listitem>
<listitem>
- <para>POSIX requires that implementations of standard I/O (printf,
- fprintf, fwrite, fread, etc) are thread safe. Unfortunately GNU
- libc implements this by using internal locking primitives that
- Thrcheck is unable to intercept. Consequently Thrcheck generates
- many false race reports when you use these functions.</para>
-
- <para>Thrcheck attempts to hide these errors using the standard
- Valgrind error-suppression mechanism. So, at least for simple
- test cases, you don't see any. Nevertheless, some may slip
- through. Just something to be aware of.</para>
- </listitem>
-
- <listitem>
<para>Perform thread debugging (with Thrcheck) and memory
debugging (with Memcheck) together.</para>
@@ -1083,6 +1070,34 @@
complementary, and you may need to use them together.</para>
</listitem>
+ <listitem>
+ <para>POSIX requires that implementations of standard I/O (printf,
+ fprintf, fwrite, fread, etc) are thread safe. Unfortunately GNU
+ libc implements this by using internal locking primitives that
+ Thrcheck is unable to intercept. Consequently Thrcheck generates
+ many false race reports when you use these functions.</para>
+
+ <para>Thrcheck attempts to hide these errors using the standard
+ Valgrind error-suppression mechanism. So, at least for simple
+ test cases, you don't see any. Nevertheless, some may slip
+ through. Just something to be aware of.</para>
+ </listitem>
+
+ <listitem>
+ <para>Thrcheck's error checks do not work properly inside the
+ system threading library itself
+ (<computeroutput>libpthread.so</computeroutput>), and it usually
+ observes large numbers of (false) errors in there. Valgrind's
+ suppression system then filters these out, so you should not see
+ them.</para>
+
+ <para>If you see any race errors reported
+ where <computeroutput>libpthread.so</computeroutput> or
+ <computeroutput>ld.so</computeroutput> is the object associated
+ with the innermost stack frame, please file a bug report at
+ http://www.valgrind.org.</para>
+ </listitem>
+
</orderedlist>
</sect1>
|