MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030581Open CASCADE[OCCT] OCCT:Modeling Datapublic2019-03-16 09:292019-04-08 12:18
Reporterkgv 
Assigned Toapn 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 5.2.2 
Target Version[OCCT] 7.4.0Fixed in Version 
Summary0030581: Modeling Data - Standard_OutOfRange within Geom_BSplineSurface::LocateV()
DescriptionGeom_BSplineSurface::LocateV() does not properly check array bounds leading to Standard_OutOfRange in some cases, but this check is disabled at beginning of file.

Test case perf/modalg/bug26443_1 triggers this scenario.
It also produces unstable screenshots, which might be caused by reading undefined out-of-range values.

Note that function BSplCLib::Hunt() might return result outside of array range.
In particular, this happens for very close values, which are probably occur due to serialization issues (e.g. model has been once saved in text .brep format).
It looks reasonable adding first/last values with some tolerance.
From other side, almost all existing BSplCLib::Hunt() calls clamps result to a valid range anyway.
Steps To Reproduceperf modalg bug26443_1
TagsNo tags attached.
Test case numberperf modalg bug26443_1
Attached Files

- Relationships

-  Notes
(0083009)
git (administrator)
2019-03-16 10:29

Branch CR30581 has been created by kgv.

SHA-1: a4ccb27d6a61602f61d33cb4a85f0ae4f7c347c3


Detailed log of new commits:

Author: kgv
Date: Sat Mar 16 09:33:37 2019 +0300

    0030581: Modeling Data - Standard_OutOfRange within Geom_BSplineSurface::LocateV()
    
    Geom2d_BSplineCurve::LocateU(),Geom_BSplineCurve::LocateU, Law_BSpline::LocateU()
    Geom_BSplineSurface::LocateU() and Geom_BSplineSurface::LocateV()
    have been corrected with missing range checks.
    BSplCLib::Hunt() documentation has been corrected to reflect its actual implementation.
(0083014)
kgv (developer)
2019-03-16 12:55

Patch is ready for review.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30581-master-KGV [^]
(0083037)
msv (developer)
2019-03-18 11:50

Reviewed.
(0083047)
apn (administrator)
2019-03-18 15:34

Combination -
OCCT branch : CR30581
master SHA - a4ccb27d6a61602f61d33cb4a85f0ae4f7c347c3
d67d4b811012eef8913d3c535c29654d0acf3c4c
Products branch : master SHA - 19cf12d4f918562ea1456aa224c6f7a64b9c4ad7
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:
Debian80-64:
OCCT
Total CPU difference: 16608.149999999994 / 16599.24999999996 [+0.05%]
Products
Total CPU difference: 9091.250000000035 / 9092.71000000004 [-0.02%]
Windows-64-VC14:
OCCT
Total CPU difference: 17990.296875 / 17985.28125 [+0.03%]
Products
Total CPU difference: 10473.046875 / 10460.953125 [+0.12%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0083505)
git (administrator)
2019-04-08 12:18

Branch CR30581 has been deleted by inv.

SHA-1: a4ccb27d6a61602f61d33cb4a85f0ae4f7c347c3

- Related Changesets
occt: master 437ef771
Timestamp: 2019-03-16 06:33:37
Author: kgv
Committer: apn
Details ] Diff ]
0030581: Modeling Data - Standard_OutOfRange within Geom_BSplineSurface::LocateV()

Geom2d_BSplineCurve::LocateU(),Geom_BSplineCurve::LocateU, Law_BSpline::LocateU()
Geom_BSplineSurface::LocateU() and Geom_BSplineSurface::LocateV()
have been corrected with missing range checks.
BSplCLib::Hunt() documentation has been corrected to reflect its actual implementation.
mod - src/BSplCLib/BSplCLib.cxx Diff ] File ]
mod - src/BSplCLib/BSplCLib.hxx Diff ] File ]
mod - src/GCPnts/GCPnts_QuasiUniformDeflection.pxx Diff ] File ]
mod - src/GCPnts/GCPnts_UniformDeflection.pxx Diff ] File ]
mod - src/Geom/Geom_BSplineCurve_1.cxx Diff ] File ]
mod - src/Geom/Geom_BSplineSurface_1.cxx Diff ] File ]
mod - src/Geom2d/Geom2d_BSplineCurve_1.cxx Diff ] File ]
mod - src/Law/Law_BSpline.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2019-03-16 09:29 kgv New Issue
2019-03-16 09:29 kgv Assigned To => msv
2019-03-16 10:29 git Note Added: 0083009
2019-03-16 10:42 kgv Product Version 7.3.0 => 5.2.2
2019-03-16 11:12 kgv Description Updated View Revisions
2019-03-16 11:35 kgv Description Updated View Revisions
2019-03-16 12:55 kgv Note Added: 0083014
2019-03-16 12:55 kgv Status new => resolved
2019-03-18 11:50 msv Note Added: 0083037
2019-03-18 11:50 msv Assigned To msv => bugmaster
2019-03-18 11:50 msv Status resolved => reviewed
2019-03-18 15:34 apn Test case number => perf modalg bug26443_1
2019-03-18 15:34 apn Note Added: 0083047
2019-03-18 15:34 apn Status reviewed => tested
2019-03-24 18:54 apn Changeset attached => occt master 437ef771
2019-03-24 18:54 apn Assigned To bugmaster => apn
2019-03-24 18:54 apn Status tested => verified
2019-03-24 18:54 apn Resolution open => fixed
2019-04-08 12:18 git Note Added: 0083505


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker