View Issue Details

IDProjectCategoryView StatusLast Update
0022821CommunityOCCT:Modeling Algorithmspublic2022-12-05 00:25
Reporterszy Assigned Toddzama 
PrioritynormalSeveritycrash 
Status verifiedResolutionfixed 
PlatformAOSL 
Product Version6.5.1 
Target Version7.8.0 
Summary0022821: Crash with BRepFilletAPI_MakeFillet
DescriptionPost from the Forum - http://www.opencascade.org/org/forum/thread_22269/.
"Hi guys! I have a simple cube and would like to make a fillet on one of the edges. Here's the code I'm using

     BRepFilletAPI_MakeFillet mkFillet(body, ChFi3d_Rational);

     TopExp_Explorer aEdgeExplorer;
     aEdgeExplorer.Init(body, TopAbs_EDGE, 0);
     while (aEdgeExplorer.More())
     {
          TopoDS_Edge aEdge = TopoDS::Edge(aEdgeExplorer.Current());

          mkFillet.Add(0.01, aEdge);
          break;
     }
     mkFillet.Build();
     currentShape = mkFillet.Shape();

As soon as the last line is executed, the program crashes. Any idea why? Many thanks in advance!"
Steps To ReproduceNot required
Additional information
and documentation updates
1) Debug mode ==> crash
Log:
Dump of SweepApproximation
Error 3d = 2.57852368687218e-016
Error 2d = 6.32113758966443e-017 ,
2.26763809674508e-016
1 Segment(s) of degree 1
only one point of path MS/100 is attempted
and the controls are extended.
If it drags without control, quit.
EXCEPTION Stripe compute 00000000004D5A40 : Standard_Failure: CallPerformSurf : Path failed!

COMPUTE: temps total 0.015625s dont :
- Init + ExtentAnalyse 0s
- PerformSetOfSurf 0.015625s
- PerformFilletOnVertex 0s
- FilDS 0s
- Reconstruction 0s
- SetRegul 0s
=================================
2) Release mode ==>
Empty result.
TagsNo tags attached.
Test case numberbugs modalg_7 bug22821

Attached Files

  • test.step (20,839 bytes)

Relationships

related to 0033182 newddzama Open CASCADE TKFillet: use of specific parameter tolerance on spine curve instead minimal from all spines 

Activities

szy

2011-11-30 12:30

manager  

test.step (20,839 bytes)

szy

2012-01-13 14:27

manager   ~0019110

The problem is reproducible on 6.5.2 too.

abv

2013-03-01 21:32

manager   ~0023553

Reproduced on Git master branch as of 01.03.2013

abv

2014-09-26 09:48

manager   ~0032190

Reproduced on current master (6.8.0.beta)

git

2017-07-14 14:48

administrator   ~0068321

Branch CR22821 has been created by mkv.

SHA-1: f67adb90c49f6e08fa8e1736ce2190c8361f456c


Detailed log of new commits:

Author: mkv
Date: Fri Jul 14 14:48:27 2017 +0300

    Test for 0022821: Crash with BRepFilletAPI_MakeFillet

mkv

2017-07-19 16:32

tester   ~0068434

Problem described in issue is reproduced on current state of OCCT.

git

2022-10-12 16:27

administrator   ~0111526

Branch CR22821 has been updated forcibly by ddzama.

SHA-1: bae9ab6431ee4f3740dd2e3aa529ef9c2c0f877e

git

2022-10-13 01:22

administrator   ~0111533

Branch CR22821 has been updated forcibly by ddzama.

SHA-1: d13fa756adce5be8ee484dac18e45ba6f08ee884

git

2022-10-13 10:30

administrator   ~0111536

Branch CR22821 has been updated forcibly by ddzama.

SHA-1: 9425235240019214900a9ac14bc5fc05ec9b04c6

git

2022-10-13 10:43

administrator   ~0111537

Branch CR22821 has been updated forcibly by ddzama.

SHA-1: e24d88bbbf2c078d0182d0af208fb1e6298da02b

git

2022-10-14 10:18

administrator   ~0111568

Branch CR22821 has been updated forcibly by ddzama.

SHA-1: 1e7c3af8ffa00fefc7d5c415419e1e5b5e9b46cb

git

2022-10-17 16:51

administrator   ~0111601

Branch CR22821 has been updated forcibly by ddzama.

SHA-1: fde63e289e2abf98ef564436be243d225cc29c6a

git

2022-10-19 10:51

administrator   ~0111652

Branch CR22821a has been created by ddzama.

SHA-1: ad802c10f6e1852ef447c2d2dc419a65ce8a3725


Detailed log of new commits:

Author: ddzama
Date: Wed Oct 19 04:57:48 2022 +0300

    blend complex A6: scale 0.1 [ok]

git

2022-10-19 11:33

administrator   ~0111654

Branch CR22821a has been updated forcibly by ddzama.

SHA-1: 91c2918c492ffeae2680308e916743b707afe053

git

2022-10-20 12:32

administrator   ~0111685

Branch CR22821b has been created by ddzama.

SHA-1: 45a10e576d5dede5e034fc5fdc35c215aafb56ac


Detailed log of new commits:

Author: ddzama
Date: Thu Oct 20 11:45:04 2022 +0300

    Revert "ALL tol_3d -> tol_esp"
    
    This reverts commit 81bda9bace94187dc14f6e190a281869283062e3.

Author: ddzama
Date: Thu Oct 20 11:31:56 2022 +0300

    ALL tol_3d -> tol_esp

Author: ddzama
Date: Wed Oct 19 16:24:52 2022 +0300

    tol_esp <--- tolesp ---> tol_3d

