View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030176 | Community | OCCT:Modeling Algorithms | public | 2018-09-28 17:49 | 2019-01-23 19:14 |
Reporter | galbramc | Assigned To | bugmaster | ||
Priority | normal | Severity | block | ||
Status | closed | Resolution | fixed | ||
Product Version | 7.3.0 | ||||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0030176: Modeling Algorithms - Infinite loop in IntWalk_PWalking::Perform() | ||||
Description | The do loop on line 1003 of IntWalk_PWalking.cxx gets stuck in an infinite loop. The loop follows the pattern explained on line 1171, i.e.:// In order to avoid cyclic changes // (PasTropGrand --> Decrease step --> // StepTooSmall --> Increase step --> PasTropGrand...) // nullify LevelOfIterWithoutAppend only if the condition // is satisfied: if (aPrevStatus != IntWalk_PasTropGrand) LevelOfIterWithoutAppend = 0; However, the same logic appears to be missing on line 1098. The following patch seems to resolve the issue: Index: src/IntWalk/IntWalk_PWalking.cxx =================================================================== --- src/IntWalk/IntWalk_PWalking.cxx (revision 1) +++ src/IntWalk/IntWalk_PWalking.cxx (working copy) @@ -1098,7 +1098,14 @@ if(aDelta > Epsilon(pasInit[i])) { pasInit[i] -= aDelta; - LevelOfIterWithoutAppend=0; + + // In order to avoid cyclic changes + // (PasTropGrand --> Decrease step --> + // StepTooSmall --> Increase step --> PasTropGrand...) + // nullify LevelOfIterWithoutAppend only if the condition + // is satisfied: + if (aPrevStatus != IntWalk_StepTooSmall) + LevelOfIterWithoutAppend=0; } } } | ||||
Steps To Reproduce | restore [locate_data_file bug30176_shape.brep] sshh explode sshh e blend result sshh 0.1 sshh_36 0.1 sshh_36 0.1 sshh_38 0.1 sshh_71 0.1 sshh_72 0.1 sshh_73 | ||||
Additional information and documentation updates | We are using OpenCASCADE as the CAD kernel for our software (acdl.mit.edu/ESP). I am happy to help explain how to compile and run an ESP test case that gets stuck in an infinite loop. I unfortunately am not familiar enough with the OpenCASCADE testing to generate an OCCT test that will reproduce the issue. | ||||
Tags | No tags attached. | ||||
Test case number | bugs/modalg_7/bug30176 | ||||
|
All we need to reproduce the problem is knowledge of which upper level OCCT algorithm do you call and all input data to it. Each shape should be available in BRep format written by the method BRepTools::Write(). |
|
Please provide input shapes and may be a piece of code reproducing the problem, and then reassign again to me. |
|
infinite_loop.tgz (5,389 bytes) |
|
I was able to crate a little program what gets stuck in the infinite loop. Please let know if you have questions about it. |
|
Dear Nikolay, please take care of further processing. |
2018-10-03 09:59 developer |
bug30176_shape.brep (25,607 bytes) |
|
Branch CR30176 has been created by nbv. SHA-1: 0702cb07eb9a6353db7d4b5f686e31e5501b2a79 Detailed log of new commits: Author: nbv Date: Wed Oct 3 17:02:44 2018 +0300 0030176: Modeling Algorithms - Infinite loop in IntWalk_PWalking::Perform() Currently resetting of counter LevelOfIterWithoutAppend is enabled only if additional iterations have taken some positive effect. |
|
Branch CR30176 has been updated by nbv. SHA-1: fc7df137d2409cda5864cbeabf67372265daa36c Detailed log of new commits: Author: nbv Date: Thu Oct 4 09:45:45 2018 +0300 # Small correction in the new test case. |
|
Dear Mikhail, Please review the current state of CR30176 branch. Test results are here: http://jenkins-test-12.nnov.opencascade.com/view/CR30176-master_NBV/ |
|
Reviewed. |
|
Combination - OCCT branch : CR30176 SHA - 0702cb07eb9a6353db7d4b5f686e31e5501b2a79 Products branch : master SHA - bdd0353fc53f9279cf9520705239af63f757c03a was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences CPU differences: Debian80-64: OCCT Total CPU difference: 17451.459999999814 / 17401.889999999843 [+0.28%] Products Total CPU difference: 7442.740000000059 / 7431.600000000062 [+0.15%] Windows-64-VC14: OCCT Total CPU difference: 17439.148988698547 / 17485.309684598556 [-0.26%] Products Total CPU difference: 8325.211766400007 / 8352.574341799986 [-0.33%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR30176 has been deleted by inv. SHA-1: fc7df137d2409cda5864cbeabf67372265daa36c |
occt: master 521648ce 2018-10-03 14:02:44
Committer: bugmaster Details Diff |
0030176: Modeling Algorithms - Infinite loop in IntWalk_PWalking::Perform() Currently resetting of counter LevelOfIterWithoutAppend is enabled only if additional iterations have taken some positive effect. |
Affected Issues 0030176 |
|
mod - src/IntWalk/IntWalk_PWalking.cxx | Diff File | ||
add - tests/perf/modalg/bug30176 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-09-28 17:49 | galbramc | New Issue | |
2018-09-28 17:49 | galbramc | Assigned To | => kgv |
2018-09-28 18:54 | kgv | Assigned To | kgv => msv |
2018-09-28 18:54 | kgv | Category | OCCT:Coding => OCCT:Modeling Algorithms |
2018-09-28 18:54 | kgv | Summary | Infinite loop in IntWalk_PWalking::Perform => Modeling Algorithms - Infinite loop in IntWalk_PWalking::Perform() |
2018-09-28 18:54 | kgv | Description Updated | |
2018-10-02 09:38 |
|
Note Added: 0079566 | |
2018-10-02 09:42 |
|
Note Added: 0079568 | |
2018-10-02 09:42 |
|
Assigned To | msv => galbramc |
2018-10-02 09:42 |
|
Status | new => feedback |
2018-10-02 19:23 | galbramc | File Added: infinite_loop.tgz | |
2018-10-02 19:25 | galbramc | Note Added: 0079620 | |
2018-10-02 19:25 | galbramc | Assigned To | galbramc => msv |
2018-10-03 09:38 |
|
Note Added: 0079626 | |
2018-10-03 09:38 |
|
Assigned To | msv => nbv |
2018-10-03 09:38 |
|
Status | feedback => assigned |
2018-10-03 09:58 |
|
Steps to Reproduce Updated | |
2018-10-03 09:58 |
|
Additional Information Updated | |
2018-10-03 09:59 |
|
File Added: bug30176_shape.brep | |
2018-10-03 17:03 | git | Note Added: 0079648 | |
2018-10-04 09:46 | git | Note Added: 0079664 | |
2018-10-04 09:51 |
|
Note Added: 0079665 | |
2018-10-04 09:51 |
|
Assigned To | nbv => msv |
2018-10-04 09:51 |
|
Status | assigned => resolved |
2018-10-04 10:48 |
|
Note Added: 0079669 | |
2018-10-04 10:48 |
|
Assigned To | msv => bugmaster |
2018-10-04 10:48 |
|
Status | resolved => reviewed |
2018-10-04 18:08 | bugmaster | Test case number | => bugs/modalg_7/bug30176 |
2018-10-04 18:09 | bugmaster | Note Added: 0079702 | |
2018-10-04 18:09 | bugmaster | Status | reviewed => tested |
2018-10-06 19:15 | bugmaster | Changeset attached | => occt master 521648ce |
2018-10-06 19:15 | bugmaster | Status | tested => verified |
2018-10-06 19:15 | bugmaster | Resolution | open => fixed |
2018-10-07 12:43 | git | Note Added: 0079749 | |
2018-10-12 20:41 |
|
Target Version | => 7.4.0 |