Hi, yet another update: Geneva also comprises unit tests for the (de-)serialization of instantiable classes in different serialization modes (XML, binary, text). Apart from the already known error pure virtual method called terminate called without an active exception Aborted these tests complete without problems. This and the fact that 1.43 didn't have these problems makes me confident that the error message isn't caused by the way in which I use the serialization library (which, albeit quite extensive, doesn't do anything out of the ordinary). Best Regards, Ruediger Ruediger Berlich wrote:
Robert, all,
I'm of course happy to help, e.g. try out fixes you propose.
The code is available at http://www.launchpad.net/geneva for you to look at, if you want. Click on "View the branch content". The code in question is in the include/geneva and src/geneva subdirectories.
I have, just for kicks, commented out the BOOST_SERIALIZATION_ASSUME_ABSTRACT in
http://bazaar.launchpad.net/~gemfony/geneva/trunk/annotate/head%3A/include/g...
plus the
BOOST_CLASS_EXPORT(Gem::Geneva::GPersonalityTraits) in
http://bazaar.launchpad.net/~gemfony/geneva/trunk/annotate/head%3A/src/genev...
My understanding is that, with gcc, Boost.Serialization is able to detect by itself that GPersonalityTraits is purely virtual, and that BOOST_CLASS_EXPORT doesn't make a difference anyway for a class that cannot be instantiated directly. However, the error message at the end of the program execution remains the same.
I am also pretty confident that serialization itself is unaffected (during the program's runtime), since server and client can communicate and the program correctly converges towards the minimum of a toy optimization problem (i.e. the right data is exchanged).
Best Regards, Ruediger
P.S.: Please do expect a few hours delay between any proposed fix and my answer, given that Robert is in the US and I am in Europe.
Robert Ramey wrote:
Anthony Williams wrote:
Eric Niebler
writes: I don't know whether this is a serialization issue or a thread issue. Robert, Anthony, can you two weigh in?
Looks like a serialization problem to me.
I would agree - but its hard to reproduce from here. I don't see this as quick fix - it would require some time and help from the person who can actually reproduce it.
Robert Ramey
-- Kind Regards / Mit freundlichen Gruessen, Ruediger Berlich ------------------------------------------------------------------------ Dr. Ruediger Berlich, Dipl.-Phys./MBA | Web: http://ruediger.berlich.com Karlsruhe Institute of Technology | E-mail: ruediger.berlich@kit.edu Steinbuch Centre for Computing | Phone: +49 (0)7247 825678 Hermann-von-Helmholtz-Platz 1 | Fax: +49 (0)7247 824972 D-76344 Eggenstein-Leopoldshafen | Mobile: +49 (0)178 5567842 ------------------------------------------------------------------------ KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association