View Issue Details

IDProjectCategoryView StatusLast Update
0026671CommunityOCCT:Shape Healingpublic2015-10-23 20:49
ReporterDamir Bogrov Assigned Tokgv  
PrioritynormalSeverityblock 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2013 
Product Version6.9.0 
Target Version6.9.1Fixed in Version6.9.1 
Summary0026671: Infinite loop in ShapeFix_Wire::FixSelfIntersection()
DescriptionSome imported IGES models falls into an infinite loop during ShapeFix_Wire::FixSelfIntersection() - model provokes conditions that do not allow to increase the counter in algorithm.

There is not such problem in OCC version 6.5.0.
Steps To Reproduceigesbrep bug_10674.igs b
TagsNo tags attached.
Test case numberbugs heal bug26671

Attached Files

  • bug_10674.zip (17,880 bytes)

Relationships

related to 0025013 closedbugmaster ShapeFix_Wire tweaks for better results 

Activities

Damir Bogrov

2015-09-09 14:00

reporter  

bug_10674.zip (17,880 bytes)

git

2015-09-09 14:19

administrator   ~0045315

Branch CR26671 has been created by Damir Bogrov.

SHA-1: c616afd0d16c81ff3fe97ad63aaad149127fc7ed


Detailed log of new commits:

Author: Damir Bogrov
Date: Wed Sep 9 14:18:39 2015 +0300

    Restore the condition of the revisiting of fixed edge

Roman Lygin

2015-09-18 18:27

developer   ~0045920

The issue is a regression vs 6.8.0 and most likely was introduced as part of 0025013.

Roman Lygin

2015-09-18 18:29

developer   ~0045921

Severity has been raised to 'block' as the application just hangs what leads to data loss.
So approving the fix and integration into the nearest release would be much helpful.

gka

2015-09-18 19:00

developer   ~0045922

Branch CR26671 is ready to be tested

git

2015-09-18 20:22

administrator   ~0045926

Branch CR26671 has been updated forcibly by mkv.

SHA-1: 4d71a2e6bcdefc440032e656e45d692616592cb8

mkv

2015-09-21 15:21

tester   ~0045949

Dear BugMaster,
Branch CR26671 was rebased on current master of occt git-repository.
SHA-1: 4d71a2e6bcdefc440032e656e45d692616592cb8

mkv

2015-09-21 15:22

tester   ~0045950

Dear gka,
could you please review following test case
bugs heal bug26671

git

2015-09-21 15:22

administrator   ~0045951

Branch CR26671 has been updated by mkv.

SHA-1: 17949b9ad0bb48440ec9cf45261c83cc8d5314ef


Detailed log of new commits:

Author: mkv
Date: Mon Sep 21 15:21:02 2015 +0300

    Test cases for issue CR26671

mkv

2015-09-21 15:35

tester   ~0045952

Last edited: 2015-09-21 15:39

Dear BugMaster,
Branch CR26671 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 4d71a2e6bcdefc440032e656e45d692616592cb8

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/Improvements:
http://occt-tests/CR26671-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR26671-master-occt-64/Windows-64-VC10/summary.html
Improvements:
  de iges_1 O5
  de iges_2 D9
  de iges_3 A5
Failed:
  bugs iges bug58_1, bug306
  bugs modalg_2 bug22893
  bugs modalg_6 bug26616
  bugs xde bug15220
  de iges_1 A1, C8, D1, F9, G5, H4, I1, I8, J3, L5, M3, P5, Q3, R3, R4
  de iges_2 A1, E1, E9, F1, F4, G1, G7, H5, H9, I3
  de iges_3 A4, A8, B2, B9, C8

Testing cases:
http://occt-tests/CR26671-master-occt-64/Debian70-64/bugs/heal/bug26671.html
http://occt-tests/CR26671-master-occt-64/Windows-64-VC10/bugs/heal/bug26671.html
bugs heal bug26671: OK

