View Issue Details

IDProjectCategoryView StatusLast Update
0029694CommunityOCCT:Modeling Algorithmspublic2018-06-23 13:56
Reportersraymond Assigned Tobugmaster  
PrioritynormalSeveritycrash 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2015 
Product Version7.2.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0029694: Geom2dGcc_Circ2dTanCenGeo crash
DescriptionAt line 63 of Geom2dGcc_Circ2dTanCenGeo.cxx
Extrema_ExtPC2d distmin(Pcenter,curve,Geom2dGcc_CurveTool::NbSamples(curve),
    Geom2dGcc_CurveTool::EpsX(curve,Tol),Tol);

Extrema_ExtPC2d is called using
Extrema_ExtPC2d (const gp_Pnt2d &P, const Adaptor2d_Curve2d &C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF=1.0e-10)
but arguments in Geom2dGcc_Circ2dTanCenGeo.cxx don't make sens and as NbSamples > EpsX it leads to crash.

I'm trying to fix it making the following modification:

Extrema_ExtPC2d distmin(Pcenter,curve,Tol);
 
Steps To ReproduceTest case has already been created and pushed to the branch.
TagsNo tags attached.
Test case numberlowalgos 2dgcc bug29694, lowalgos 2dgcc doc001

Relationships

related to 0024773 closedapn Open CASCADE Convertation of the generic classes to the non-generic. Part 7 

Activities

nbv

2018-05-22 10:31

developer   ~0076092

The reason of this issue is in incorrectly interpreted the generic class "TheExtPC" (eliminated after the fix 0024773) as Extrema_ExtPC2d. Correct interpretation must be "Extrema_EPCOfExtPC2d" class.

git

2018-05-22 16:05

administrator   ~0076101

Branch CR29694 has been created by nbv.

SHA-1: db083aecd3367cb18ed354ec2681cdca03d3644d


Detailed log of new commits:

Author: nbv
Date: Tue May 22 12:15:27 2018 +0300

    0029694: Geom2dGcc_Circ2dTanCenGeo crash
    
    The reason of this issue is in incorrectly interpreted the generic class "TheExtPC" (eliminated after the fix 0024773) as Extrema_ExtPC2d. Correct interpretation must be "Extrema_EPCOfExtPC2d" class.
    
    Now this problem has been fixed in the class Geom2dGcc_Circ2dTanCenGeo.
    
    New testgrid "lowalgos tangentcommands" has been created.

git

2018-05-23 09:31

administrator   ~0076122

Branch CR29694 has been updated by nbv.

SHA-1: e85c7f734e519e1306b8a6e23f62d8da015a0506


Detailed log of new commits:

Author: nbv
Date: Wed May 23 09:23:13 2018 +0300

    # Some correction in the documentation.

git

2018-05-23 11:15

administrator   ~0076143

Branch CR29694 has been updated forcibly by nbv.

SHA-1: 1462404bec79c0ef4d65b28f33d37d6bd7f19459

nbv

2018-05-23 17:11

developer   ~0076193

Dear Mikhail,

Please review the current state of CR29694 branch.

Test results are here: http://jenkins-test-11.nnov.opencascade.com/view/CR29694-master_NBV/.

msv

2018-05-25 16:48

developer   ~0076336

Last edited: 2018-05-25 17:39

src/GeometryTest/GeometryTest_ConstraintCommands.cxx
- 141: there is no sense any more in add temporary variable. Use solname directly. And the same in upper codes.
- it is not good to check only first two letters in the argument. It is better to compare the full string like "strcmp(theArgVals[anArgID],"-c") == 0". And the code will be changed to use if.. else if.. instead of switch.
- for better understanding, it is needed to change names of variables aCurveIdx and aPntIdx to aNbCurves and aNbPnts, and change their setting (initially 0) and behavior.

Rename the folder tangentcommands to 2dgcc (stands for geometric 2d curve constraints).

