View Issue Details

IDProjectCategoryView StatusLast Update
0030581Open CASCADEOCCT:Modeling Datapublic2019-04-08 12:18
Reporterkgv Assigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version5.2.2 
Target Version7.4.0Fixed in Version7.4.0 
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

Activities

git

2019-03-16 10:29

administrator   ~0083009

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.

kgv

2019-03-16 12:55

developer   ~0083014

Patch is ready for review.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30581-master-KGV

msv

2019-03-18 11:50

developer   ~0083037

Reviewed.

apn

2019-03-18 15:34

administrator   ~0083047

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

git

2019-04-08 12:18

administrator   ~0083505

Branch CR30581 has been deleted by inv.

SHA-1: a4ccb27d6a61602f61d33cb4a85f0ae4f7c347c3

Related Changesets

occt: master 437ef771

2019-03-16 06:33:37

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.
Affected Issues
0030581
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
2019-03-16 11:35 kgv Description Updated
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