MantisBT - Community
View Issue Details
0026627Community[OCCT] OCCT:Shape Healingpublic2015-09-02 09:322015-10-23 20:49
Roman Lygin 
bugmaster 
normalminor 
closedfixed 
[OCCT] 6.9.0 
[OCCT] 6.9.1[OCCT] 6.9.1 
bugs modalg_6 bug26627
0026627: [Regression] Shape Healing hangs as of OCC 6.8.0
Shape Healing hangs (or takes prohibitively long - at least more than a few minutes) on the shape that used to be processed in a matter of fraction of seconds.
The model is quickly processed in 6.6.0, 6.7.0, 6.7.1 and hangs in 6.8.0, 6.9.0.

Initial triaging reveals that hang happens in BRepClass3d_SClassifier::PerformInfinitePoint() invoked in ShapeFix_Solid::SolidFromShell().

No fix is currently available.
pload ALL
restore a_159.brep a
fixshape r a 1e-6
No tags attached.
related to 0026647closed bugmaster Open CASCADE BRepTools::UVBounds() computes zero range by V 
zip a_159.zip (1,952) 2015-09-02 09:32
https://tracker.dev.opencascade.org/
? bug26627_fixed.brep (18,383) 2015-09-07 16:23
https://tracker.dev.opencascade.org/
Issue History
2015-09-02 09:32Roman LyginNew Issue
2015-09-02 09:32Roman LyginAssigned To => gka
2015-09-02 09:32Roman LyginFile Added: a_159.zip
2015-09-06 13:50abvNote Added: 0045109
2015-09-06 13:51abvRelationship addedrelated to 0026647
2015-09-07 16:22gitNote Added: 0045154
2015-09-07 16:23abvFile Added: bug26627_fixed.brep
2015-09-07 16:24abvNote Added: 0045155
2015-09-07 16:24abvAssigned Togka => msv
2015-09-07 16:24abvStatusnew => resolved
2015-09-08 15:50msvNote Added: 0045238
2015-09-08 15:50msvAssigned Tomsv => bugmaster
2015-09-08 15:50msvStatusresolved => reviewed
2015-09-08 16:18apvAssigned Tobugmaster => apv
2015-09-08 19:20gitNote Added: 0045267
2015-09-08 19:20apvNote Added: 0045268
2015-09-09 15:11apvTest case number => bugs modalg_6 bug26627
2015-09-09 15:54apvNote Added: 0045333
2015-09-09 15:54apvAssigned Toapv => abv
2015-09-09 15:54apvStatusreviewed => assigned
2015-09-09 19:27abvNote Added: 0045357
2015-09-09 19:27abvAssigned Toabv => apv
2015-09-09 19:27abvStatusassigned => feedback
2015-09-10 11:50apvNote Added: 0045389
2015-09-10 11:50apvAssigned Toapv => bugmaster
2015-09-10 11:50apvStatusfeedback => tested
2015-09-11 14:09bugmasterChangeset attached => occt master 79e9ce0e
2015-09-11 14:09bugmasterStatustested => verified
2015-09-11 14:09bugmasterResolutionopen => fixed
2015-10-16 14:55aivStatusverified => closed
2015-10-16 16:37gitNote Added: 0047007
2015-10-23 20:49aivFixed in Version => 6.9.1

Notes
(0045109)
abv   
2015-09-06 13:50   
I confirm the problem. It has two reasons:

a) Infinite cycle in BRepClass3d_SClassifier::PerformInfinitePoint(): it takes probing lines at random points across shape faces until it can classify the situation, but in this case this never happens because

b) due to incorrect computation of bounding box of a face in BndLib_Box2dCurve::Compute(), UV range returned by BRepTool::UVBounds() is reduced to zero by V, and intersector (IntCurvesFace_Intersector) fails to find intersection of that face by line. (The same happens for the opposite face that could save the situation if it worked...)

Separate issue 0026647 is created for problem (b).
(0045154)
git   
2015-09-07 16:22   
Branch CR26627 has been created by abv.

SHA-1: 54426c4b47d5e5a2a7c5cee73edbbdef57a26ccc


Detailed log of new commits:

Author: abv
Date: Mon Sep 7 07:14:41 2015 +0300

    0026627: [Regression] Shape Healing hangs as of OCC 6.8.0
    
    Check for orientation of the solid corrected to ensure that cycle always finishes.
    
    Test case added: bugs modalg_6 bug26627
    Tests boolean volumemaker A3, B5, B7 corrected (improvements)
(0045155)
abv   
2015-09-07 16:24   
Fix pushed to CR26627, please review. Note that shape bug26627_fixed.brep used in the test is attached to the issue.
(0045238)
msv   
2015-09-08 15:50   
Reviewed.
(0045267)
git   
2015-09-08 19:20   
Branch CR26627 has been updated forcibly by apv.

SHA-1: 4205a321ba7e55ac9e779144e3b5f277b272c770
(0045268)
apv   
2015-09-08 19:20   
Branch CR26627 has been rebased on the current master
(0045333)
apv   
2015-09-09 15:54   
Dear BugMaster,

Branch CR26627 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 4205a321ba7e55ac9e779144e3b5f277b272c770

Number of compiler warnings:
occt component:
   Linux: 15 (15 on master)
   Windows: 0 (0 on master)
products component :
   Linux: 39 (39 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR26627-master-products-64/Debian70-64/summary.html [^]
http://occt-tests/CR26627-master-products-64/Windows-64-VC10/summary.html [^]
sat doc_5 H6 (Windows only)
sat doc_6 G4

Testing cases:
bugs modalg_6 bug26627 - OK
http://occt-tests/CR26627-master-occt-64/Debian70-64/bugs/modalg_6/bug26627.html [^]
http://occt-tests/CR26627-master-occt-64/Windows-64-VC10/bugs/modalg_6/bug26627.html [^]

Testing on Linux:
Total MEMORY difference: 91131919 / 91940979 [-0.88%]
Total CPU difference: 17864.519999999033 / 17715.329999998972 [+0.84%]

Testing on Windows:
Total MEMORY difference: 57137046 / 57146326 [-0.02%]
Total CPU difference: 16324.116241099126 / 16584.49751019933 [-1.57%]
(0045357)
abv   
2015-09-09 19:27   
Test cases sat doc_5 H6 and sat doc_6 G4 are updated in branch CR26627, please check these tests only
(0045389)
apv   
2015-09-10 11:50   
Test-cases sat doc_5 H6 and sat doc_6 G4 have been verified.
(0047007)
git   
2015-10-16 16:37   
Branch CR26627 has been deleted by kgv.

SHA-1: 4205a321ba7e55ac9e779144e3b5f277b272c770