tests/lowalgos/tangentcommands/bug29694
- For new test cases, let's put the bug name in output instead of comment.

tests/lowalgos/tangentcommands/doc001
- Avoid usage of 'v2d' command, bacuse the snapshot is created unjustified big. Use the command smallview with proper parameters.

git

2018-05-25 18:18

administrator   ~0076345

Branch CR29694_1 has been created by nbv.

SHA-1: eb2376dd38451fad5df3e93cea8cb2c34991ddd1


Detailed log of new commits:

Author: nbv
Date: Tue May 22 12:15:27 2018 +0300

    0029694: Geom2dGcc_Circ2dTanCenGeo crash
    
    The reason of this issue is in incorrectly interpreted the generic class "TheExtPC" (eliminated after the fix 0024773) as Extrema_ExtPC2d. Correct interpretation must be "Extrema_EPCOfExtPC2d" class.
    
    Now this problem has been fixed in the class Geom2dGcc_Circ2dTanCenGeo.
    
    New testgrid "lowalgos 2dgcc" has been created.

nbv

2018-05-28 13:33

developer   ~0076364

Dear Mikhail,

Please review the current state of CR29694_1 branch.

Test results are here: http://jenkins-test-11.nnov.opencascade.com/view/CR29694-master_NBV/

msv

2018-05-29 11:08

developer   ~0076388

src/GeometryTest/GeometryTest_ConstraintCommands.cxx
- I prefer using constructions like this:
  if (/* some condition */)
  {
     // a code
  }
  else if (/* other condition */)
  {
     // other code
  }

instead of the following:
  if (/* some condition */)
  {
     // a code
     continue;
  }
  if (/* other condition */)
  {
     // other code
     continue;
  }

This makes the code more compact, and reduces usage of operators of unconditional jumping.

git

2018-05-29 12:26

administrator   ~0076392

Branch CR29694_2 has been created by nbv.

SHA-1: 753270577f6055ced8655a5b8df1cb10d0d0ed44


Detailed log of new commits:

Author: nbv
Date: Tue May 22 12:15:27 2018 +0300

    0029694: Geom2dGcc_Circ2dTanCenGeo crash
    
    The reason of this issue is in incorrectly interpreted the generic class "TheExtPC" (eliminated after the fix 0024773) as Extrema_ExtPC2d. Correct interpretation must be "Extrema_EPCOfExtPC2d" class.
    
    Now this problem has been fixed in the class Geom2dGcc_Circ2dTanCenGeo.
    
    New testgrid "lowalgos 2dgcc" has been created.

nbv

2018-05-29 15:55

developer   ~0076399

Dear Mikhail,

Please review the current state of CR29694_2 branch.

Test results are here: http://jenkins-test-11.nnov.opencascade.com/view/CR29694-master_NBV/

msv

2018-05-29 17:58

developer   ~0076416

Reviewed.

bugmaster

2018-05-30 13:38

administrator   ~0076435

