View Issue Details

IDProjectCategoryView StatusLast Update
0025280CommunityOCCT:Data Exchangepublic2020-12-02 17:11
Reporternikiml Assigned Toabv 
PrioritynormalSeveritycrash 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2008 
Product Version6.7.1 
Target Version7.5.0Fixed in Version7.5.0 
Summary0025280: Data Exchange - Interface_BitMap::Init crashes
Description
Interface_BitMap bm(0);
bm.Init(Standard_False);//crashes due to theflags.IsNull() being true


this code is called by:
Interface_CopyTool::Interface_CopyTool
  (const Handle(Interface_InterfaceModel)& amodel,
   const Interface_GeneralLib& lib)


when amodel is empty

called by:
StepData_StepModel::GetFromAnother
    (const Handle_Interface_InterfaceModel & other
    )


called by:
Interface_CopyTool::FillModel(const Handle_Interface_InterfaceModel & bmodel)


called by
IFSelect_ModelCopier::SendSelected
    (const char * const filename
    , const Interface_Graph & G
    , const Handle_IFSelect_WorkLibrary & WL
    , const Handle_Interface_Protocol & protocol
    , const Interface_EntityIterator & list)


called by
IFSelect_WorkSession::SendSelected
    (const char * const filename
    , const Handle_IFSelect_Selection & sel
    , const unsigned int computegraph)
Steps To ReproduceJust Call IFSelect_WorkSession::SendSelected with valid model and selection, e.g

IFSelect_ReturnStatus stat = reader.ReadFile(attached_step_file_or_another_one_with_solids);
Handle_XSControl_WorkSession RWS = reader.WS();

Handle_IFSelect_SelectPointed sp = new IFSelect_SelectPointed;

Handle_Interface_InterfaceModel Model = RWS->Model();

Handle_Standard_Type tGRI = STANDARD_TYPE(StepShape_SolidModel);
Standard_Integer nb = Model->NbEntities();

for (Standard_Integer i = 1; i <= nb; i ++) {
  Handle_Standard_Transient enti = Model->Value(i);
  if ( ! enti->IsKind ( tGRI) ) continue;
  Handle_StepGeom_GeometricRepresentationItem gri = 
    Handle_StepGeom_GeometricRepresentationItem::DownCast(enti);

  sp->SetEntity(gri);
  break;
}


STEPControl_Writer writer(RWS, Standard_False);
writer.WS()->WriteFile(valid_outfile, sp);
TagsNo tags attached.
Test case number

Attached Files

  • l3.7z (9,629 bytes)

Relationships

has duplicate 0030378 closedbugmaster Open CASCADE Data Exchange - extract of subset of model entities fails (regression) 

Activities

nikiml

2014-09-27 00:37

developer  

l3.7z (9,629 bytes)

abv

2020-10-06 22:46

manager   ~0095769

Should be fixed with 0030378

abv

2020-10-28 09:39

manager   ~0096327

Fixed on current master (tested using the code above)

Issue History

Date Modified Username Field Change
2014-09-27 00:37 nikiml New Issue
2014-09-27 00:37 nikiml Assigned To => gka
2014-09-27 00:37 nikiml File Added: l3.7z
2020-10-06 22:45 abv Relationship added has duplicate 0030378
2020-10-06 22:46 abv Note Added: 0095769
2020-10-06 22:46 abv Target Version => 7.5.0
2020-10-12 17:59 kgv Summary Interface_BitMap::Init crashes => Data Exchange - Interface_BitMap::Init crashes
2020-10-12 18:00 kgv Description Updated
2020-10-12 18:00 kgv Steps to Reproduce Updated
2020-10-13 09:35 abv Assigned To gka => abv
2020-10-28 09:39 abv Note Added: 0096327
2020-10-28 09:39 abv Status new => resolved
2020-10-28 09:39 abv Resolution open => fixed
2020-10-28 09:39 abv Status resolved => reviewed
2020-10-28 09:39 abv Status reviewed => verified
2020-12-02 16:22 emo Fixed in Version => 7.5.0
2020-12-02 17:11 emo Status verified => closed