Hi,
this is not specific to 64 bit (in contrast to your conclusion in the TDM
bug) and as far as i can tell only happens with a statically linked runtime
(which is an inherent property of TDM builds?)

In our case we were just curious why our program crashed and i mainly
posted it here because i thought it might showcase a bug which could also
be relevant without the debug stl.

Norbert

2015-07-29 10:49 GMT+02:00 Robin Whittle <[email protected]>:

> I just joined this list and am writing as a reply to a message from
> Norbert Pfeiler on 2015-05-25.  He identified an minimal test program to
> generate an error, at the end of the executable's run:
> __gnu_cxx::__concurrence_lock_error when the libstdc++ Debug Mode
> (bounds checking and the like) is enabled.
>
> All that seems to be required is to declare a vector, map or set (or I
> guess any Containers Library object), but not, at least, an int or a
> string, so there is one such object before main(), and another inside
> main().  A map outside and a set inside will cause the error.  Likewise
> one or more vectors outside and one or more vectors inside.
>
> This appears to be the problem underlying two other bug reports: firstly
> for TDM-GCC, which I understand is derived from mingw-w64:
>
>   https://sourceforge.net/p/tdm-gcc/bugs/264/
>
> and secondly for GCC itself, which does not seem to be at fault, since
> there is no such problem with the Linux version:
>
>   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66096
>
> All this activity is from about 2015-05-10, but I wrote more to the 264
> bug above, and now to here, because the same problems occur with TDM-GCC
> 5.1.0, which was released on 2015-06-28.  In that bug 264, John E.
> (TDM-GCC) stated that the problem was with winpthreads.
>
> I lack the expertise and inclination to delve deeply into winpthreads or
> any other innards of the library or compiler.  I hope some good soul
> will do so.
>
> The error occurs at the end of the program's execution, and would be not
> so much of a problem for developers.  However, if it was desired for a
> program to run in production with bounds checking enabled:
> define _GLIBCXX_DEBUG or the compiler option -D_GLIBCXX_DEBUG:
>
>    https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html
>
> then these error messages would be problem.
>
>  - Robin
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to