Testing on Linux:
occt component :
Total MEMORY difference: 90218873 / 89842573 [+0.42%]
Total CPU difference: 18235.059999999794 / 18238.63999999983 [-0.02%]
products component :
Total MEMORY difference: 25899214 / 25971259 [-0.28%]
Total CPU difference: 7082.549999999989 / 7206.699999999996 [-1.72%]

Testing on Windows:
occt component :
Total MEMORY difference: 55044709 / 55038974 [+0.01%]
Total CPU difference: 16931.44373419912 / 16399.948327199105 [+3.24%]
products component :
Total MEMORY difference: 16784064 / 16784150 [-0.00%]
Total CPU difference: 5721.7110773999775 / 5525.21221779996 [+3.56%]

There are no differences in images found by testdiff.

git

2015-09-21 16:08

administrator   ~0045955

Branch CR26671_2 has been created by abv.

SHA-1: 3b9d5f8587cfeb8c9706d7d755233b9e727e942e


Detailed log of new commits:

Author: abv
Date: Mon Sep 21 06:08:22 2015 +0300

    0026671: Infinite loop in ShapeFix_Wire::FixSelfIntersection()
    
    Avoid possible infinite loops in ShapeFix_Wire::FixSelfIntersection() -- when needed, fix is repeated once instead of going back in the loop

gka

2015-09-21 16:14

developer   ~0045956

Branch CR26671_2 is ready to be tested

mkv

2015-09-22 12:58

tester   ~0045994

Dear BugMaster,
Branch CR26671_2 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 3b9d5f8587cfeb8c9706d7d755233b9e727e942e

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/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR26671-2-master-occt-64/Debian70-64/bugs/heal/bug26671.html
http://occt-tests/CR26671-2-master-occt-64/Windows-64-VC10/bugs/heal/bug26671.html
bugs heal bug26671: OK

Testing on Linux:
occt component :
Total MEMORY difference: 92486234 / 92156188 [+0.36%]
Total CPU difference: 18933.15999999898 / 18920.149999998986 [+0.07%]
products component :
Total MEMORY difference: 25933158 / 25980951 [-0.18%]
Total CPU difference: 7549.439999999991 / 7208.589999999996 [+4.73%]

Testing on Windows:
occt component :
http://occt-tests/CR26671-2-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
CPU v3d ivtk: 2.0592132000000003 / 1.1544074 [+78.38%]
CPU bugs stlvrml: 2.1528138000000006 / 1.2324079000000001 [+74.68%]
CPU bugs vis bug71: 1.1076071 / 0.2028013 [+446.15%]
CPU bugs vis bug24133_1: 1.0608068 / 0.1248008 [+750.00%]
CPU bugs vis bug136: 0.8268053 / 0.1248008 [+562.50%]
CPU bugs vis bug74: 0.9984064 / 0.2652017 [+276.47%]
CPU bugs mesh bug25469_3: 1.5288098 / 0.4992032 [+206.25%]

Total MEMORY difference: 56878522 / 56871217 [+0.01%]
Total CPU difference: 17495.496549898955 / 17117.22532509913 [+2.21%]
products component :
Total MEMORY difference: 16790991 / 16790438 [+0.00%]
Total CPU difference: 5487.335174999956 / 5526.49142599996 [-0.71%]

There are no differences in images found by testdiff.

abv

2015-09-23 10:24

manager   ~0046022

Mikhail, please indicate clearly the reason of switching issue to feedback and assigning to another person -- how should I guess your reasoning? If you think that the fix makes OCCT slower, this is not the case: I have compared yesterday state of CR-OCCT691-7 with current one (which contains fix for 26671) and the CPU difference is within 1% tolerance:

Total MEMORY difference: 58061293 / 58061146 [+0.00%]
Total CPU difference: 14640.21875 / 14586.6875 [+0.37%]

mkv

2015-09-23 14:35

tester   ~0046044

Dear BugMaster,
Branch CR26671_2 is TESTED.

git

