View Issue Details

IDProjectCategoryView StatusLast Update
0013051Open CASCADEOCCT:Foundation Classespublic2011-12-26 17:11
ReporterabdAssigned Topdn 
PrioritynormalSeveritytrivial 
Status closedResolutionfixed 
OSWindows NT 
Fixed in Version6.1.1 
Summary0013051: Using nonexistent objects in Standard_ForMapOfTypes class
DescriptionThere is a crash.
You can see two files in attachment:
 - import_prog.cpp - file for DLL library with import functionality;
 - main_prog.cpp - file for executable for testing functionality (dynamic
loading of previous DLL).

When You unload DLL before using BRepTools::Write (line 45 in main_prog.cpp)
it's generating crash in strcpm function caling from sorting of MapOfType.

When You unload DLL after using BRepTools::Write, all is OK.

Resume: When library is unloading, it needs for corresponding clearing of MapOfType.
Additional information
and documentation updates
Documentation remark, added by ABV 2006-08-10 09:43:46:

New features:


Improvements:


Changes:
Static global map of types supported previously by Standard_Type class is
eliminated. In applications that load and unload some OCCT libraries
dynamically, this allows to prevent crashes caused by type objects created in
these libraries and remaining in the static map even after unloading of the
relevant library.

As a consequence of this change, static methods of that class providing access
to that map (Find(), Exists(), Add(), NumberOfKnownTypes(), GiveKnownTypeNumber
(), Display_Types()) are removed.

To allow checking type of object by its name rather than by Handle(Standard_
Type) object, the new methods are provided: Standard_Type::SubType() and
Standard_Transient::IsKind(). These methods replicate the same existing methods
accepting Handle(Standard_Type) but accept type name as Standard_CString.


Modified entities:

TagsNo tags attached.
Test case number

Attached Files

  • import_prog.cpp (1,114 bytes)
  • main_prog.cpp (1,279 bytes)
  • occ13051-abv-v1.tar.gz (20,457 bytes)
  • occ13051-abv-v2.tar.gz (23,977 bytes)
  • Interface_FileReaderData.cxx.gz (5,211 bytes)
  • OCC13051-Gallery.tar.gz (101,840 bytes)

Relationships

related to 0010033 closedabv Open CASCADE WOK: Avoid defining new() and delete() for classes derived from other 
related to 0013131 closedabv Open CASCADE Optimize code of OCC classes generated by WOK 
related to 0013258 closedpdn Open CASCADE Improvements in FDC (64-bit warnings, etc.) 

Activities

2006-07-26 10:54

 

import_prog.cpp (1,114 bytes)

2006-07-26 10:55

 

main_prog.cpp (1,279 bytes)

2006-08-08 16:15

 

occ13051-abv-v1.tar.gz (20,457 bytes)

2006-08-10 10:05

 

occ13051-abv-v2.tar.gz (23,977 bytes)

2006-08-28 10:25

 

Interface_FileReaderData.cxx.gz (5,211 bytes)

2006-09-01 14:07

 

OCC13051-Gallery.tar.gz (101,840 bytes)

Issue History

Date Modified Username Field Change
2006-08-08 18:13 bugmaster Assigned To bugmaster => abv
2006-08-08 18:13 bugmaster Status new => assigned
2006-08-08 18:28 abv CC => pdn, imv
2006-08-08 18:28 abv BugsThisDependsOn => 10033, 13131
2006-08-24 14:09 agv BugsThisDependsOn => 13258
2006-09-01 16:32 bugmaster Assigned To abv => pdn
2006-09-01 16:33 bugmaster Status assigned => resolved
2006-09-06 09:41 bugmaster Status resolved => verified
2006-11-01 18:49 bugmaster Assigned To pdn => bugmaster
2006-11-01 18:49 bugmaster Status verified => assigned
2006-11-01 18:50 bugmaster Assigned To bugmaster => pdn
2006-11-01 19:11 bugmaster Status assigned => closed
2006-11-01 19:11 bugmaster Resolution @0@ => fixed
2011-08-02 11:23 bugmaster Category OCCT:FDC => OCCT:Foundation Classes
2011-12-26 17:11 atp Description Updated
2011-12-26 17:11 atp Additional Information Updated