Note about using Valgrind with tdbs.
authorMartin Pool <mbp@samba.org>
Tue, 11 Mar 2003 07:23:43 +0000 (07:23 +0000)
committerMartin Pool <mbp@samba.org>
Tue, 11 Mar 2003 07:23:43 +0000 (07:23 +0000)
(This used to be commit 36c6f67d4af50d8fc4c8bd54486df315861d55c2)

source3/tdb/tdb.c

index 0ec770ed81a269edbfa16e8638be725f7fb10d54..ab50f40ef6ec4adfba693b2242879ec815c19317 100644 (file)
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
+
+
+/* NOTE: If you use tdbs under valgrind, and in particular if you run
+ * tdbtorture, you may get spurious "uninitialized value" warnings.  I
+ * think this is because valgrind doesn't understand that the mmap'd
+ * area may be written to by other processes.  Memory can, from the
+ * point of view of the grinded process, spontaneously become
+ * initialized.
+ *
+ * I can think of a few solutions.  [mbp 20030311]
+ *
+ * 1 - Write suppressions for Valgrind so that it doesn't complain
+ * about this.  Probably the most reasonable but people need to
+ * remember to use them.
+ *
+ * 2 - Use IO not mmap when running under valgrind.  Not so nice.
+ *
+ * 3 - Use the special valgrind macros to mark memory as valid at the
+ * right time.  Probably too hard -- the process just doesn't know.
+ */ 
+
 #ifdef STANDALONE
 #if HAVE_CONFIG_H
 #include <config.h>