View Issue Details

IDProjectCategoryView StatusLast Update
0026965CommunityOCCT:Meshpublic2018-11-11 12:01
ReporterIstvan Csanady Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0026965: BRepMesh_IncrementalMesh hangs, and consumes infinite memory
DescriptionFor swept shapes like the attached one, BRepMesh_IncrementalMesh quite often hangs (forever) and constantly allocates more and more memory (7-30MB/sec)

These shapes are created with BRepOffsetAPI_MakePipe, by sweeping an arbitrary profile through a wavy BSpline.
Steps To Reproduce#Load the attached shape with DRAWEXE.

restore mesh_hang.brep a
tclean a
vinit
vsetdispmode 1
vdisplay a
Additional information
and documentation updates
This is probably related to 0026889
TagsNo tags attached.
Test case numberperf/mesh/bug26965

Attached Files

  • mesh_hang.brep (338,432 bytes)
  • elbow_1.png (54,317 bytes)
  • elbow_2.png (86,866 bytes)

Relationships

related to 0027693 closedbugmaster Open CASCADE BRepMesh: fine edge tessellation leads to excess number of triangles along the whole U or V stripes 
has duplicate 0026889 closedbugmaster Community Very poor mesh result from shape 
related to 0026106 closedbugmaster Open CASCADE BRepMesh - revision of data model 

Activities

Istvan Csanady

2015-12-08 14:09

developer  

mesh_hang.brep (338,432 bytes)

oan

2016-02-08 15:14

developer  

elbow_1.png (54,317 bytes)

oan

2016-02-08 15:14

developer  

elbow_2.png (86,866 bytes)

oan

2016-02-08 15:14

developer   ~0050481

Dear Istvan,

generally the problem with hanging of BRepMesh on such kind of shapes is connected with surface eversions on the elbows which can be observed on attached screenshots (elbow_1, elbow_2). BRepMesh's logic tries to produce mesh suitable for visualization, i.e. it tries to prevent occurence of dark areas which are caused by strong deviation of normals at triangle vertices. In this case it generates additional points, thus generates more finier mesh. Considering the problematic areas on elbows, algorithm could insert a lot of points in order to gain the suitable quality of a result. However, existing drastic bend can lead to unconditional division without achieving the desired result.

In order to prevent such behavior you can disable procedure of addition of new vertices at all by using -surf_def_off parameter or specify minimum size parameter in order to limit mesh amplification. E.g. the following command produces mesh without hanging:

incmesh a 0.1 -min 0.1

Best regards,
Oleg.

Istvan Csanady

2016-02-09 05:32

developer   ~0050504

Wow, thanks Oleg, that helped! Works like a charm.

abv

2016-02-09 09:25

manager   ~0050506

Oleg, can we add some default restriction against insertion of infinite number of points? I suppose this can be made either restricting number of iterations or setting some default value for this parameter "-min".

oan

2016-02-09 10:41

developer   ~0050509

Andrey, yes we can. In fact, there is an issue #23513 that supposes this restriction and now it should be tested and vertified.

Istvan Csanady

2016-03-10 15:48

developer   ~0051522

For me that works, it can be closed (just because the ticket is in waiting for feedback state)

abv

2016-03-10 15:57

manager   ~0051523

Oleg, please consider this issue together with #23513 (as one more test case)

oan

2017-08-11 13:05

developer   ~0069316

Performance could be improved by 0026106 patch.

nbv

2018-11-02 15:25

developer   ~0080632

Fixed in frame of 0026106 or children.

msv

2018-11-02 18:49

developer   ~0080665

I think we should create a test case and close it.

abv

2018-11-06 14:41

manager   ~0080748

In my test, vdisplay took ~ 7 sec

git

2018-11-06 14:49

administrator   ~0080749

Branch CR26965 has been created by nbv.

SHA-1: d37830f4a1f6dd4f18bb1fb94c27475e04deac75


Detailed log of new commits:

Author: nbv
Date: Tue Nov 6 14:46:15 2018 +0300

    0026965: BRepMesh_IncrementalMesh hangs, and consumes infinite memory
    
    Only test case has been created.

git

2018-11-07 13:44

administrator   ~0080821

Branch CR26965 has been updated forcibly by nbv.

SHA-1: 75b8da9d59474a53d0640f29d6e44f7f4fd1edaf

git

2018-11-07 17:12

administrator   ~0080856

Branch CR26965 has been updated forcibly by nbv.

SHA-1: 7eb49de429270bc68d4c6ed17d8bcdb171daaabd

git

2018-11-07 17:44

administrator   ~0080875