Author: ddzama
Date: Thu Oct 13 00:52:29 2022 +0300

    [ ok ? ]
    
    if testgrid is ok and jenkins-8 is ok, this patch may considered
    as BETA

git

2022-10-21 16:32

administrator   ~0111716

Branch CR22821e has been created by ddzama.

SHA-1: 22bb91cc5b3615e87ea9c846e98544ba4a0c7415


Detailed log of new commits:

Author: ddzama
Date: Fri Oct 21 16:28:13 2022 +0300

    0022821: fix misusage of tolesp (renamed to tol_esp) parameter.
    
    In some context usage of tol_esp is irrelevant, because its essentiality - tolerance of the parameter on the 3d curve.
    So, in such context it has been replaced with new parameter tol3d (with fix value 1.0e-4).

Author: ddzama
Date: Fri Oct 21 16:28:30 2022 +0300

    0022821: Crash with BRepFilletAPI_MakeFillet
    
    test bugs modalg_7 bug22821 failed on fillet shape with 5-th edge.
    Experimentally has been found that reducing of parameter
    ChFi3d_Builder::tolesp for this task solves the issue.
    
    So, as soluton it is proposed to link parameter toleps with parameter range of
    spine curve. So, production coefficient has been set to pass all tests and
    2 teset was extended: tests/blend/complex/A6, tests/bugs/modalg_7/bug22821
    
    first has been extended to test different scaling factors,
    second has been extended to make fillet on all edges from 12.

ddzama

2022-10-21 16:39

developer   ~0111717

For integration branch CR22821e

ddzama

2022-10-21 16:40

developer   ~0111718

@ifv - please, review branch CR22821e

ddzama

2022-10-21 16:44

developer   ~0111719

@ifv - jenkins-8 test result:
http://jenkins-test-occt.nnov.opencascade.com/view/CR22821b-CR33155_xerces/view/COMPARE/

ifv

2022-10-24 17:36

developer   ~0111733

1. New tolerance T3d and TApp3d used in method BRepFilletAPI_MakeFillet::SetParams(...) and similar methods of other classes have very close sense. In my opinion, it is necessary investigate possibility using only one 3d tolerance in fillet algorithm.

2. Calculation of tolesp in method ChFiDS_Spine::Load() seems to be unnecessarily complicated.
In my opinion, it is not necessary to get such "nice" values like 1.e-5, 1.e-6 ...
It is quite enough to use simple expression 1.e-4*(umax - umin)

3. Method ChFi3d_FilBuilder::PerformFirstSection(...), line 1191 in file ChFi3d_FilBuilder.cxx
Standard_Real TolGuide = HGuide->Resolution(tol_esp);
Method Resolution(...) takes 3d tolerance as input and returns estimation of 2d tolerance for curve parameter. Now tol_esp is 2d tolerance, so it is necessary to use suitable 3d tolerance instead.
Now in
return TheWalk.PerformFirstSection(Func,Par,SolDep,
                       tol_esp,TolGuide,Pos1,Pos2);
we have two 2d tolerances: tol_esp and TolGuide. I seems to me, that instead of tol_esp suitable 3d tolerance (tol_3d?) must be used.

4.In file ChFi3d_FilBuilder_C3.cxx, line 553:
Standard_Real TolGuide = cornerspine->Resolution(tol_esp);
tol_3d probably should be used instead tol_esp

Common remark: it is necessary to follow Coding standards, recommended for OCCT development.

git

2022-10-26 14:56

administrator   ~0111750

Branch CR22821e has been updated by ddzama.

SHA-1: ae24988fc12579d581861bdef40c0585c9b77a01


Detailed log of new commits:

Author: ddzama
Date: Wed Oct 26 13:44:25 2022 +0300

    0022821: @ifv review: use tolapp3d instead tolesp in Blend_Walking::PerformFirstSection

Author: ddzama
Date: Wed Oct 26 13:23:44 2022 +0300

    0022821: @ifv review: use tolapp3d rather then tolesp in ChFiDS_ElSpine::Resolution context

Author: ddzama
Date: Wed Oct 26 12:45:31 2022 +0300

    0022821: @ifv review: new tolesp is equal to 1.0e-4 * (umax - umin)

Author: ddzama
Date: Tue Oct 25 11:04:50 2022 +0300

    0022921: @ifv review: get rid of tol_3d

Author: ddzama
Date: Tue Oct 25 10:04:14 2022 +0300

    Revert "NO"
    
    This reverts commit a303e02cca3cdd121f562b89a32c0b8734d8b0c7.

Author: ddzama
Date: Tue Oct 25 10:04:07 2022 +0300

    NO

git

2022-10-27 10:45

administrator   ~0111770

Branch CR22821e has been updated forcibly by ddzama.

SHA-1: 33fc08b2f51217f80f8ea90ce0024fed0275b283

git

2022-11-09 10:05

administrator   ~0111969

Branch CR22821f has been created by ddzama.

SHA-1: 659569cac1c826ece17270b4bcb5e698c7542f4f


Detailed log of new commits:

Author: ddzama
Date: Tue Nov 8 14:17:12 2022 +0300

    [tolesp -> 1.0e-4] in Blend_Walking_3.gxx Blend_Walking::Recadre

Author: ddzama
Date: Tue Nov 8 14:08:09 2022 +0300

    [VERIFIED] {tolesp -> 1.0e-4} in Blend_CSWalking_4.gxx (Blend_CSWalking::InternalPerform)

Author: ddzama
Date: Tue Nov 8 14:06:27 2022 +0300

    [VERIFIED] {tolesp -> 1.0e-4} int Blend_CSWalking_1.gxx (Blend_CSWalking::Perform)

