incorrect checksum for freed object
Hi,
I'm to create a multithreaded algorithm and I get this runtime error message:
incorrect checksum for freed object - object was probably modified
after being freed
I use boost::thread for creating my threads. I create a some "worker"
objects (= threads) which should be solving independend a numerical
problem. The constructor of the working object gets some parameter
(const reference) and within the constructor I copy some data of the
reference into private object properties, that will be used in the
"optimize" method, which is called by the boost thread.
For testing I only write with an interator the data to std::cout from
the properties (eg the property is a std::map):
for(std::map<std::string, GiNaC::ex>::iterator it =
m_derivation.begin(); it != m_derivation.end(); ++it) {
std::cout << it->second << std::endl;
}
With one thread everything works fine, on more threads I'll get the
error message. I understand this correctly, that the message says that
several threads on another object to access and modify data there?
I would like to understand the message in that way, that I can solve my problem
Thanks for help
Phil