Compatibility between shared_ptr and Rational RoseRT
Does anyone know of a compatibility problem between the use of the Boost shared_ptr class and Rational RoseRT (real-time version of Rational Rose). We are having problems with intermittent crashes (not repeatable), and the crash dump debugger always indicates a problem while destroying objects that were held in existence by a shared_ptr - The underlying objects are of many different classes. We are never destroying the objects explicitly, but let the shared_ptr object take care of this when the last pointer to an object is deleted. When running the executable under Rational Purify, it reports many FIM errors (Freeing Invalid Memory), and all of these are again due to the deletion of objects that were owned by a shared_ptr. Any help would be very much appreciated Dave ------------------------------------------------------------ This email and any attached files contains company confidential information which may be legally privileged. It is intended only for the person(s) or entity to which it is addressed and solely for the purposes set forth therein. If you are not the intended recipient or have received this email in error please notify the sender by return, delete it from your system and destroy any local copies. It is strictly forbidden to use the information in this email including any attachment or part thereof including copying, disclosing, distributing, amending or using for any other purpose. In addition the sender excludes all liabilities (whether tortious or common law) for damage or breach arising or related to this email including but not limited to viruses and libel.
Dave.Ware@seleniacomms.com wrote:
Does anyone know of a compatibility problem between the use of the Boost shared_ptr class and Rational RoseRT (real-time version of Rational Rose).
We are having problems with intermittent crashes (not repeatable), and the crash dump debugger always indicates a problem while destroying objects that were held in existence by a shared_ptr - The underlying objects are of many different classes. We are never destroying the objects explicitly, but let the shared_ptr object take care of this when the last pointer to an object is deleted.
When running the executable under Rational Purify, it reports many FIM errors (Freeing Invalid Memory), and all of these are again due to the deletion of objects that were owned by a shared_ptr.
What version of Boost are you using and on which platform? Is your application multithreaded? Have you verified that all your shared_ptr instances are constructed or reset with valid pointers?
participants (2)
-
Dave.Ware@seleniacomms.com
-
Peter Dimov