Hello Tob, Toby Smith ha escrito:
Hi,
I'm having a problem serializing a multi-index container. Serialization used to work fine, until I added a second (non-unique) key to the container. I've managed to distill the problem down to a small bit of code, so here it is. Uncomment the #define to see the segfault at serialization time in action, leave it commented and the example code works fine. I'm clearly missing something subtle (or not-so-subtle) here, but I don't have the first clue what it might be.
You're not missing anything, rather you have found a bug in Boost.MultiIndex. Could you please replace line 80 in boost/multi_index/detail/duplicates_iterator.hpp if(pred(begin_chunk->value,node->value))advance(); with the following: if(node!=end&&pred(begin_chunk->value(),node->value()))advance(); and check out if this is fixing the problem in your original code? (The snippet you sent I have already checked out.) I'll be commiting this change to the CVS shortly, thank you very much for spotting the problem and reporting about it. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo