View Issue Details

IDProjectCategoryView StatusLast Update
0026871CommunityOCCT:Modeling Algorithmspublic2016-04-20 15:50
ReporterRoman Lygin Assigned Tobugmaster  
PrioritynormalSeveritymajor 
Status closedResolutionfixed 
Product Version6.9.1 
Target Version7.0.0Fixed in Version7.0.0 
Summary0026871: [Regression in 6.9.0] Projecting a curve hangs inside Approx_FitAndDivide2d
DescriptionCurve projection (B-Spline onto cylindrical surface) hangs in OCC 6.9.x while succeeds in 6.8.0.

The symptoms are similar to 0026339 (some infinite loop) however the stack is different and the control is never going out of Approx_FitAndDivide2d. So these can be distinct issues.

(Severity is set to 'major' as hang apparently leads to necessity of application termination and hence data loss).
Steps To ReproduceUse the following archive and its 'curve3d' and 'surface' files. Respective *_draw files can be loaded in DRAW.
Excerpt of the C++ reproducer:

void Algo_CurveTest::Project2d()
{
    QFETCH(QString, dir);
    QFETCH(QString, curve);
    QFETCH(double, first);
    QFETCH(double, last);
    QFETCH(QString, surface);

    //curve
    Handle(Geom_Curve) aC;
    QVERIFY (Read (dir + curve, aC));
    QVERIFY (!aC.IsNull());

    //surface
    Handle(Geom_Surface) aS;
    QVERIFY (Read (dir + surface, aS));
    QVERIFY (!aS.IsNull());

    //algorithm
    double aTol = Precision::Confusion();
    ShapeConstruct_ProjectCurveOnSurface aProj;
    aProj.Init (aS, aTol);
    Handle_Geom2d_Curve aPC;
    aProj.Perform (aC, first, last, aPC);
}
TagsNo tags attached.
Test case numberbugs heal bug26871

Attached Files

  • 010.zip (2,624 bytes)

Activities

Roman Lygin

2015-11-14 09:50

developer  

010.zip (2,624 bytes)

Roman Lygin

2015-11-14 10:14

developer   ~0048191

This may have something to do with the explicit terminating parameters. The original curve is Trimmed Curve with a range [-4.6646381453254864e-018, 1.6876844582553601] and the basis curve has a range [-0.012704486752778054, 1.6876844582553601].

If to create a trimmed curve with natural boundaries then the algorithm succeeds.
If to create a trimmed curve with a range [0, 1.6876844582553601] (where 0 is an existing knot) the algorithm succeeds as well.

So it might be something related to the range [-4.6646381453254864e-018, 0].

Note for the C++ reproducer - first and last are trimming parameters to be taken from the trimmed curve.

git

2015-11-17 16:46

administrator   ~0048305

Branch CR26871 has been created by azv.

SHA-1: ce6c0c67d7a367e244359a5c6afcaf00a198ace2


Detailed log of new commits:

Author: azv
Date: Tue Nov 17 16:46:32 2015 +0300

    0026871: [Regression in 6.9.0] Projecting a curve hangs inside Approx_FitAndDivide2d
    
    Fix checking of B-spline parametrization speed

azv

2015-11-17 16:47

administrator   ~0048306

Dear Mikhail,

Please review branch CR26871.

msv

2015-11-18 11:39

developer   ~0048337

Reviewed.

git

2015-11-18 11:45

administrator   ~0048338

Branch CR26871 has been updated forcibly by azv.

SHA-1: 9c0f927902655048378eb7bf8e5cd023b24b3d63

git

2015-11-23 14:18

administrator   ~0048477

Branch CR26871 has been updated by ski.

SHA-1: e9fa97a1947ffb62cc60309f5135ea88553c361a


Detailed log of new commits:

Author: ski
Date: Mon Nov 23 14:18:32 2015 +0300

    Test case for issue CR26871

ski

2015-11-23 14:20

developer   ~0048478

Dear azv,
could you please review following test case
bugs heal bug26871

azv

2015-11-23 14:35

administrator   ~0048480

Test case is OK.

ski

2015-11-23 14:35

developer   ~0048482

Dear BugMaster,

Branch CR26871 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: e9fa97a1947ffb62cc60309f5135ea88553c361a

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MacOS: 129 (129 on master)
products component:
   Linux: 39 (39 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
Not detected

Testing cases:
bugs heal bug26871 - OK
http://occt-tests/CR26871-master-occt-64/Debian70-64/bugs/heal/bug26871.html
http://occt-tests/CR26871-master-occt-64/Windows-64-VC10/bugs/heal/bug26871.html

Testing on Linux:
Total MEMORY difference: 92872489 / 92882537 [-0.01%]
Total CPU difference: 19660.189999999657 / 19535.239999999845 [+0.64%]

Testing on Windows:
Total MEMORY difference: 58071891 / 58096109 [-0.04%]
Total CPU difference: 18172.338088598757 / 18232.367273398875 [-0.33%]

git

2016-04-17 14:14

administrator   ~0053102

Branch CR26871 has been deleted by kgv.

SHA-1: e9fa97a1947ffb62cc60309f5135ea88553c361a

Related Changesets

occt: master 6a2ee094

2015-11-17 13:46:32

azv


Committer: bugmaster Details Diff
0026871: [Regression in 6.9.0] Projecting a curve hangs inside Approx_FitAndDivide2d

Fix checking of B-spline parametrization speed

Test case for issue CR26871
Affected Issues
0026871
mod - src/ShapeConstruct/ShapeConstruct_ProjectCurveOnSurface.cxx Diff File
add - tests/bugs/heal/bug26871 Diff File

Issue History

Date Modified Username Field Change
2015-11-14 09:50 Roman Lygin New Issue
2015-11-14 09:50 Roman Lygin Assigned To => msv
2015-11-14 09:50 Roman Lygin File Added: 010.zip
2015-11-14 10:14 Roman Lygin Note Added: 0048191
2015-11-16 12:23 msv Assigned To msv => azv
2015-11-16 12:23 msv Status new => assigned
2015-11-17 16:46 git Note Added: 0048305
2015-11-17 16:47 azv Note Added: 0048306
2015-11-17 16:47 azv Assigned To azv => msv
2015-11-17 16:47 azv Status assigned => resolved
2015-11-18 11:39 msv Note Added: 0048337
2015-11-18 11:39 msv Assigned To msv => bugmaster
2015-11-18 11:39 msv Status resolved => reviewed
2015-11-18 11:45 git Note Added: 0048338
2015-11-18 13:05 apv Assigned To bugmaster => apv
2015-11-23 14:18 git Note Added: 0048477
2015-11-23 14:20 ski Note Added: 0048478
2015-11-23 14:20 ski Assigned To apv => azv
2015-11-23 14:20 ski Status reviewed => feedback
2015-11-23 14:35 azv Note Added: 0048480
2015-11-23 14:35 azv Assigned To azv => ski
2015-11-23 14:35 azv Status feedback => reviewed
2015-11-23 14:35 ski Note Added: 0048482
2015-11-23 14:36 bugmaster Status reviewed => tested
2015-11-23 14:38 bugmaster Test case number => bugs heal bug26871
2015-11-23 14:40 ski Assigned To ski => bugmaster
2015-11-27 12:21 bugmaster Changeset attached => occt master 6a2ee094
2015-11-27 12:21 bugmaster Status tested => verified
2015-11-27 12:21 bugmaster Resolution open => fixed
2016-04-17 14:14 git Note Added: 0053102
2016-04-20 15:42 aiv Fixed in Version => 7.0.0
2016-04-20 15:50 aiv Status verified => closed