2015-10-16 16:38

administrator   ~0047019

Branch CR26671 has been deleted by kgv.

SHA-1: 17949b9ad0bb48440ec9cf45261c83cc8d5314ef

git

2015-10-16 16:38

administrator   ~0047020

Branch CR26671_2 has been deleted by kgv.

SHA-1: 3b9d5f8587cfeb8c9706d7d755233b9e727e942e

Related Changesets

occt: master 95a39468

2015-09-21 03:08:22

abv


Committer: kgv Details Diff
0026671: Infinite loop in ShapeFix_Wire::FixSelfIntersection()

Avoid possible infinite loops in ShapeFix_Wire::FixSelfIntersection() -- when needed, fix is repeated once instead of going back in the loop
Affected Issues
0026671
mod - src/ShapeFix/ShapeFix_Wire.cxx Diff File
add - tests/bugs/heal/bug26671 Diff File
mod - tests/de/iges_3/A4 Diff File

Issue History

Date Modified Username Field Change
2015-09-09 14:00 Damir Bogrov New Issue
2015-09-09 14:00 Damir Bogrov Assigned To => bugmaster
2015-09-09 14:00 Damir Bogrov File Added: bug_10674.zip
2015-09-09 14:19 git Note Added: 0045315
2015-09-18 18:27 Roman Lygin Note Added: 0045920
2015-09-18 18:27 Roman Lygin Assigned To bugmaster => gka
2015-09-18 18:27 Roman Lygin Status new => resolved
2015-09-18 18:29 Roman Lygin Note Added: 0045921
2015-09-18 18:29 Roman Lygin Severity minor => block
2015-09-18 18:30 Roman Lygin Relationship added related to 0025013
2015-09-18 18:55 abv Target Version => 6.9.1
2015-09-18 19:00 gka Note Added: 0045922
2015-09-18 19:00 gka Assigned To gka => bugmaster
2015-09-18 19:00 gka Status resolved => reviewed
2015-09-18 20:22 git Note Added: 0045926
2015-09-18 20:25 mkv Assigned To bugmaster => mkv
2015-09-21 15:21 mkv Note Added: 0045949
2015-09-21 15:22 mkv Note Added: 0045950
2015-09-21 15:22 mkv Assigned To mkv => gka
2015-09-21 15:22 mkv Status reviewed => assigned
2015-09-21 15:22 git Note Added: 0045951
2015-09-21 15:22 mkv Test case number => bugs heal bug26671
2015-09-21 15:35 mkv Note Added: 0045952
2015-09-21 15:39 mkv Note Edited: 0045952
2015-09-21 16:08 git Note Added: 0045955
2015-09-21 16:08 abv Status assigned => resolved
2015-09-21 16:14 gka Note Added: 0045956
2015-09-21 16:14 gka Assigned To gka => bugmaster
2015-09-21 16:14 gka Status resolved => reviewed
2015-09-21 16:39 mkv Assigned To bugmaster => mkv
2015-09-22 12:58 mkv Note Added: 0045994
2015-09-22 12:58 mkv Assigned To mkv => abv
2015-09-22 12:58 mkv Status reviewed => feedback
2015-09-23 10:21 abv Assigned To abv => mkv
2015-09-23 10:24 abv Note Added: 0046022
2015-09-23 14:35 mkv Note Added: 0046044
2015-09-23 14:35 mkv Assigned To mkv => bugmaster
2015-09-23 14:35 mkv Status feedback => tested
2015-09-28 12:58 kgv Changeset attached => occt master 95a39468
2015-09-28 12:58 kgv Assigned To bugmaster => kgv
2015-09-28 12:58 kgv Status tested => verified
2015-09-28 12:58 kgv Resolution open => fixed
2015-10-16 14:55 aiv Status verified => closed
2015-10-16 16:38 git Note Added: 0047019
2015-10-16 16:38 git Note Added: 0047020
2015-10-23 20:49 aiv Fixed in Version => 6.9.1