Combination -
OCCT branch : CR29694_2 SHA - 753270577f6055ced8655a5b8df1cb10d0d0ed44
Products branch : master SHA - 0503d2e80bad20c78461c45f990db7f47ea81501
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:
Debian70-64:
OCCT
Total CPU difference: 18164.679999999946 / 17003.629999999863 [+6.83%]
Products
Total CPU difference: 7457.520000000047 / 7351.93000000003 [+1.44%]
Windows-64-VC10:
OCCT
Total CPU difference: 17968.023578898486 / 16814.645785498535 [+6.86%]
Products
Total CPU difference: 8204.248590999867 / 8072.068943699895 [+1.64%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-06-23 13:56

administrator   ~0076918

Branch CR29694 has been deleted by kgv.

SHA-1: 1462404bec79c0ef4d65b28f33d37d6bd7f19459

git

2018-06-23 13:56

administrator   ~0076919

Branch CR29694_1 has been deleted by kgv.

SHA-1: eb2376dd38451fad5df3e93cea8cb2c34991ddd1

git

2018-06-23 13:56

administrator   ~0076920

Branch CR29694_2 has been deleted by kgv.

SHA-1: 753270577f6055ced8655a5b8df1cb10d0d0ed44

Related Changesets

occt: master 894dba72

2018-05-22 09:15:27

nbv


Committer: bugmaster Details Diff
0029694: Geom2dGcc_Circ2dTanCenGeo crash

The reason of this issue is in incorrectly interpreted the generic class "TheExtPC" (eliminated after the fix 0024773) as Extrema_ExtPC2d. Correct interpretation must be "Extrema_EPCOfExtPC2d" class.

Now this problem has been fixed in the class Geom2dGcc_Circ2dTanCenGeo.

New testgrid "lowalgos 2dgcc" has been created.
Affected Issues
0029694
mod - dox/user_guides/draw_test_harness/draw_test_harness.md Diff File
mod - src/Geom2dGcc/Geom2dGcc_Circ2dTanCenGeo.cxx Diff File
mod - src/GeometryTest/GeometryTest_ConstraintCommands.cxx Diff File
add - tests/lowalgos/2dgcc/bug29694 Diff File
add - tests/lowalgos/2dgcc/doc001 Diff File
mod - tests/lowalgos/grids.list Diff File

Issue History

Date Modified Username Field Change
2018-04-12 19:26 sraymond New Issue
2018-04-12 19:26 sraymond Assigned To => msv
2018-05-22 09:53 msv Assigned To msv => nbv
2018-05-22 09:53 msv Status new => assigned
2018-05-22 10:28 nbv Relationship added related to 0024773
2018-05-22 10:31 nbv Note Added: 0076092
2018-05-22 16:05 git Note Added: 0076101
2018-05-23 09:31 git Note Added: 0076122
2018-05-23 11:15 git Note Added: 0076143
2018-05-23 17:11 nbv Note Added: 0076193
2018-05-23 17:11 nbv Assigned To nbv => msv
2018-05-23 17:11 nbv Status assigned => resolved
2018-05-23 17:11 nbv Steps to Reproduce Updated
2018-05-25 16:48 msv Note Added: 0076336
2018-05-25 16:48 msv Assigned To msv => nbv
2018-05-25 16:48 msv Status resolved => assigned
2018-05-25 17:39 msv Note Edited: 0076336
2018-05-25 18:18 git Note Added: 0076345
2018-05-28 13:33 nbv Note Added: 0076364
2018-05-28 13:33 nbv Assigned To nbv => msv
2018-05-28 13:33 nbv Status assigned => resolved
2018-05-29 11:08 msv Note Added: 0076388
2018-05-29 11:08 msv Assigned To msv => nbv
2018-05-29 11:08 msv Status resolved => assigned
2018-05-29 12:26 git Note Added: 0076392
2018-05-29 15:55 nbv Note Added: 0076399
2018-05-29 15:55 nbv Assigned To nbv => msv
2018-05-29 15:55 nbv Status assigned => resolved
2018-05-29 17:58 msv Note Added: 0076416
2018-05-29 17:58 msv Assigned To msv => bugmaster
2018-05-29 17:58 msv Status resolved => reviewed
2018-05-30 13:19 bugmaster Test case number => lowalgos 2dgcc bug29694, lowalgos 2dgcc doc001
2018-05-30 13:38 bugmaster Note Added: 0076435
2018-05-30 13:38 bugmaster Status reviewed => tested
2018-06-14 18:20 bugmaster Changeset attached => occt master 894dba72
2018-06-14 18:20 bugmaster Status tested => verified
2018-06-14 18:20 bugmaster Resolution open => fixed
2018-06-23 13:56 git Note Added: 0076918
2018-06-23 13:56 git Note Added: 0076919
2018-06-23 13:56 git Note Added: 0076920