← Back to team overview

yade-dev team mailing list archive

Re: deserialization error

 

sega said:     (by the date of Thu, 20 Sep 2007 22:43:04 +0400)

> I have written the class CompoundEngine which contains a vector of engines

Hello,

I'm sorry for so slow response time. Currently I have very little
time, because I'm looking after the kids and house (exhausting job),
while my wife is finishing her PhD. She's going to defend in this
year. And the last-run when writing PhD is always the most work to do
(for me last year, and now for her)....

I'll again work fulltime on yade starting from january. 


So, after that explanation, another thing follows - this
(malfunctioning) yade serialization will be replaced by
boost::serialization (sometime in 2008).

The first thing I'd do with your error is to look at scene.xml and
search for uninitialized values, like "nan" or bool=52 (only 0 and 1
are allowed for booleans). You can also try valgrind during the
*save* operation (better from command line, to avoid spuriors errors
from QT or OpenGL, which sometime may happen, and I whose I want to
remove too).

I'm expecting that you are trying to save something that is
uninitialized (eg. some `int` or `bool`). In this case save always
works, bout load doesn't.

Also please verify that the data inside scene.xml really reflects
what you intended to save - maybe you forgot to call
registerAttributes of the parent class? Like this one:

void InteractingMyTetrahedron::registerAttributes()
{
        InteractingGeometry::registerAttributes();
        REGISTER_ATTRIBUTE(c1);
.
.
.


You are welcome to submit your CompoundEngine to yade as a patch.
I'll gladly add this code, after looking into it (but in january).
Or perchaps Vaclav or Bruno will add it (before january ;).

best regards
-- 
Janek Kozicki                                                         |
_______________________________________________
yade-dev mailing list
yade-dev@xxxxxxxxxxxxxxxx
https://lists.berlios.de/mailman/listinfo/yade-dev



References