Author: ddzama
Date: Tue Nov 8 14:04:24 2022 +0300

    [VERIFIED] {tolesp -> 1.0e-4} in BRepBlend_SurfRstLineBuilder.cxx

Author: ddzama
Date: Tue Nov 8 14:02:54 2022 +0300

    [NEUTRAL] rename GetTolerance -> Get_Tolerance in several places for verification

Author: ddzama
Date: Mon Nov 7 16:10:17 2022 +0300

    [VERIFIED] Get rid of excessive and not valid call of Get_Tolerance method.

Author: ddzama
Date: Mon Nov 7 13:11:08 2022 +0300

    [VERIFIED] tolesp -> 1.0e-4 in some Get_Tolerance

Author: ddzama
Date: Mon Nov 7 11:58:49 2022 +0300

    GetTolerance -> Get_Tolerance

Author: ddzama
Date: Mon Nov 7 10:39:43 2022 +0300

    Revert "0022821: ~ tolesp -> tolapp3d Blend_Walking::PerformFirstSection"
    
    This reverts commit 4e257637594bda44ad115d578a02287e517e24c3.

Author: ddzama
Date: Tue Oct 25 11:04:50 2022 +0300

    0022921: ACCEPTED! get rid of tol_3d
    
    @ifv review

Author: ddzama
Date: Wed Oct 26 13:23:44 2022 +0300

    0022821: ACCEPTED! tolesp -> tolapp3d in ChFiDS_ElSpine::Resolution
    
    @ifv review

Author: ddzama
Date: Wed Oct 26 12:45:31 2022 +0300

    0022821: tolesp = 5.0e-5 * (umax - umin)
    
    @ifv review

Author: ddzama
Date: Wed Oct 26 13:44:25 2022 +0300

    0022821: ~ tolesp -> tolapp3d Blend_Walking::PerformFirstSection
    
    @ifv review

git

2022-11-09 15:16

administrator   ~0111970

Branch CR22821f has been updated by ddzama.

SHA-1: bfcadd9a6e3c075c2871ea16f58a7708cdc4aab5


Detailed log of new commits:

Author: ddzama
Date: Wed Nov 9 11:45:48 2022 +0300

    [VERIFIED ONLY(!) on one test] toles -> 1.0e-4 in Get_Tolerance method

Author: ddzama
Date: Wed Nov 9 11:00:18 2022 +0300

    [NEUTRAL] Rename GetTolerance -> Get_Tolerance in some classes.

git

2022-11-10 10:03

administrator   ~0111982

Branch CR22821f has been updated by ddzama.

SHA-1: 5314c86b17bfc92afeb83b4581b867c577a130d3


Detailed log of new commits:

Author: ddzama
Date: Thu Nov 10 09:36:19 2022 +0300

    tolesp -> tolgui

Author: ddzama
Date: Thu Nov 10 09:29:12 2022 +0300

    [DELETE!] tolgui -> tolggui

Author: ddzama
Date: Thu Nov 10 07:59:16 2022 +0300

    IsEqual | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 23:18:14 2022 +0300

    IsEqual | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 22:39:38 2022 +0300

    IsSolution | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 22:37:28 2022 +0300

    IsSolution | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 22:30:42 2022 +0300

    IsSolution | tolesp -> 1.0e-4

Author: ddzama
Date: Thu Nov 10 08:18:42 2022 +0300

    TheExtremity::SetValue | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 23:19:13 2022 +0300

    TheExtremity::SetValue | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 23:17:55 2022 +0300

    TheExtremity::SetValue | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 23:15:33 2022 +0300

    TheExtremity::SetValue | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 22:30:04 2022 +0300

    TheExtremity::SetValue | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 16:53:46 2022 +0300

    TheExtremity::SetValue | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 16:44:57 2022 +0300

    [VERIFIED (!)] TheExtremity | tolesp -> 1.0e-4

Author: ddzama
Date: Wed Nov 9 16:38:38 2022 +0300

    [DELETE!] Tolerance -> Toolerance

Author: ddzama
Date: Wed Nov 9 16:23:02 2022 +0300

    [NEUTRAL] rename tolesp -> toleesp for distinguish [temporary]

git

2022-11-10 11:34

administrator   ~0111983

Branch CR22821f has been updated by ddzama.

SHA-1: b9ef865ec2e406d6faeb24dc68fd8ca3a157ceed


Detailed log of new commits:

Author: ddzama
Date: Thu Nov 10 11:33:08 2022 +0300

    replace tolesp with tolwalk3d in Blend_Walking class

Author: ddzama
Date: Thu Nov 10 10:39:51 2022 +0300

    tolu & tolv computes using 1.0e-4 rather than tolesp

Author: ddzama
Date: Thu Nov 10 10:38:02 2022 +0300

    prevNorme compares with 1.0e-4^2 rather than with tolesp^2

Author: ddzama
Date: Thu Nov 10 10:32:16 2022 +0300

    Norme compares with 1.0e-4^2 rather than with tolesp^2

Author: ddzama
Date: Thu Nov 10 10:30:12 2022 +0300

    tolsolu set to 1.0e-4 (rather than tolesp)

git

2022-11-10 14:36

administrator   ~0111989

Branch CR22821g has been created by ddzama.

SHA-1: 5981d9e361a3bb0e3961b385186f52298a4efbfb


Detailed log of new commits:

Author: ddzama
Date: Thu Nov 10 13:24:47 2022 +0300

     <*> walk

Author: ddzama
Date: Thu Nov 10 13:25:30 2022 +0300

     - kill me

Author: ddzama
Date: Thu Nov 10 13:20:29 2022 +0300

    not blend_walk