Branch CR26965 has been updated forcibly by nbv.

SHA-1: 0e5fb019d9a2cdf1db3a40ca1a927c3646af15f7

nbv

2018-11-07 18:07

developer   ~0080891

Dear Mikhail,

Please review the branch CR26965.

Test results are here:
Windows: http://jenkins-test-12.nnov.opencascade.com/view/MeshTest-master_NBV/view/TESTING/job/MeshTest-master_NBV-OCCT-Windows-64-VC14-opt-test-restart/HTML_20Report/

Linux: http://jenkins-test-12.nnov.opencascade.com/view/MeshTest-master_NBV/view/TESTING/job/MeshTest-master_NBV-OCCT-Debian80-64-opt-test-restart/HTML_20Report/

msv

2018-11-08 09:41

developer   ~0080908

Reviewed.

bugmaster

2018-11-08 13:48

administrator   ~0080944

Adding test case

git

2018-11-11 12:01

administrator   ~0081033

Branch CR26965 has been deleted by inv.

SHA-1: 0e5fb019d9a2cdf1db3a40ca1a927c3646af15f7

Related Changesets

occt: master 17412926

2018-11-06 11:46:15

nbv


Committer: bugmaster Details Diff
0026965: BRepMesh_IncrementalMesh hangs, and consumes infinite memory

Adding test case for the problem.
The issue has been fixed by a patch for 0026106.
Affected Issues
0026965
add - tests/perf/mesh/bug26965 Diff File

Issue History

Date Modified Username Field Change
2015-12-08 14:09 Istvan Csanady New Issue
2015-12-08 14:09 Istvan Csanady Assigned To => oan
2015-12-08 14:09 Istvan Csanady File Added: mesh_hang.brep
2016-02-02 11:07 abv Target Version 7.0.0 => 7.1.0
2016-02-08 14:06 oan Relationship added has duplicate 0026889
2016-02-08 15:14 oan File Added: elbow_1.png
2016-02-08 15:14 oan File Added: elbow_2.png
2016-02-08 15:14 oan Note Added: 0050481
2016-02-08 15:14 oan Assigned To oan => Istvan Csanady
2016-02-08 15:14 oan Status new => feedback
2016-02-09 05:32 Istvan Csanady Note Added: 0050504
2016-02-09 09:25 abv Note Added: 0050506
2016-02-09 10:41 oan Note Added: 0050509
2016-03-10 15:48 Istvan Csanady Note Added: 0051522
2016-03-10 15:57 abv Note Added: 0051523
2016-03-10 15:57 abv Assigned To Istvan Csanady => oan
2016-03-10 15:57 abv Status feedback => assigned
2016-10-25 17:43 oan Relationship added related to 0027693
2016-10-25 17:45 oan Target Version 7.1.0 => 7.2.0
2016-11-01 13:53 oan Relationship added related to 0026106
2017-07-20 12:43 oan Target Version 7.2.0 => 7.3.0
2017-08-11 12:59 oan Steps to Reproduce Updated
2017-08-11 13:05 oan Note Added: 0069316
2018-02-25 21:14 abv Target Version 7.3.0 => 7.4.0
2018-11-02 15:25 nbv Note Added: 0080632
2018-11-02 15:26 nbv Assigned To oan => bugmaster
2018-11-02 15:26 nbv Status assigned => feedback
2018-11-02 18:49 msv Note Added: 0080665
2018-11-02 18:50 msv Assigned To bugmaster => oan
2018-11-02 18:50 msv Status feedback => assigned
2018-11-02 19:00 oan Assigned To oan => nbv
2018-11-02 19:00 oan Status assigned => feedback
2018-11-06 14:41 abv Note Added: 0080748
2018-11-06 14:49 git Note Added: 0080749
2018-11-07 13:44 git Note Added: 0080821
2018-11-07 17:12 git Note Added: 0080856
2018-11-07 17:44 git Note Added: 0080875
2018-11-07 18:07 nbv Note Added: 0080891
2018-11-07 18:07 nbv Assigned To nbv => msv
2018-11-07 18:07 nbv Status feedback => resolved
2018-11-08 09:41 msv Note Added: 0080908
2018-11-08 09:41 msv Assigned To msv => bugmaster
2018-11-08 09:41 msv Status resolved => reviewed
2018-11-08 13:48 bugmaster Note Added: 0080944
2018-11-08 13:48 bugmaster Status reviewed => tested
2018-11-09 15:44 bugmaster Test case number => perf/mesh/bug26965
2018-11-11 11:52 bugmaster Changeset attached => occt master 17412926
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: 0081033