DiscussionsIssue archiveOCCT:Shape Healing

Archived issue #0030396

Infinite recursion during ShapeFix after BRepAlgoAPI_Cut

CommunityOCCT:Shape Healingassigned7 public notes

Search issues

Description

Attached is zip file with a cpp file and 7 shape serializations.

The cpp file loads a couple arguments for a boolean operation. A subsequent call to ShapeFix_Shape results in an infinite recursion.

The odd thing is that if the order in which the shapes are added to the list is changed (this order is also included in a code comment) the boolean op and shapefix call succeed and a visually correct result is obtained.

Steps to reproduce

restore [locate_data_file bug30396.brep] a
explode a

bfuzzyvalue 1e-2
bnondestructive 1
bclearobjects
bcleartools
baddobjects a_1
baddtools a_2 a_3 a_4 a_5 a_6 a_7
bfillds
bbop r 2

checknbshapes r -solid 1 -shell 1
checkshape r
# checkshape reports errors in version 7.3.0,
# and it is OK with current master

fixshape r1 r
# fixshape hangs on a couple of seconds and crashes the application,
# if result is get from the version 7.3.0

Public activity

7 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: msv
Date: Thu Dec 20 17:10:00 2018 +0300

    Test for 0030396: Infinite recursion during ShapeFix after BRepAlgoAPI_Cut
    
    Two test cases are added. One for Boolean operation (it is good, because BO has been fixed already), and another for fixshape operation (it causes Draw crash).
02Commenter 2
The bug with BO is not reproduced in the master version.
However, the shape produced by the version 7.3 still crashes application during fixshape operation.
03Commenter 3
New test scripts have been created and pushed to the branch CR30396.

Dear Eugeny, please review the branch.

Results of new test scripts are here:
http://jenkins-test-12.nnov.opencascade.com/view/CR30396-master-msv/view/TESTING/job/CR30396-master-msv-OCCT-Debian80-64-opt-test-restart/HTML_20Report/
http://jenkins-test-12.nnov.opencascade.com/view/CR30396-master-msv/view/TESTING/job/CR30396-master-msv-OCCT-Windows-64-VC14-opt-test-restart/HTML_20Report/

Please do not close the bug after integration of the tests.
04Commenter 4
tests/bugs/modalg_7/bug30396_1:
- Please add checks for the area and volume properties of the result shapes.
- When operations complete, reset the options (fuzzy and safe mode) to default state.
- It will also be good to check other types of boolean operations in the same script.
05Commenter 1
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: msv
Date: Fri Dec 21 15:41:55 2018 +0300

    #correction following remarks

06Commenter 6
Remarks have been considered.
07Commenter 7
Please integrate and then assign again to me.