Author: ddzama
Date: Mon Nov 7 16:10:17 2022 +0300

    [VERIFIED] Get rid of excessive and not valid call of Get_Tolerance method.

Author: ddzama
Date: Tue Nov 8 14:04:24 2022 +0300

    [VERIFIED] {tolesp -> 1.0e-4} in BRepBlend_SurfRstLineBuilder.cxx

Author: ddzama
Date: Tue Nov 8 14:06:27 2022 +0300

    [VERIFIED] {tolesp -> 1.0e-4} int Blend_CSWalking_1.gxx (Blend_CSWalking::Perform)

Author: ddzama
Date: Tue Nov 8 14:08:09 2022 +0300

    [VERIFIED] {tolesp -> 1.0e-4} in Blend_CSWalking_4.gxx (Blend_CSWalking::InternalPerform)

Author: ddzama
Date: Wed Nov 9 11:45:48 2022 +0300

    [VERIFIED ONLY(!) on one test] toles -> 1.0e-4 in Get_Tolerance method

Author: ddzama
Date: Wed Nov 9 16:38:38 2022 +0300

    [DELETE!] Tolerance -> Toolerance

Author: ddzama
Date: Mon Nov 7 11:58:49 2022 +0300

    GetTolerance -> Get_Tolerance

git

2022-11-11 10:25

administrator   ~0112006

Branch CR22821h has been created by ddzama.

SHA-1: 4af521e340ab595810f8c0de846e87540d6c7c03


Detailed log of new commits:

Author: ddzama
Date: Tue Nov 8 14:06:27 2022 +0300

    WIP update Blend_CSWalking

Author: ddzama
Date: Wed Nov 9 16:38:38 2022 +0300

    [DELETE!] Tolerance -> Toolerance

Author: ddzama
Date: Thu Nov 10 13:24:47 2022 +0300

     <*> walk

Author: ddzama
Date: Thu Nov 10 13:25:30 2022 +0300

     - kill me

Author: ddzama
Date: Fri Nov 11 09:55:03 2022 +0300

    update class BRepBlend_SurfRstLineBuilder

Author: ddzama
Date: Fri Nov 11 10:01:10 2022 +0300

    WIP update BRepBlend_RstRstLineBuilder

git

2022-11-11 10:58

administrator   ~0112008

Branch CR22821h has been updated forcibly by ddzama.

SHA-1: 8e49080b5e652d23e58ea8b87526406de9e4253d

git

2022-11-11 13:28

administrator   ~0112033

Branch CR22821h has been updated forcibly by ddzama.

SHA-1: c7731f24f181bcf9a79fe36bf3af1f5ee773375d

git

2022-11-11 13:30

administrator   ~0112034

Branch CR22821h has been updated forcibly by ddzama.

SHA-1: 8849299125bca61976ab22da0ac7714173e0fc3e

git

2022-11-11 13:33

administrator   ~0112035

Branch CR22821h has been updated forcibly by ddzama.

SHA-1: cdced516fb8930e36d44c4d64dcbb8524b8c77c7

git

2022-11-11 14:45

administrator   ~0112039

Branch CR22821i has been created by ddzama.

SHA-1: c51786dbfb67abb8ba2446c46d6e073fbaff2d79


Detailed log of new commits:

Author: ddzama
Date: Fri Nov 11 13:44:19 2022 +0300

    fixup BRepBlend_Walking

Author: ddzama
Date: Fri Nov 11 13:42:38 2022 +0300

    fixup BRepBlend_SurfRstLineBuilder

Author: ddzama
Date: Fri Nov 11 10:01:10 2022 +0300

     <*> BRepBlend_RstRstLineBuilder

git

2022-11-11 16:34

administrator   ~0112044

Branch CR22821i has been updated forcibly by ddzama.

SHA-1: 32d16c00b7221da35aee10937c73a61ee2c02875

git

2022-11-14 09:35

administrator   ~0112078

Branch CR22821i has been updated forcibly by ddzama.

SHA-1: c6c2f4c384c137614268697ab0ccec5c47d094ec

git

2022-11-14 10:24

administrator   ~0112079

Branch CR22821i has been updated forcibly by ddzama.

SHA-1: 7ab3b1953054473a1a2a9b64c0ef94ed83d95c34

git

2022-11-14 10:43

administrator   ~0112081

Branch CR22821k has been created by ddzama.

SHA-1: 1271836a62b2e0f8e94a8ad1081f566b92bb5178


Detailed log of new commits:

Author: ddzama
Date: Mon Nov 14 09:30:34 2022 +0300

     <*> BRepBlend_RstRstLineBuilder

Author: ddzama
Date: Thu Nov 10 13:24:47 2022 +0300

     <*> walk

Author: ddzama
Date: Fri Nov 11 10:47:28 2022 +0300

     <*> BRepBlend_SurfRstLineBuilder

git

2022-11-14 10:44

administrator   ~0112082

Branch CR22821k has been updated forcibly by ddzama.

SHA-1: de0c40e19c95de8122be82c8a195a88bd27a678c

git

2022-11-14 13:39

administrator   ~0112092

Branch CR22821m has been created by ddzama.

SHA-1: 89b259f7e54ff9a4a38870591931c779cc795020


Detailed log of new commits:

Author: ddzama
Date: Thu Nov 10 13:24:47 2022 +0300

     <*> walk

Author: ddzama
Date: Fri Nov 11 10:47:28 2022 +0300

     <*> BRepBlend_SurfRstLineBuilder

Author: ddzama
Date: Mon Nov 14 09:30:34 2022 +0300

     <*> BRepBlend_RstRstLineBuilder

Author: ddzama
Date: Mon Nov 14 11:18:37 2022 +0300

     fixup <*> walk

