My Purify experience is a little old but... In the version of purify I used it was not good about finding memory leaks whole classes of leaks (for example those allocated to global or static variables) were not generally reported. I asked the technical support person about this and was given some mumbo jumbo about it's a trade off for such a great tool... As far as memory leaks go I found that BoundsChecker was much better. Although you had to use final check which is dog, and I mean dog, slow. I found that using both of them was the best solution as fortunately they complemented each other pretty well.
Back to Purify though. If you use unions or partially filled out structures you will see this kind uninitialized reads. It may not really be a problem. Also, and I don't think this is a problem with Purify, but on BoundsChecker they just use the value 0xbd to indicate uninitialized which will give tons on bogus uninitialized reads if your working on binary data. You of course can filter different types of messages so I would recommend filtering the data to look for your memory leak. Maybe this software is garbage but I have found that you have to take the output of Purify and BoundsChecker will a grain of salt. Just my $0.02 "POC" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Hello, > > I have an NSS/NSPR server app that listens for client connection > requests and that creates a new thread using PR_CreateThread() to > handle each new client connection. > > The problem is that this app has a memory leak, somewhere. And I can't > seem to find the leak. > > So I got hold of the latest version of Purify and instrumented my app. > > But when I run my app with Purify, it seems that I get a boatload of > problem reports concerning memory management (e.g., reading > uninitialized memory) in the NSS and NSPR libraries. > > Has anybody seen this before? > > -- POC
