The inention is that archive classes be interchangeable. So if a serialization fails for one archive class and not for another, it would be a bug by definition. As of now, there the only known instances of this occuring is with the serialization of Nan floating point numbers which fails on text/xml archives but passes with native binary archives. Bill Lear wrote:
The text_oarchive fails with a segmentation violation on both compilers, and the xml_oarchive works with both. Cursory inspection of the xml output shows the xml to be well-formed, etc.
Which is kind of interesting since both of these archive classes use the same i/o implementation. So it must be in text_?oarchive which after all isn't very big.
BTW, I am the same guy who has posted several (confirmed) bugs to this list: I am not a beginner, I have been using boost serialization for the better part of a year or so, so in general, I know what I'm doing. I say this simply because I don't want to waste a ton of time with this if I need not --- in short, to my mind, this looks like a clear example of a bug in the boost text_oarchive, but I perhaps may be wrong.
I do sympathize and much appreciate the effort you have to expend to narrow this down. It hasn't been reported so it must be pretty obscure. Sorry, I can't be of more help. BTW, the best thing for me in these cases is to run under the debugger, trap when fault throws, and inspect the call stack (which is going to be long). So maybe it won't be so hard to track down once you can reproduce it. Robert Ramey