Author: ddzama
Date: Mon Nov 14 11:21:20 2022 +0300

     fixup <*> BRepBlend_RstRstLineBuilder

Author: ddzama
Date: Tue Nov 8 14:06:27 2022 +0300

     <*> Blend_CSWalking

git

2022-11-14 16:40

administrator   ~0112097

Branch CR22821m has been updated by ddzama.

SHA-1: b9bdb8cd9e316a1d4cdab91158f4eddf8a33a1b7


Detailed log of new commits:

Author: ddzama
Date: Mon Nov 14 16:33:37 2022 +0300

    tolcswalk3d -> tolpoint3d

Author: ddzama
Date: Mon Nov 14 16:28:25 2022 +0300

    tolrst3d -> tolpoint3d

Author: ddzama
Date: Mon Nov 14 16:06:23 2022 +0300

    tolline3d -> tolpoint3d

Author: ddzama
Date: Mon Nov 14 15:55:34 2022 +0300

    tolwalk3d -> tolpoint3d

Author: ddzama
Date: Mon Nov 14 15:53:08 2022 +0300

    tolggui -> tolgui

Author: ddzama
Date: Mon Nov 14 15:30:47 2022 +0300

    Get_Tolerance -> GetTolerance

git

2022-11-14 16:55

administrator   ~0112098

Branch CR22821n has been created by ddzama.

SHA-1: f9a079bc58ea04daeb717779deae144c51371db8


Detailed log of new commits:

Author: ddzama
Date: Mon Nov 7 11:58:49 2022 +0300

    0022821: member `tolesp` replaced by `tolpoint3d` in several classes.
    
    Blend_Walking
    BRepBlend_SurfRstLineBuilder
    BRepBlend_RstRstLineBuilder
    Blend_CSWalking
    
    Instead `tolesp` - `tolgui` is employed in contexts where tolerance of guide curve parameter is excepted.
    Instead `tolesp` - `tolpoint3d` is employed in contexts where tolerance of point in 3d space is excepted.

git

2022-11-14 17:17

administrator   ~0112100

Branch CR22821o has been created by ddzama.

SHA-1: 328927813179ce6239765d7a43ac7b0d79b24522


Detailed log of new commits:

Author: ddzama
Date: Fri Oct 21 16:28:30 2022 +0300

    0022821: Crash with BRepFilletAPI_MakeFillet
    
    test bugs modalg_7 bug22821 failed on fillet shape with 5-th edge.
    Experimentally has been found that reducing of parameter
    ChFi3d_Builder::tolesp for this task solves the issue.
    
    So, as soluton it is proposed to link parameter toleps with parameter range of
    spine curve. So, production coefficient has been set to pass all tests and
    2 teset was extended: tests/blend/complex/A6, tests/bugs/modalg_7/bug22821
    
    first has been extended to test different scaling factors,
    second has been extended to make fillet on all edges from 12.
    
    Additionally:
     - fixed misusage of tolesp in contexts where tolerance of point in 3d is excepted;
         In some context usage of tol_esp is irrelevant, because its essentiality - tolerance of the parameter on the 3d curve.
         So, in such context it has been replaced with new parameter tol3d (with fix value 1.0e-4).
         Get rid of tolapp3d duplication constant - tol_3d
     - tolesp = 5.0e-5 * (umax - umin)
     - tolesp replaced by tolpoint3d in several classes.
         Blend_Walking
         BRepBlend_SurfRstLineBuilder
         BRepBlend_RstRstLineBuilder
         Blend_CSWalking
         Instead `tolesp` - `tolgui` is employed in contexts where tolerance of guide curve parameter is excepted.
         Instead `tolesp` - `tolpoint3d` is employed in contexts where tolerance of point in 3d space is excepted.

git

2022-11-15 09:37

administrator   ~0112102

Branch CR22821_all has been created by ddzama.

SHA-1: 5fc80649f6d08c9cdbc8f6b86fbbe3abec913598


Detailed log of new commits:

Author: ddzama
Date: Fri Oct 21 16:28:30 2022 +0300

    0022821: Crash with BRepFilletAPI_MakeFillet
    
    test bugs modalg_7 bug22821 failed on fillet shape with 5-th edge.
    Experimentally has been found that reducing of parameter
    ChFi3d_Builder::tolesp for this task solves the issue.
    
    So, as soluton it is proposed to link parameter toleps with parameter range of
    spine curve. So, production coefficient has been set to pass all tests and
    2 teset was extended: tests/blend/complex/A6, tests/bugs/modalg_7/bug22821
    
    first has been extended to test different scaling factors,
    second has been extended to make fillet on all edges from 12.
    
    Additionally:
     - fixed misusage of tolesp in contexts where tolerance of point in 3d is excepted;
         In some context usage of tol_esp is irrelevant, because its essentiality - tolerance of the parameter on the 3d curve.
         So, in such context it has been replaced with new parameter tol3d (with fix value 1.0e-4).
         Get rid of tolapp3d duplication constant - tol_3d
     - tolesp = 5.0e-5 * (umax - umin)
     - tolesp replaced by tolpoint3d in several classes.
         Blend_Walking
         BRepBlend_SurfRstLineBuilder
         BRepBlend_RstRstLineBuilder
         Blend_CSWalking
         Instead `tolesp` - `tolgui` is employed in contexts where tolerance of guide curve parameter is excepted.
         Instead `tolesp` - `tolpoint3d` is employed in contexts where tolerance of point in 3d space is excepted.

ddzama

2022-11-15 09:47

developer   ~0112103

branch for integration

CR22821_all

ddzama

2022-11-15 09:56

developer   ~0112104

