[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