
On Sun, Sep 8, 2013 at 11:20 PM, Jonathan Wakely
On 8 September 2013 21:55, Niall Douglas wrote:
Not sure how to interpret this. Could this indicate a bug in Multi-Index, in Bimap, or my own code? Or perhaps it is a valgrind hiccup? Any clues as to how to investigate this further would be appreciated.
Try turning on iterator debugging. I'd almost be certain it's an iterator incremented or decremented too far. libstdc++ and Dinkumware STLs both have extensive iterator debugging facilities, libc++ seems to have some support according to Google.
They can only debug iterators defined by the standard library, not ones defined by Boost.MultiIndex.
You could try BOOST_MULTI_INDEX_ENABLE_SAFE_MODE from http://www.boost.org/doc/libs/1_39_0/libs/multi_index/doc/tutorial/debug.htm... . There's a heavy runtime cost, but it did find us bugs where we updated an index field w/o telling BMI about it. Just a thought. --DD