id summary reporter owner description type status milestone component version severity resolution keywords cc 2423 map_array insert has invalid assertion benson margulies Gunter " The external logic check in here appears to be wrong. The check is applied when the code sees the need to insert a new element in the underlying representation 'in the middle' -- the lower bound does not return end, and and the slot it returns does not have the correct index. The check requires the map to be empty or that the iterator is at the end, thus refusing to insert into the middle. // Form Unique Associative Container concept // BOOST_UBLAS_INLINE This function seems to be big. So we do not let the compiler inline it. std::pair insert (const value_type &p) { iterator it = detail::lower_bound (begin (), end (), p, detail::less_pair ()); if (it != end () && it->first == p.first) return std::make_pair (it, false); difference_type n = it - begin (); BOOST_UBLAS_CHECK (size () == 0 || size () == size_type (n), external_logic ()); resize (size () + 1); it = begin () + n; // allow for invalidation std::copy_backward (it, end () - 1, end ()); *it = p; return std::make_pair (it, true); }" Bugs closed Boost 1.39.0 uBLAS Boost 1.36.0 Problem fixed