[Bug libstdc++/17664] Crash in std::map when using _GLIBCXX_DEBUG with multithreading
lothar at xcerla dot com
gcc-bugzilla@gcc.gnu.org
Thu Oct 7 16:16:00 GMT 2004
------- Additional Comments From lothar at xcerla dot com 2004-10-07 16:16 -------
No, unfortunaltely I had no time to do further work. It is also a lot of work
(at least for me) to replace ACE and use pthreads natively, as ACE provides a
lot of wonderful abstractions (that keep the code shorter than with native
calls). However, if you are on Linux and don't want to compile ACE yourself,
there's packages (deb, rpm) as well. Just google for them. Once you have ACE
compiling and running the example is easy (it contains the compile and link
command lines).
Our "workaround" currently is simply not to use "_GLIBCXX_DEBUG".
I think basically the problem is clear. As the debug versions of the
containers/iterators access some shared data in the MT case (the iterator
(de)registration is one such case) This data has to be protected by a mutex or
something similar. However I had no time to create a patch for the code. As
stated above we just switched to non debug STL for the time being.
Lothar
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17664
More information about the Gcc-bugs
mailing list