@ifv - FYI
Now, i waiting for testing results on jenkins-8 and re-testing results on my remote machine (re-testing after rebase on actual origin/master)
for integration - CR22821_all

ddzama

2022-11-15 10:48

developer   ~0112106

@ifv, please do not taking into account tol_esp variable name - it will be replaced in last moment after review.
I assign such variable name for being unique in source code - to make distinguish with other distributed in overall source code variable name tolesp.

ddzama

2022-11-15 13:14

developer   ~0112110

@ifv - FYI.
Jenkins-8 testing results:
http://jenkins-test-occt.nnov.opencascade.com/view/CR22821_all-master/view/COMPARE/

git

2022-11-15 13:22

administrator   ~0112111

Branch CR22821_all has been updated by ddzama.

SHA-1: 86e9b0148bab5b7278b6b840b58a11d4b816ffda


Detailed log of new commits:

Author: ddzama
Date: Tue Nov 15 10:42:08 2022 +0300

    0022821: fixup
    
    - replace tolesp with tolpoint3d in BBPP function argument
    - use tolapp3d instead tolesp in BonVoisin function
    - replace tolesp with tolapp3d in IsSolution

ifv

2022-11-17 12:42

developer   ~0112147

Combine all commits in one with correct final comments.

git

2022-11-17 12:55

administrator   ~0112150

Branch CR22821_all_2 has been created by ddzama.

SHA-1: a7fc391df37056c3caa334d00340f56ddf02a2c8


Detailed log of new commits:

Author: ddzama
Date: Fri Oct 21 16:28:30 2022 +0300

    0022821: Crash with BRepFilletAPI_MakeFillet
    
    test bugs modalg_7 bug22821 failed on fillet shape with 5-th edge.
    Experimentally has been found that reducing of parameter
    ChFi3d_Builder::tolesp for this task solves the issue.
    
    So, as soluton it is proposed to link parameter toleps with parameter range of
    spine curve. So, production coefficient has been set to pass all tests and
    2 teset was extended: tests/blend/complex/A6, tests/bugs/modalg_7/bug22821
    
    first has been extended to test different scaling factors,
    second has been extended to make fillet on all edges from 12.
    
    Additionally:
     - fixed misusage of tolesp in contexts where tolerance of point in 3d is excepted;
         In some context usage of tol_esp is irrelevant, because its essentiality - tolerance of the parameter on the 3d curve.
         So, in such context it has been replaced with new parameter tol3d (with fix value 1.0e-4).
         Get rid of tolapp3d duplication constant - tol_3d
     - tolesp = 5.0e-5 * (umax - umin)
     - tolesp replaced by tolpoint3d in several classes.
         Blend_Walking
         BRepBlend_SurfRstLineBuilder
         BRepBlend_RstRstLineBuilder
         Blend_CSWalking
         Instead `tolesp` - `tolgui` is employed in contexts where tolerance of guide curve parameter is excepted.
         Instead `tolesp` - `tolpoint3d` is employed in contexts where tolerance of point in 3d space is excepted.
     - Replace tolesp with tolpoint3d in BBPP function argument.
     - Use tolapp3d instead tolesp in BonVoisin function,

ddzama

2022-11-17 12:56

developer   ~0112151

@ifv - did converting into unique commit.

See branch - CR22821_all_2

ddzama

2022-11-17 14:34

developer   ~0112156

branch with unique commit:
CR22821_all_2 - for integration

ifv

2022-11-18 11:59

developer   ~0112165

1. Standard_Boolean BRepBlend_RstRstLineBuilder::CheckInside(...)
Why
  math_Vector tolerance(1, 2);
  Func.GetTolerance(tolerance, tolesp);
is removed?
According to logic of this fix it is rather be something like that:
  math_Vector tolerance(1, 2);
  Func.GetTolerance(tolerance, tolpoint3d);
Method Func.GetTolerance(...) calculates tolerance depending on 2d resolution of curves for tolpoint3d, so on can be difference for different curves.
But now it is replaced by constant tolerance tolgui.
2. Method BRepBlend_SurfRstLineBuilder::CheckInside(...)
2.1 The same remarks as 1 about replacing tolerance(3) by tolgui.
2.2 SituOnS = domain1->Classify(p2d,tolpoint3d,0); - method Classify(...) must use 2d tolerance.

ddzama

2022-11-21 06:25

developer   ~0112260

@ifv - about your first remark in function

Standard_Boolean BRepBlend_RstRstLineBuilder::CheckInside

tolgui is not a constant. This value equals tol_esp, which now depends on t parameter range of guide curve and therefore linked with parametric space of face surface.
But maybe you right and it is worth to use the function GetTolerance to employ specific tolerance for v parameter. I will investigate it.

P.S.
Possible places, in which tolgui could be asigned is as tol_esp are:
src/ChFi3d/ChFi3d_Builder_2.cxx:620
src/ChFi3d/ChFi3d_Builder_2.cxx:666
src/ChFi3d/ChFi3d_Builder_2.cxx:2119
src/ChFi3d/ChFi3d_Builder_2.cxx:2150
src/ChFi3d/ChFi3d_Builder_2.cxx:2178

In all of them tol_esp is forwarded for tolgui assignment in deep of call stack.

git

2022-11-21 11:55

administrator   ~0112263

Branch CR22821_all_2 has been updated by ddzama.

SHA-1: 29542dc1675517e3cf880b417257f8abc7f40b86


Detailed log of new commits:

Author: ddzama
Date: Mon Nov 21 11:00:23 2022 +0300

    fix by @ifv review (II)

Author: ddzama
Date: Mon Nov 21 10:02:40 2022 +0300

    fix by @ifv review

ddzama

2022-11-21 11:59

developer   ~0112264

