Developers,

I found a bug in the existing (old) XDA format while trying to add one more
feature yesterday.  It turns out that if you create a mesh without any
sidesets and write it in XDA format.  You trip an assertion when reading
that mesh back in.  The problem is that there is short-circuit code in
"write_serialized_bcs()" that doesn't right the header if there are no
sidesets, however when reading the mesh back in, we always attempt to read
the header to determine how many sidesets to read.  In non-debug mode, the
stream just goes into a bad state but no further operations are performed
before the stream is closed so at least it doesn't fail in any catastrophic
way.

I was thinking about back-porting a fix to the 0.7.0 format to always write
the bcs header but Derek pointed out that existing no-bc meshes on disk
would still be broken so it's not that simple of a fix.  In my opinion, we
shouldn't even bother worrying about back-porting a fix at this point.
Nobody's found that bug in years so it's probably safe to just fix it in
the new format and move forward.

I'll be posting a patch in a little while that fixes this bug and as part
of the branch also adds the ability to read/write nodesets to XDA/XDR
format which has never been implemented until now.  Since 0.9.2 is still
new, I don't plan on changing the version number with the addition of this
new feature unless there are serious objections.  Hopefully this is the
last change that I make before we have everything implemented and being
read/written properly.

Thanks,
Cody
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to