View Issue Details

IDProjectCategoryView StatusLast Update
0026517CommunityOCCT:Application Frameworkpublic2015-09-30 18:38
ReporterVico Liang Assigned Tobugmaster  
PrioritynormalSeveritycrash 
Status closedResolutionno change required 
Product Version6.9.0 
Target Version7.0.0 
Summary0026517: XML document save in method XmlTObjDrivers_ObjectDriver::Paste access null pointer.
Descriptionvoid XmlTObjDrivers_ObjectDriver::Paste
                         (const Handle(TDF_Attribute)& Source,
                          XmlObjMgt_Persistent& Target,
                          XmlObjMgt_SRelocationTable& /*RelocTable*/) const
{
  Handle(TObj_TObject) aTObj =
    Handle(TObj_TObject)::DownCast( Source );
  Handle(TObj_Object) anIObject = aTObj->Get();
  //BUG: anIObject is null.
  XmlObjMgt::SetExtendedString (Target, anIObject->DynamicType()->Name());
}

// Exception Frame as below:
TKXmlTObj.dll!XmlTObjDrivers_ObjectDriver::Paste(const Handle_TDF_Attribute & Source, XmlObjMgt_Persistent & Target, TColStd_IndexedMapOfTransient & __formal) Line 93 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 102 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 118 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 118 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 118 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 118 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 118 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 118 C++
     TKXmlL.dll!XmlMDF::WriteSubTree(const TDF_Label & theLabel, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 118 C++
     TKXmlL.dll!XmlMDF::FromTo(const Handle_TDF_Data & theData, LDOM_Element & theElement, TColStd_IndexedMapOfTransient & theRelocTable, const Handle_XmlMDF_ADriverTable & theDrivers) Line 61 C++
     TKXmlL.dll!XmlLDrivers_DocumentStorageDriver::MakeDocument(const Handle_CDM_Document & theTDoc, LDOM_Element & theElement) Line 356 C++
     TKXmlL.dll!XmlLDrivers_DocumentStorageDriver::WriteToDomDocument(const Handle_CDM_Document & theDocument, LDOM_Element & theElement, const TCollection_ExtendedString & theFileName) Line 294 C++
     TKXmlL.dll!XmlLDrivers_DocumentStorageDriver::Write(const Handle_CDM_Document & theDocument, const TCollection_ExtendedString & theFileName) Line 117 C++
     TKCDF.dll!CDF_StoreList::Store(Handle_CDM_MetaData & aMetaData, TCollection_ExtendedString & aStatusAssociatedText) Line 108 C++
     TKCDF.dll!CDF_Store::Realize() Line 175 C++
     TKLCAF.dll!TDocStd_Application::SaveAs(const Handle_TDocStd_Document & D, const TCollection_ExtendedString & path) Line 255 C++
     TKTObj.dll!TObj_Application::SaveDocument(const Handle_TDocStd_Document & theSourceDoc, const char * theTargetFile) Line 87 C++
     TKTObj.dll!TObj_Model::SaveAs(const char * theFile) Line 305 C++
Steps To Reproduce1. Create a model of TObj.
2. Save the file to disk as xml.
3. Change the Object class name from A to B.
4. Load the model saved in step 2.
5. Save the model again, the crash will reproduced.
TagsNo tags attached.
Test case number

Relationships

has duplicate 0026518 closedbugmaster XML document save in method XmlTObjDrivers_ObjectDriver::Paste access null pointer. 

Activities

szy

2015-09-30 18:38

manager   ~0046349

Duplication of 26518.

Issue History

Date Modified Username Field Change
2015-08-05 06:46 Vico Liang New Issue
2015-08-05 06:46 Vico Liang Assigned To => szy
2015-08-05 07:52 Vico Liang Relationship added has duplicate 0026518
2015-09-30 18:38 szy Note Added: 0046349
2015-09-30 18:38 szy Status new => closed
2015-09-30 18:38 szy Assigned To szy => bugmaster
2015-09-30 18:38 szy Resolution open => no change required