View Issue Details

IDProjectCategoryView StatusLast Update
0030348Open CASCADEOCCT:Shape Healingpublic2018-11-11 12:04
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version6.5.3 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030348: Shape Healing - ShapeFix_Wire::FixEdgeCurves() throws Standard_OutOfRange exception
DescriptionShapeFix_Wire::FixEdgeCurves() throws Standard_OutOfRange exception (in DEBUG build, in RELEASE it just corrupts memory) within the following code:
  if ( NeedFix ( myFixAddCurve3dMode ) ) {
    for ( i=1; i <= nb; i++ ) {
      myFixEdge->FixAddCurve3d ( sbwd->Edge(i) );
      if ( myFixEdge->Status ( ShapeExtend_DONE ) ) 
    myStatusEdgeCurves |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE5 );
      if ( myFixEdge->Status ( ShapeExtend_FAIL ) ) {
        //:abv 29.08.01: Spatial_firex_lofting.sat: if 3d curve cannot
        // be built because edge has no pcurves either, remove that edge
        Handle(Geom2d_Curve) C;
        Handle(Geom_Surface) S;
        TopLoc_Location L;
        Standard_Real first = 0., last = 0.;
        BRep_Tool::CurveOnSurface ( sbwd->Edge(i), C, S, L, first, last );
        if ( C.IsNull() || Abs (last - first) < Precision::PConfusion())
        {
          SendWarning ( sbwd->Edge ( i ), Message_Msg ( "FixWire.FixCurve3d.Removed" ) );// Incomplete edge (with no pcurves or 3d curve) removed
          sbwd->Remove ( i-- );
          nb--;
          myStatusEdgeCurves |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE5 );
          FixConnected (i + 1, Precision());
        }
    myStatusEdgeCurves |= ShapeExtend::EncodeStatus ( ShapeExtend_FAIL5 );
      }
    }
  }


This is a regression since OCCT 6.5.3 (0022717).
Steps To Reproducesat read_parallel_1 B8
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • sat6_4_old.png (21,335 bytes)
  • sat6_4_new.png (31,641 bytes)

Relationships

child of 0022717 closedbugmaster Community Exception during sewing 

Activities

git

2018-11-06 19:45

administrator   ~0080793

Branch CR30348 has been created by kgv.

SHA-1: b54ec8379eca22b12d7896788b84e57d4cfb2bb5


Detailed log of new commits:

Author: kgv
Date: Tue Nov 6 19:42:22 2018 +0300

    0030348: Shape Healing - ShapeFix_Wire::FixEdgeCurves() throws Standard_OutOfRange exception

kgv

2018-11-06 22:28

developer  

sat6_4_old.png (21,335 bytes)

kgv

2018-11-06 22:29

developer  

sat6_4_new.png (31,641 bytes)

kgv

2018-11-06 22:48

developer   ~0080799

Last edited: 2018-11-07 09:27

Patch is ready for review.

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

git

2018-11-07 11:41

administrator   ~0080811

Branch CR30348 has been updated forcibly by kgv.

SHA-1: 2ec60a5f13942b2ac7e40ed0c083909c462486c4

gka

2018-11-08 11:58

developer   ~0080929

Branch CR30348 was reviewed

bugmaster

2018-11-08 15:53

administrator   ~0080962

Combination -
OCCT branch : CR30348 SHA - 2ec60a5f13942b2ac7e40ed0c083909c462486c4
Products branch : CR30348 SHA - dc9b54ff96bfdd5be36ff17bb512772a70f930db
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: 16110.21000000004 / 16093.030000000039 [+0.11%]
Products
Total CPU difference: 7048.580000000028 / 7035.140000000028 [+0.19%]
Windows-64-VC14:
OCCT
Total CPU difference: 17607.359375 / 17600.625 [+0.04%]
Products
Total CPU difference: 8516.6875 / 8526.203125 [-0.11%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-11-11 12:01

administrator   ~0081039

Branch CR30348 has been deleted by inv.

SHA-1: 2ec60a5f13942b2ac7e40ed0c083909c462486c4

Related Changesets

occt: master 22887d12

2018-11-06 16:42:22

kgv


Committer: bugmaster Details Diff
0030348: Shape Healing - ShapeFix_Wire::FixEdgeCurves() throws Standard_OutOfRange exception

Call FixClosed() instead of out-of-range FixConnected() at the last edge.
Affected Issues
0030348
mod - src/ShapeFix/ShapeFix_Wire.cxx Diff File

Issue History

Date Modified Username Field Change
2018-11-06 19:40 kgv New Issue
2018-11-06 19:40 kgv Assigned To => gka
2018-11-06 19:45 git Note Added: 0080793
2018-11-06 19:47 kgv Steps to Reproduce Updated
2018-11-06 21:18 kgv Relationship added child of 0022717
2018-11-06 21:18 kgv Product Version 7.3.0 => 6.5.3
2018-11-06 21:20 kgv Description Updated
2018-11-06 22:28 kgv File Added: sat6_4_old.png
2018-11-06 22:29 kgv File Added: sat6_4_new.png
2018-11-06 22:48 kgv Note Added: 0080799
2018-11-06 22:48 kgv Status new => resolved
2018-11-07 09:27 kgv Note Edited: 0080799
2018-11-07 11:41 git Note Added: 0080811
2018-11-08 11:58 gka Note Added: 0080929
2018-11-08 11:58 gka Assigned To gka => bugmaster
2018-11-08 11:58 gka Status resolved => reviewed
2018-11-08 15:53 bugmaster Note Added: 0080962
2018-11-08 15:53 bugmaster Status reviewed => tested
2018-11-08 15:54 bugmaster Test case number => Not needed
2018-11-11 11:52 bugmaster Changeset attached => occt master 22887d12
2018-11-11 11:52 bugmaster Status tested => verified
2018-11-11 11:52 bugmaster Resolution open => fixed
2018-11-11 12:01 git Note Added: 0081039