View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0033351 | Open CASCADE | OCCT:Data Exchange | public | 2023-03-27 17:55 | 2024-03-28 13:26 |
Reporter | dpasukhi | Assigned To | vglukhik | ||
Priority | normal | Severity | major | ||
Status | verified | Resolution | fixed | ||
Product Version | 7.7.0 | ||||
Target Version | 7.7.3 | ||||
Summary | 0033351: Data Exchange, Step - Improvement for thread safety of the STEP translator | ||||
Description | The major problem is occt\src\StepData\StepData_GlobalFactors.hxx It is a singleton. We need to make it as a field of session(StepData_StepModel) Additinally All methods and functions that work with StepData_GlobalFactors must have access to the StepData_StepModel This can be done via optional parameter functions (theTP-reading, theFP-writing, theModel, or a value directly from Standard_Real) Or add/use a field in a class of the same type. The reason for this is thread-safety. StepData_GlobalFactors are static fields - containers (singletons) Fix for objects unique to one session - will allow to read step in different threads different files. The next step in this ticket is to isolate all static variables. Isolation is using Standard_mutex ::Lock ::Unlock + Change the type of static controllers to bool | ||||
Steps To Reproduce | Not possible | ||||
Tags | No tags attached. | ||||
Test case number | |||||
parent of | 0033564 | verified | dpasukhi | Open CASCADE | Data Exchange, STEP - Making default unit parameter |
related to | 0033643 | new | ika | Open CASCADE | Data Exchange, Step Import - Multithread loading model issue |
related to | 0033657 | new | dpasukhi | Open CASCADE | Data Exchange, Step Import - Data race during parsing stage |
|
static*[ \n\r]*(Handle\([^\n\)]+\))+[ \n\r]*[a-z,0-9_]+[ \n\r]*\; static*[ \n\r]*[a-z,0-9_]+[ \n\r]*[a-z,0-9_]+[ \n\r]*\; Regex to find static variables |
|
Branch CR33351 has been created by ichesnokova. SHA-1: f8c9407c98cc5daeecba86bfeba8de57c27216d2 Detailed log of new commits: Author: ichesnok Date: Tue Mar 28 13:29:44 2023 +0100 0033351: Data Exchange, Step - Improvement for thread safety of the STEP translator The StepData_GlobalFactors field added to StepData_StepModel. |
|
Branch CR33351 has been updated forcibly by ichesnokova. SHA-1: 4e636cd14d5efad4349ee1e161c51d72587de8a0 |
|
Branch CR33351 has been updated forcibly by ichesnokova. SHA-1: a897d0d5285c6125a67643dc8f1e5360eaed2641 |
|
Branch CR33351 has been updated forcibly by ichesnokova. SHA-1: 6038b3408a3cb90f7c3ed8bc31d2194af22ce8d6 |
|
Branch CR33351 has been updated forcibly by ichesnokova. SHA-1: 0926ad946308e62a0128bd4e74ba96003d9f4dee |
|
Dear dpasukhi, please review branch CR33351 Tests: http://jenkins-test-10.nnov.opencascade.com/view/CR33351-master-ichesnok/ |
|
Need to update Kinematics |
|
Dear dpasukhi, please review branch CR33351 Tests: http://jenkins-test-10.nnov.opencascade.com/view/CR33351-master-ichesnok/view/COMPARE/ |
|
Dear bugmaster, please integrate PROD:CR33351 OCCT:CR33351 |
|
Branch CR33351 has been updated forcibly by ichesnokova. SHA-1: 7d2b52ab2eea67032848dde6e45babb72d0460cd |
|
Combination - OCCT branch : IR-2023-09-08 master SHA - 28b505b27baa09dfba68242534a89a55960b19ac 38e09ead3f71b0f6ee0ece13e05a6f9009c86eba Products branch : IR-2023-09-08 SHA - 1e2d5c30eda7a6920c3328a6b96a641049d32057 was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences CPU differences: Ubuntu2004-64: OCCT Total CPU difference: 17991.31000000026 / 17826.9900000004 [+0.92%] Products Total CPU difference: 11923.35000000001 / 11838.620000000014 [+0.72%] Windows-64-VC142: OCCT Total CPU difference: 20151.84375 / 19845.21875 [+1.55%] Products Total CPU difference: 14318.203125 / 14167.5625 [+1.06%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR33351 has been deleted by mnt. SHA-1: 7d2b52ab2eea67032848dde6e45babb72d0460cd |
occt: master 28b505b2 2023-03-28 12:29:44 ichesnok Committer: vglukhik Details Diff |
0033351: Data Exchange, Step - Improvement for thread safety of the STEP translator Local StepData_Factors object usage for each session Static variables isolated |
Affected Issues 0033351 |
|
mod - src/GeomToStep/GeomToStep_MakeAxis1Placement.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeAxis1Placement.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeAxis1Placement_gen.pxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeAxis2Placement2d.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeAxis2Placement2d.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeAxis2Placement3d.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeAxis2Placement3d.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBoundedCurve.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBoundedCurve.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBoundedSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBoundedSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnots.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnots.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve_gen.pxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnots_gen.pxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineSurfaceWithKnots.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineSurfaceWithKnots.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineSurfaceWithKnotsAndRationalBSplineSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeBSplineSurfaceWithKnotsAndRationalBSplineSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCartesianPoint.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCartesianPoint.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCircle.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCircle.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCircle_gen.pxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeConic.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeConic.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeConicalSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeConicalSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCurve.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCurve.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCylindricalSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeCylindricalSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeElementarySurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeElementarySurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeEllipse.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeEllipse.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeEllipse_gen.pxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeHyperbola.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeHyperbola.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeLine.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeLine.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeLine_gen.pxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeParabola.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeParabola.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakePlane.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakePlane.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakePolyline.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakePolyline.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakePolyline_gen.pxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeRectangularTrimmedSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeRectangularTrimmedSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSphericalSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSphericalSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSurfaceOfLinearExtrusion.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSurfaceOfLinearExtrusion.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSurfaceOfRevolution.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSurfaceOfRevolution.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSweptSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeSweptSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeToroidalSurface.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeToroidalSurface.hxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeVector.cxx | Diff File | ||
mod - src/GeomToStep/GeomToStep_MakeVector.hxx | Diff File | ||
mod - src/STEPCAFControl/STEPCAFControl_Controller.cxx | Diff File | ||
mod - src/STEPCAFControl/STEPCAFControl_Reader.cxx | Diff File | ||
mod - src/STEPCAFControl/STEPCAFControl_Reader.hxx | Diff File | ||
mod - src/STEPCAFControl/STEPCAFControl_Writer.cxx | Diff File | ||
mod - src/STEPCAFControl/STEPCAFControl_Writer.hxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_ContextTool.cxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_ContextTool.hxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_UnitContext.cxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_UnitContext.hxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_ValidationProps.cxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_ValidationProps.hxx | Diff File | ||
mod - src/STEPControl/STEPControl_ActorRead.cxx | Diff File | ||
mod - src/STEPControl/STEPControl_ActorRead.hxx | Diff File | ||
mod - src/STEPControl/STEPControl_ActorWrite.cxx | Diff File | ||
mod - src/STEPControl/STEPControl_ActorWrite.hxx | Diff File | ||
mod - src/STEPControl/STEPControl_Controller.cxx | Diff File | ||
mod - src/StepData/FILES | Diff File | ||
add - src/StepData/StepData_Factors.cxx | Diff File | ||
add - src/StepData/StepData_Factors.hxx | Diff File | ||
rm - src/StepData/StepData_GlobalFactors.cxx | Diff File | ||
rm - src/StepData/StepData_GlobalFactors.hxx | Diff File | ||
mod - src/StepData/StepData_StepModel.cxx | Diff File | ||
mod - src/StepData/StepData_StepModel.hxx | Diff File | ||
mod - src/STEPEdit/STEPEdit.cxx | Diff File | ||
mod - src/STEPEdit/STEPEdit_EditContext.cxx | Diff File | ||
mod - src/StepSelect/StepSelect_StepType.cxx | Diff File | ||
mod - src/STEPSelections/STEPSelections_SelectGSCurves.cxx | Diff File | ||
mod - src/STEPSelections/STEPSelections_SelectInstances.cxx | Diff File | ||
mod - src/StepToGeom/StepToGeom.cxx | Diff File | ||
mod - src/StepToGeom/StepToGeom.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_Builder.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_Builder.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_MakeTransformed.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_MakeTransformed.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateCompositeCurve.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateCompositeCurve.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateCurveBoundedSurface.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateCurveBoundedSurface.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdge.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdge.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdgeLoop.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdgeLoop.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateFace.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslatePolyLoop.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslatePolyLoop.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateShell.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateShell.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateSolid.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateSolid.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateVertex.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateVertex.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateVertexLoop.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_TranslateVertexLoop.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_Builder.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_Builder.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeBrepWithVoids.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeBrepWithVoids.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeFacetedBrep.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeFacetedBrep.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeFacetedBrepAndBrepWithVoids.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeFacetedBrepAndBrepWithVoids.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeGeometricCurveSet.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeGeometricCurveSet.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeManifoldSolidBrep.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeManifoldSolidBrep.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeShellBasedSurfaceModel.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeShellBasedSurfaceModel.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepEdge.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepEdge.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepFace.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepFace.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepVertex.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepVertex.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepWire.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_MakeStepWire.hxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_WireframeBuilder.cxx | Diff File | ||
mod - src/TopoDSToStep/TopoDSToStep_WireframeBuilder.hxx | Diff File | ||
mod - src/XSDRAWSTEP/XSDRAWSTEP.cxx | Diff File | ||
occt-products: master 1e2d5c30 2023-09-06 13:54:19 ichesnok Details Diff |
0033351: Data Exchange, Step - Improvement for thread safety of the STEP translator StepData_Factors usage added |
Affected Issues 0033351 |
|
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - src/Kinematics/Kinematics_StepWriter.cxx | Diff File | ||
mod - src/Kinematics/Kinematics_StepWriter.hxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-03-27 17:55 | dpasukhi | New Issue | |
2023-03-27 17:55 | dpasukhi | Assigned To | => ichesnokova |
2023-03-28 12:37 | dpasukhi | Status | new => assigned |
2023-03-30 21:19 | dpasukhi | Note Added: 0113343 | |
2023-03-30 21:22 | dpasukhi | Note Edited: 0113343 | |
2023-04-05 00:33 | git | Note Added: 0113361 | |
2023-05-14 17:14 | dpasukhi | Assigned To | ichesnokova => dpasukhi |
2023-07-31 13:20 | dpasukhi | Target Version | 7.7.2 => 7.7.3 |
2023-08-21 11:14 | git | Note Added: 0113992 | |
2023-08-21 12:21 | git | Note Added: 0113994 | |
2023-08-22 15:49 | git | Note Added: 0114009 | |
2023-09-04 17:52 | dpasukhi | Assigned To | dpasukhi => ichesnokova |
2023-09-06 11:20 | git | Note Added: 0114078 | |
2023-09-06 14:01 |
|
Note Added: 0114079 | |
2023-09-06 14:02 |
|
Assigned To | ichesnokova => dpasukhi |
2023-09-06 14:02 |
|
Status | assigned => resolved |
2023-09-06 15:47 | dpasukhi | Assigned To | dpasukhi => ichesnokova |
2023-09-06 15:47 | dpasukhi | Status | resolved => assigned |
2023-09-06 15:47 | dpasukhi | Note Added: 0114081 | |
2023-09-07 10:13 |
|
Assigned To | ichesnokova => dpasukhi |
2023-09-07 10:13 |
|
Status | assigned => resolved |
2023-09-07 10:13 |
|
Note Added: 0114084 | |
2023-09-07 10:43 | dpasukhi | Assigned To | dpasukhi => bugmaster |
2023-09-07 10:43 | dpasukhi | Status | resolved => reviewed |
2023-09-07 10:43 | dpasukhi | Note Added: 0114085 | |
2023-09-07 10:45 | dpasukhi | Assigned To | bugmaster => dpasukhi |
2023-09-07 10:45 | dpasukhi | Status | reviewed => assigned |
2023-09-07 11:00 | git | Note Added: 0114087 | |
2023-09-07 18:41 | dpasukhi | Status | assigned => resolved |
2023-09-07 18:41 | dpasukhi | Steps to Reproduce Updated | |
2023-09-07 18:42 | dpasukhi | Assigned To | dpasukhi => bugmaster |
2023-09-07 18:42 | dpasukhi | Status | resolved => reviewed |
2023-09-11 12:23 | vglukhik | Note Added: 0114123 | |
2023-09-11 12:28 | vglukhik | Changeset attached | => occt master 28b505b2 |
2023-09-11 12:28 | vglukhik | Assigned To | bugmaster => vglukhik |
2023-09-11 12:28 | vglukhik | Status | reviewed => verified |
2023-09-11 12:28 | vglukhik | Resolution | open => fixed |
2023-09-11 12:28 | Changeset attached | => occt-products master 1e2d5c30 | |
2023-09-11 14:03 | git | Note Added: 0114130 | |
2024-01-02 16:59 | dpasukhi | Relationship added | parent of 0033564 |
2024-03-28 13:26 | dpasukhi | Relationship added | related to 0033643 |
2024-03-28 13:26 | dpasukhi | Relationship added | related to 0033657 |