MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0026597Open CASCADE[OCCT] OCCT:Data Exchangepublic2015-08-25 10:042017-08-10 19:34
Reporterabv 
Assigned Togka 
PrioritynormalSeverityminor 
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0026597: Internal exceptions in test de step_3 F1
DescriptionTest de step_3 F1 produces (internally handled) exceptions of two kinds:

1. On loopback (reading back written STEP file): 15 exceptions on translation of B-Spline curves, raised in constructor of Geom_BsplineCurve (see function CheckCurveData in Geom_BsplineCurve.cxx). This produces messages like this in translation log:

StepToTopoDS, GeometricSet, elem 3126 of 7121: exception

The immediate cause seems to be that B-Spline with degree 3 has multiplicities of all knots 4, while only 3 is allowed.

Two corrections seem necessary:

a) Investigate and eliminate reason of producing bad B-Spline data (most likely on writing). The situation similar to 0025971 is suspected.

b) Revise the code that handles this and similar exceptions to ensure that error messages are not output to console as it is now (unless macro OCCT_DEBUG is defined), but recorded in translation statistics (tpstat).

2. Exception in BRepLib_MakeEdge, due to error status set in method Init():

 myError = BRepLib_DifferentPointsOnClosedCurve;

The reason is that check for edge closure is done twice (by comparing its points taken from curve): in this method Init(), and in top-level method Init() that calls this one. Though the same points are taken from the curve, and the same tolerance is used for comparison, the results are different due to numeric instability, and the test passes in one place but not in the other (difference is very close to precision used, 1e-7; greater on one test and less on the other). Note that tests are not consistent: one uses < and the other <=, however this is not the reason of error.

Two changes are necessary:

a) Revise implementation of BRepLib_MakeEdge to have test done only once.
b) Correct spelling of error messages: "exeption" -> "exception"

The problem has been detected while checking regressions on branch CR0-OCCT691-3, built with VC++ 10, 64-bit mode (both Debug and Release). Problem 2 cannot be reproduced neither in OCCT master (7.0.0.dev) nor on previous versions (up to 6.9.0).
Steps To ReproduceRun test de step_3 F1 under debugger with exception handling enabled
TagsNo tags attached.
Test case numberde step_3 F1
Attached Files

- Relationships

-  Notes
(0069295)
mkv (tester)
2017-08-10 19:34

Problem described in issue is reproduced on current state of OCCT.

- Issue History
Date Modified Username Field Change
2015-08-25 10:04 abv New Issue
2015-08-25 10:04 abv Assigned To => gka
2016-10-26 12:05 gka Target Version 7.1.0 => 7.2.0
2017-07-27 09:33 abv Target Version 7.2.0 => 7.4.0*
2017-08-10 19:34 mkv Test case number => de step_3 F1
2017-08-10 19:34 mkv Note Added: 0069295


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker