The current implementation of the array_allocator allows the allocator to be copy constructed. This leads to trouble due to _M_used, which is not synchronized between the copies. Each copy will start allocating from the same point in the underlying array.
-- Summary: array_allocator can't be safely copied Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: skottmckay at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30578