@ifv, please see fixes after your last remark in last two commits.

ifv

2022-11-28 16:30

developer   ~0112366

Branch CR22821_all_2 seems to be valid

git

2022-11-29 11:40

administrator   ~0112375

Branch CR22821_all_2 has been updated forcibly by ddzama.

SHA-1: c114128e4fd59a1ee3bb965f238a4e991b9f141c

Related Changesets

occt: master 03275c0b

2022-10-21 16:28:30

ddzama


Committer: smoskvin Details Diff
0022821: Crash with BRepFilletAPI_MakeFillet

test bugs modalg_7 bug22821 failed on fillet shape with 5-th edge.
Experimentally has been found that reducing of parameter
ChFi3d_Builder::tolesp for this task solves the issue.

So, as soluton it is proposed to link parameter toleps with parameter range of
spine curve. So, production coefficient has been set to pass all tests and
2 teset was extended: tests/blend/complex/A6, tests/bugs/modalg_7/bug22821

first has been extended to test different scaling factors,
second has been extended to make fillet on all edges from 12.

Additionally:
- fixed misusage of tolesp in contexts where tolerance of point in 3d is excepted;
In some context usage of tol_esp is irrelevant, because its essentiality - tolerance of the parameter on the 3d curve.
So, in such context it has been replaced with new parameter tol3d (with fix value 1.0e-4).
Get rid of tolapp3d duplication constant - tol_3d
- tolesp = 5.0e-5 * (umax - umin)
- tolesp replaced by tolpoint2d/tolpoint3d in several classes.
Blend_Walking
BRepBlend_SurfRstLineBuilder
BRepBlend_RstRstLineBuilder
Blend_CSWalking
Instead `tolesp` - `tolgui` is employed in contexts where tolerance of guide curve parameter is excepted.
Instead `tolesp` - `tolpoint2d` or `tolpoint3d` is employed in contexts where tolerance of point in 2d or 3d space is excepted.
- Replace tolesp with tolpoint2d/tolpoint3d in BBPP function argument.
- Use tolapp3d instead tolesp in BonVoisin function,
Affected Issues
0022821
mod - src/Blend/Blend_CSWalking_1.gxx Diff File
mod - src/Blend/Blend_CSWalking_2.gxx Diff File
mod - src/Blend/Blend_CSWalking_3.gxx Diff File
mod - src/Blend/Blend_CSWalking_4.gxx Diff File
mod - src/Blend/Blend_Walking_1.gxx Diff File
mod - src/Blend/Blend_Walking_2.gxx Diff File
mod - src/Blend/Blend_Walking_3.gxx Diff File
mod - src/Blend/Blend_Walking_4.gxx Diff File
mod - src/BRepBlend/BRepBlend_CSWalking.hxx Diff File
mod - src/BRepBlend/BRepBlend_RstRstLineBuilder.cxx Diff File
mod - src/BRepBlend/BRepBlend_RstRstLineBuilder.hxx Diff File
mod - src/BRepBlend/BRepBlend_SurfRstLineBuilder.cxx Diff File
mod - src/BRepBlend/BRepBlend_SurfRstLineBuilder.hxx Diff File
mod - src/BRepBlend/BRepBlend_Walking.hxx Diff File
mod - src/BRepFilletAPI/BRepFilletAPI_MakeFillet.cxx Diff File
mod - src/BRepTest/BRepTest_FeatureCommands.cxx Diff File
mod - src/BRepTest/BRepTest_FilletCommands.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder.hxx Diff File
mod - src/ChFi3d/ChFi3d_Builder_1.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder_2.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder_6.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder_C1.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder_C2.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder_CnCrn.cxx Diff File
mod - src/ChFi3d/ChFi3d_Builder_SpKP.cxx Diff File
mod - src/ChFi3d/ChFi3d_ChBuilder.cxx Diff File
mod - src/ChFi3d/ChFi3d_ChBuilder_C3.cxx Diff File
mod - src/ChFi3d/ChFi3d_FilBuilder.cxx Diff File
mod - src/ChFi3d/ChFi3d_FilBuilder_C2.cxx Diff File
mod - src/ChFi3d/ChFi3d_FilBuilder_C3.cxx Diff File
mod - src/ChFiDS/ChFiDS_Spine.cxx Diff File
mod - src/ChFiDS/ChFiDS_Spine.hxx Diff File
mod - src/ChFiDS/ChFiDS_Spine.lxx Diff File
mod - src/FilletSurf/FilletSurf_InternalBuilder.cxx Diff File
mod - src/QABugs/QABugs_11.cxx Diff File
mod - src/QABugs/QABugs_17.cxx Diff File
mod - src/ViewerTest/ViewerTest_FilletCommands.cxx Diff File
mod - tests/blend/complex/A6 Diff File
mod - tests/bugs/modalg_7/bug22821 Diff File

Issue History

