Archived issue #0030396
Infinite recursion during ShapeFix after BRepAlgoAPI_Cut
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.
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
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.
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).
[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).
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.
However, the shape produced by the version 7.3 still crashes application during fixshape operation.
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.
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.
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.
- 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.
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
[revision removed]
Detailed log of new commits:
Author: msv
Date: Fri Dec 21 15:41:55 2018 +0300
#correction following remarks
Remarks have been considered.
Please integrate and then assign again to me.