id summary reporter owner description type status milestone component version severity resolution keywords cc 4002 UUID documentation improvement harris.pc@… Andy Tompkins "I get ""uninitialised value(s)"" warnings in valgrind when I use the following code: boost::uuids::random_generator gen; boost::uuids::uuid u = gen(); if (u == u) // for valgrind's benefit whatever(); In the example, when I do not supply a random number generator to 'gen', it calls: detail::seed(*pURNG); Which does not initialise all its state variables (like rd_[]) before generating random numbers. I assume this is done to try and generate decent random numbers from uninitialised memory, especially when there is no /dev/urandom or similar available. That is ok, I suppose. However, it makes valgrind very noisy when comparing uuids and thus generates a lot of false-positives to sift through. It would be great if the documentation could talk a bit about this, and also suggest that you use a pattern like the following if the library-user wants to silence valgrind reports: boost::mt19937 ran; uuids::random_generator gen(ran); It would be nice if it could also tell the library user why this might not be such a good idea. (eg mt19937 doesn't seed the random values as randomly as uuid's seed_rnd.hpp, right?). Or perhaps you can surround the detail::seed() call with #ifdefs to allow the user to control when uninitialised memory is used for seeding (helpful to turn off when debugging). Thanks, Paul " Bugs closed Boost 1.43.0 uuid Boost 1.42.0 Optimization fixed