Date Modified Username Field Change
2011-11-30 12:30 szy New Issue
2011-11-30 12:30 szy Assigned To => jgv
2011-11-30 12:30 szy File Added: test.step
2012-01-13 14:27 szy Note Added: 0019110
2012-01-13 14:27 szy Product Version 6.5.2 => 6.5.1
2012-02-09 08:54 abv Target Version 6.5.3 => 6.5.4
2012-10-23 18:41 abv Target Version 6.5.4 => 6.6.0
2013-03-01 21:30 abv Target Version 6.6.0 => 6.7.0
2013-03-01 21:32 abv Note Added: 0023553
2013-12-21 10:23 abv Target Version 6.7.0 => 6.7.1
2014-04-04 18:19 abv Target Version 6.7.1 => 6.8.0
2014-09-26 09:48 abv Note Added: 0032190
2014-09-26 09:48 abv Target Version 6.8.0 => 7.1.0
2016-10-28 15:33 msv Target Version 7.1.0 => 7.2.0
2017-07-14 14:48 git Note Added: 0068321
2017-07-19 16:32 mkv Note Added: 0068434
2017-07-19 16:33 mkv Test case number => bug modalg_7 bug22821
2017-07-19 16:33 mkv Status new => assigned
2017-07-19 16:34 mkv Assigned To jgv => msv
2017-07-21 10:35 msv Target Version 7.2.0 => 7.3.0
2017-07-21 19:00 mkv Test case number bug modalg_7 bug22821 => bugs modalg_7 bug22821
2017-12-05 17:09 msv Target Version 7.3.0 => 7.4.0
2019-08-12 16:45 msv Target Version 7.4.0 => 7.5.0
2020-09-14 22:55 msv Target Version 7.5.0 => 7.6.0
2021-08-29 18:51 msv Target Version 7.6.0 => 7.7.0
2022-09-08 18:47 msv Assigned To msv => ddzama
2022-10-12 16:27 git Note Added: 0111526
2022-10-13 01:22 git Note Added: 0111533
2022-10-13 10:30 git Note Added: 0111536
2022-10-13 10:43 git Note Added: 0111537
2022-10-14 10:18 git Note Added: 0111568
2022-10-17 16:51 git Note Added: 0111601
2022-10-19 10:51 git Note Added: 0111652
2022-10-19 11:33 git Note Added: 0111654
2022-10-20 12:32 git Note Added: 0111685
2022-10-21 16:32 git Note Added: 0111716
2022-10-21 16:39 ddzama Assigned To ddzama => ifv
2022-10-21 16:39 ddzama Status assigned => resolved
2022-10-21 16:39 ddzama Steps to Reproduce Updated
2022-10-21 16:39 ddzama Note Added: 0111717
2022-10-21 16:40 ddzama Note Added: 0111718
2022-10-21 16:44 ddzama Note Added: 0111719
2022-10-24 10:27 szy Target Version 7.7.0 => 7.8.0
2022-10-24 17:36 ifv Assigned To ifv => ddzama
2022-10-24 17:36 ifv Status resolved => assigned
2022-10-24 17:36 ifv Note Added: 0111733
2022-10-26 14:56 git Note Added: 0111750
2022-10-26 15:40 ddzama Relationship added related to 0033182
2022-10-27 10:45 git Note Added: 0111770
2022-11-09 10:05 git Note Added: 0111969
2022-11-09 15:16 git Note Added: 0111970
2022-11-10 10:03 git Note Added: 0111982
2022-11-10 11:34 git Note Added: 0111983
2022-11-10 14:36 git Note Added: 0111989
2022-11-11 10:25 git Note Added: 0112006
2022-11-11 10:58 git Note Added: 0112008
2022-11-11 13:28 git Note Added: 0112033
2022-11-11 13:30 git Note Added: 0112034
2022-11-11 13:33 git Note Added: 0112035
2022-11-11 14:45 git Note Added: 0112039
2022-11-11 16:34 git Note Added: 0112044
2022-11-14 09:35 git Note Added: 0112078
2022-11-14 10:24 git Note Added: 0112079
2022-11-14 10:43 git Note Added: 0112081
2022-11-14 10:44 git Note Added: 0112082
2022-11-14 13:39 git Note Added: 0112092
2022-11-14 16:40 git Note Added: 0112097
2022-11-14 16:55 git Note Added: 0112098
2022-11-14 17:17 git Note Added: 0112100
2022-11-15 09:37 git Note Added: 0112102
2022-11-15 09:47 ddzama Assigned To ddzama => ifv
2022-11-15 09:47 ddzama Status assigned => resolved
2022-11-15 09:47 ddzama Note Added: 0112103
2022-11-15 09:56 ddzama Note Added: 0112104
2022-11-15 10:48 ddzama Note Added: 0112106
2022-11-15 13:14 ddzama Note Added: 0112110
2022-11-15 13:22 git Note Added: 0112111
2022-11-17 12:42 ifv Assigned To ifv => ddzama
2022-11-17 12:42 ifv Status resolved => assigned
2022-11-17 12:42 ifv Note Added: 0112147
2022-11-17 12:55 git Note Added: 0112150
2022-11-17 12:56 ddzama Note Added: 0112151
2022-11-17 14:34 ddzama Assigned To ddzama => ifv
2022-11-17 14:34 ddzama Status assigned => resolved
2022-11-17 14:34 ddzama Note Added: 0112156
2022-11-18 11:59 ifv Note Added: 0112165
2022-11-18 12:00 ifv Assigned To ifv => ddzama
2022-11-18 12:00 ifv Status resolved => assigned
2022-11-21 06:25 ddzama Note Added: 0112260
2022-11-21 11:55 git Note Added: 0112263
2022-11-21 11:59 ddzama Assigned To ddzama => ifv
2022-11-21 11:59 ddzama Status assigned => resolved
2022-11-21 11:59 ddzama Note Added: 0112264
2022-11-28 16:30 ifv Assigned To ifv => bugmaster
2022-11-28 16:30 ifv Status resolved => reviewed
2022-11-28 16:30 ifv Note Added: 0112366
2022-11-29 11:40 git Note Added: 0112375
2022-12-05 00:23 smoskvin Status reviewed => tested
2022-12-05 00:25 smoskvin Changeset attached => occt master 03275c0b
2022-12-05 00:25 ddzama Assigned To bugmaster => ddzama
2022-12-05 00:25 ddzama Status tested => verified
2022-12-05 00:25 ddzama Resolution open => fixed