serialization problem with binary archives on v1.33

We are trying to upgrade from boost 1.31 (+ compaitable serialization) to boost v1.33. We have one particular test that is failing with what looks like serialization deserialing a bad pointer. In particular the bad pointer is the 3rd instance reference of a particular object. The 1st & 2nd deserialize fine the 3rd is bogus. This is code that works fine on 1.31 both binary & text mode. It works in 1.33 text mode, but fails in 1.33 binary mode. What is the best way to debug this problem? Is there anyway to inspect the binary archive to printout the contents...at least the pointers/addresses contained in the archive? I haven't been able to get it down to a simple test case (it is part of a large system). I could send out the binary and text archive if that would help. This is using g++ 3.3.4 on FC3 (32bit) & Also 3.3.4 on Red Hat Enterprise v3 on a 64bit platform. Keith mcneill@streambase.com

I've learned a bit more. This also fails with VC++ 7.1. Also the object that I'm serializing is being serialized right after a binary buffer is saved and loaded (using save_binary & load_binary). If I comment out the save/load of the binary buffer then it seems to work ok. Keith Keith McNeill wrote:
We are trying to upgrade from boost 1.31 (+ compaitable serialization) to boost v1.33. We have one particular test that is failing with what looks like serialization deserialing a bad pointer. In particular the bad pointer is the 3rd instance reference of a particular object. The 1st & 2nd deserialize fine the 3rd is bogus.
This is code that works fine on 1.31 both binary & text mode. It works in 1.33 text mode, but fails in 1.33 binary mode.
What is the best way to debug this problem? Is there anyway to inspect the binary archive to printout the contents...at least the pointers/addresses contained in the archive?
I haven't been able to get it down to a simple test case (it is part of a large system). I could send out the binary and text archive if that would help.
This is using g++ 3.3.4 on FC3 (32bit) & Also 3.3.4 on Red Hat Enterprise v3 on a 64bit platform.
Keith
mcneill@streambase.com
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

have the streams (both saving and loading) been opened with the flag "binary"? Robert Ramey Keith McNeill wrote:
I've learned a bit more. This also fails with VC++ 7.1. Also the object that I'm serializing is being serialized right after a binary buffer is saved and loaded (using save_binary & load_binary). If I comment out the save/load of the binary buffer then it seems to work ok.
Keith
Keith McNeill wrote:
We are trying to upgrade from boost 1.31 (+ compaitable serialization) to boost v1.33. We have one particular test that is failing with what looks like serialization deserialing a bad pointer. In particular the bad pointer is the 3rd instance reference of a particular object. The 1st & 2nd deserialize fine the 3rd is bogus.
This is code that works fine on 1.31 both binary & text mode. It works in 1.33 text mode, but fails in 1.33 binary mode.
What is the best way to debug this problem? Is there anyway to inspect the binary archive to printout the contents...at least the pointers/addresses contained in the archive?
I haven't been able to get it down to a simple test case (it is part of a large system). I could send out the binary and text archive if that would help.
This is using g++ 3.3.4 on FC3 (32bit) & Also 3.3.4 on Red Hat Enterprise v3 on a 64bit platform.
Keith
mcneill@streambase.com
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Yep, both binary. Keith Robert Ramey wrote:
have the streams (both saving and loading) been opened with the flag "binary"?
Robert Ramey
Keith McNeill wrote:
I've learned a bit more. This also fails with VC++ 7.1. Also the object that I'm serializing is being serialized right after a binary buffer is saved and loaded (using save_binary & load_binary). If I comment out the save/load of the binary buffer then it seems to work ok.
Keith
Keith McNeill wrote:
We are trying to upgrade from boost 1.31 (+ compaitable serialization) to boost v1.33. We have one particular test that is failing with what looks like serialization deserialing a bad pointer. In particular the bad pointer is the 3rd instance reference of a particular object. The 1st & 2nd deserialize fine the 3rd is bogus.
This is code that works fine on 1.31 both binary & text mode. It works in 1.33 text mode, but fails in 1.33 binary mode.
What is the best way to debug this problem? Is there anyway to inspect the binary archive to printout the contents...at least the pointers/addresses contained in the archive?
I haven't been able to get it down to a simple test case (it is part of a large system). I could send out the binary and text archive if that would help.
This is using g++ 3.3.4 on FC3 (32bit) & Also 3.3.4 on Red Hat Enterprise v3 on a 64bit platform.
Keith
mcneill@streambase.com
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (2)
-
Keith McNeill
-
Robert Ramey