[xsd-users] prgram crashes on deletion xsd::cxx::tree::optional instance

Jan Klimke jan.klimke at hpi.uni-potsdam.de
Sat Mar 21 11:13:25 EDT 2009


Hi all,

i got a Problem when trying to delete an instance of an Object which
contains an xsd::cxx::tree::optional somewhere..
It seems like it tries to delete a pointer which is not set or already
deleted.

This does not happen every time whe i call delete on a csd-generated
object instance.

Do you have any hint where i could have a look at ?
 

Here are the last lines of my call stack, maybe it helps to answer my
question:


   
wfs_debug.dll!xsd::cxx::tree::optional<gml::AbstractFeatureType,0>::~optional<gml::AbstractFeatureType,0>() 
Line 111 + 0x32 bytes    C++
    
wfs_debug.dll!gml::FeaturePropertyTypeBase::~FeaturePropertyTypeBase() 
Line 659 + 0x83 bytes    C++
     wfs_debug.dll!gml::FeaturePropertyType::~FeaturePropertyType()  +
0x2b bytes    C++
     wfs_debug.dll!gml::FeaturePropertyType::`vector deleting
destructor'()  + 0x69 bytes    C++
>    wfs_debug.dll!xsd::cxx::tree::sequence_common::ptr::~ptr()  Line
772 + 0x36 bytes    C++
     wfs_debug.dll!xsd::cxx::tree::sequence_common::ptr::`scalar
deleting destructor'()  + 0x2b bytes    C++
    
wfs_debug.dll!std::_Destroy<xsd::cxx::tree::sequence_common::ptr>(xsd::cxx::tree::sequence_common::ptr
* _Ptr=0x0eb41e78)  Line 60    C++
    
wfs_debug.dll!std::allocator<xsd::cxx::tree::sequence_common::ptr>::destroy(xsd::cxx::tree::sequence_common::ptr
* _Ptr=0x0eb41e78)  Line 160 + 0x9 bytes    C++
    
wfs_debug.dll!std::_Destroy_range<std::allocator<xsd::cxx::tree::sequence_common::ptr>
>(xsd::cxx::tree::sequence_common::ptr * _First=0x0eb41e78,
xsd::cxx::tree::sequence_common::ptr * _Last=0x0eb41e7c,
std::allocator<xsd::cxx::tree::sequence_common::ptr> & _Al={...},
std::_Nonscalar_ptr_iterator_tag __formal={...})  Line 234 + 0xc
bytes    C++
    
wfs_debug.dll!std::_Destroy_range<std::allocator<xsd::cxx::tree::sequence_common::ptr>
>(xsd::cxx::tree::sequence_common::ptr * _First=0x0eb41e78,
xsd::cxx::tree::sequence_common::ptr * _Last=0x0eb41e7c,
std::allocator<xsd::cxx::tree::sequence_common::ptr> & _Al={...})  Line
225 + 0x2f bytes    C++
    
wfs_debug.dll!std::vector<xsd::cxx::tree::sequence_common::ptr,std::allocator<xsd::cxx::tree::sequence_common::ptr>
>::_Destroy(xsd::cxx::tree::sequence_common::ptr * _First=0x0eb41e78,
xsd::cxx::tree::sequence_common::ptr * _Last=0x0eb41e7c)  Line 1119 +
0x14 bytes    C++
    
wfs_debug.dll!std::vector<xsd::cxx::tree::sequence_common::ptr,std::allocator<xsd::cxx::tree::sequence_common::ptr>
>::_Tidy()  Line 1132    C++
    
wfs_debug.dll!std::vector<xsd::cxx::tree::sequence_common::ptr,std::allocator<xsd::cxx::tree::sequence_common::ptr>
>::~vector<xsd::cxx::tree::sequence_common::ptr,std::allocator<xsd::cxx::tree::sequence_common::ptr>
>()  Line 560    C++
     wfs_debug.dll!xsd::cxx::tree::sequence_common::~sequence_common() 
+ 0x2e bytes    C++
    
wfs_debug.dll!xsd::cxx::tree::sequence<gml::FeaturePropertyType,0>::~sequence<gml::FeaturePropertyType,0>() 
+ 0x2b bytes    C++
    
wfs_debug.dll!schemas::coll::CommentBaseTypeBase::~CommentBaseTypeBase() 
Line 1755 + 0x8c bytes    C++
    
wfs_debug.dll!schemas::coll::CommentBaseTypeImpl<schemas::coll::CommentBaseTypeBase>::~CommentBaseTypeImpl<schemas::coll::CommentBaseTypeBase>() 
+ 0x2b bytes    C++
     wfs_debug.dll!schemas::coll::CommentType::~CommentType()  Line 2005
+ 0x2f bytes    C++
    
wfs_debug.dll!schemas::coll::TextCommentTypeBase::~TextCommentTypeBase() 
Line 2194 + 0x1d bytes    C++
    
wfs_debug.dll!schemas::coll::TextCommentTypeImpl<schemas::coll::TextCommentTypeBase>::~TextCommentTypeImpl<schemas::coll::TextCommentTypeBase>() 
+ 0x2b bytes    C++
    
wfs_debug.dll!schemas::coll::TextCommentTypeImpl<schemas::coll::TextCommentTypeBase>::`vector
deleting destructor'()  + 0x6c bytes    C++


Kind regards,
Jan




More information about the xsd-users mailing list