http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55911
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-01-09 12:15:39 UTC --- This is invalid if size() > bucket_count(), which is very likely: for (size_t i = 0; i < umap.size(); i++) { const size_t bs = umap.bucket_size (i); Shouldn't the loop condition be i < umap.bucket_count() instead?