View Issue Details

IDProjectCategoryView StatusLast Update
0033226CommunityOCCT:Modeling Algorithmspublic2024-03-14 19:03
ReporterPeterB Assigned Toakaftasev  
PrioritynormalSeveritycrash 
Status assignedResolutionopen 
PlatformWindowsOSVC++ 2017 
Product Version7.6.0 
Target VersionUnscheduled 
Summary0033226: Modeling Alghorithms - Infinite loop in HLRBRep_InternalAlgo::Update() generating 2D view of right hand side from STEP file
Descriptioninfinite loop in HLRBRep_InternalAlgo::Update() generating 2D view of right hand side from STEP file

NOTE: OpenCascade 7.7.0 still affected by this infinite loop

Steps To Reproducesee attached:
+ STEP-to-DXF-CmdLineTool.zip
   NOTE: contains ReadMe.txt
+ STEP file
+ screenshot of call stack of infinite loop in HLRBRep_InternalAlgo::Update()

The contained Visual Studio 17 solution exemplifies in an STEP to DXF command line tool how we use OpenCascade to read STEP files and generate the six 2D views (front, back, right, left, top, bottom)

Generating the *right* hand side 2D view for the attached STEP file the execution hangs (for > two days) in an infinite loop in HLRBRep_InternalAlgo::Update()

severity of an infinite loop is IMHO comparable to "crash"

test hlr exact_hlr bug33226
TagsNo tags attached.
Test case number

Attached Files

  • STEP-to-DXF-CmdLineTool.zip (10,277 bytes)
  • q241612pcd.zip (1,724,244 bytes)
  • image.png (48,221 bytes)

Activities

PeterB

2022-11-29 23:43

reporter   ~0112409

STEP-to-DXF-CmdLineTool.zip (10,277 bytes)
q241612pcd.zip (1,724,244 bytes)

PeterB

2022-11-29 23:44

reporter   ~0112410

added the attachments

PeterB

2022-12-15 20:01

reporter   ~0112640

Reminder sent to: aba, abv, DenisOrlov, dpasukhi, gka, vpozdyayev

Hi there,
Friendly reminder.
Any help is greatly appreciated.
Thnx

PeterB

2022-12-22 12:16

reporter   ~0112730

your help in this matter is greatly appreciated
Thanks in advance,
Peter B.

git

2023-02-10 18:15

administrator   ~0113112

Branch CR33226 has been created by DenisOrlov.

SHA-1: 2be69a187dae2207e37197b67116a75d967765e7


Detailed log of new commits:

Author: dorlov
Date: Fri Feb 10 15:15:40 2023 +0000

    0033226: Data Exchange - Infinite loop in HLRBRep_InternalAlgo::Update() generating 2D view of right hand side from STEP file
    
    Infinite loop is removed from IntWalk_IWalking::ComputeOpenLine method test case was created

DenisOrlov

2023-02-14 15:00

developer   ~0113136

Dear ika,
please review OCCT: CR33226 PROD: NO
Most of the builds are ok,
http://jenkins-test-10.nnov.opencascade.com/view/CR33226-master-DenisOrlov/view/OCCT%20compile/
Tests relevant to the bug are passed.
http://jenkins-test-10.nnov.opencascade.com/view/CR33226-master-DenisOrlov/view/COMPARE/
The infinite loop was removed from IntWalk_IWalking::ComputeOpenLine method and relevant test case was created

PeterB

2023-02-15 12:41

reporter   ~0113146

Hi DenisOrlov,
Hi ika,

thanks for your fix.

I noticed that in line 371 of the same file (IntWalk_IWalking_3.gxx) there's the identical boolean expression:
         if (PasCu <= tolerance(1) && PasCv <= tolerance(2)) {

I wonder whether the fix " || cadre " helps there as well to avoid infinite loops?

Looking forward to your feedback.

Best regards,
Peter B.
image.png (48,221 bytes)

DenisOrlov

2023-02-16 12:41

developer   ~0113154

Hi Peter B,
This solution helps only in case, when cadre == True && Rsnld.IsDone().
So, in such case there is no possibility to reach the code in line 371, and there is no need to add additional condition.
DenisOrlov

PeterB

2023-02-16 18:03

reporter   ~0113158

Hi DenisOrlov,
I see. You're right.
Thanks for promptly checking,
Peter B.

ika

2023-02-23 13:34

developer   ~0113199

No remarks.

Dear bugmaster,
please integrate:
OCCT - CR33226

git

2023-02-28 19:08

administrator   ~0113216

Branch CR33226 has been updated forcibly by DenisOrlov.

SHA-1: bc4de944f29c4a98ed59ce3ce824e73ae54121ad

git

2023-03-07 19:49

administrator   ~0113240

Branch CR33226 has been updated forcibly by DenisOrlov.

SHA-1: 432ac18ed3c401e9c852159aebc002052052d09e

ika

2023-04-04 13:57

developer   ~0113353

Dear akaftasev,

could you please review branch CR33226?

test results
http://jenkins-test-10.nnov.opencascade.com/view/CR33226-master-DenisOrlov/view/COMPARE/

akaftasev

2023-04-04 14:10

developer   ~0113354

IntWalk_IWalking_3.gxx:
- line 195: please enclose in the curly brackets this line
- line 209: abrogate this change

bug33226:
please add extra line at the end of file

dpasukhi

2023-04-04 15:39

administrator   ~0113355

I think there a little more problem.
For compare PasC and PasCPrev we use hardcoded tolerance. But IntWalk never use this as a default. There is used tolerance method
Example:
 198             PasCu = Abs(PasC*previousd2d.X());
 199             PasCv = Abs(PasC*previousd2d.Y());
 200             if ((PasCu <= tolerance(1) && PasCv <= tolerance(2)) || (Cadre && aSamePasC))
 201             {
 202               if (CurrentLine->NbPoints() == 1) break;
 203               Arrive = Standard_True;

PeterB

2023-09-14 18:59

reporter   ~0114172

Dear @akaftasev,
any chance to get this resolved in maintenance release OC v7.7.3?
your help is very much appreciated
- Peter B.

dpasukhi

2023-09-14 19:02

administrator   ~0114173

@PeterB this ticket is not priority. And not a part of 7.7.3 road-map plans

PeterB

2023-09-26 16:45

reporter   ~0114289

=== related OC issues ===
0033492: STEP generated with OC 7.3.0: infinite loop in HLRBRep_InternalAlgo::Update() when imported with OC 7.6.0, 7.7.0, 7.7,2
=> root cause *might* be the same

PeterB

2023-09-28 15:11

reporter   ~0114321

we see an infinite loop as well when generating the 2D views for TOP + BOTTOM for the STEP file
+ AA-33-123.354.00.stp
it has 27MB and cannot be uploaded

NOTE: generating the 2D views for FRONT + BACK results in erroneous / incorrect graphics - this issue is reported in:
    0033494: generation of 2D views results in erroneous graphics / lines

=== TMS ===
Designer-42596

PeterB

2023-09-28 15:26

reporter   ~0114322

AA-33-123.354.00.stp (TOP + BOTTOM view)
+ OK: with OC 7.3.0 we did *not* see this infinite loop
+ BUG: with OC 7.7.0 and OC 7.7.2 we *do* see this infinite loop
so looks like a regression

PeterB

2024-03-14 19:03

reporter   ~0115369

reproducible with OpenCascade 7.8.0

Issue History

Date Modified Username Field Change
2022-11-28 16:10 PeterB New Issue
2022-11-28 16:10 PeterB Assigned To => gka
2022-11-29 23:43 PeterB Note Added: 0112409
2022-11-29 23:43 PeterB File Added: STEP-to-DXF-CmdLineTool.zip
2022-11-29 23:43 PeterB File Added: q241612pcd.zip
2022-11-29 23:44 PeterB Note Added: 0112410
2022-12-15 20:01 PeterB Note Added: 0112640
2022-12-22 12:16 PeterB Note Added: 0112730
2023-01-25 14:28 ika Assigned To gka => DenisOrlov
2023-01-25 19:47 dpasukhi Summary infinite loop in HLRBRep_InternalAlgo::Update() generating 2D view of right hand side from STEP file => Data Exchange - Infinite loop in HLRBRep_InternalAlgo::Update() generating 2D view of right hand side from STEP file
2023-02-10 18:15 git Note Added: 0113112
2023-02-14 15:00 DenisOrlov Assigned To DenisOrlov => ika
2023-02-14 15:00 DenisOrlov Status new => resolved
2023-02-14 15:00 DenisOrlov Steps to Reproduce Updated
2023-02-14 15:00 DenisOrlov Note Added: 0113136
2023-02-15 12:41 PeterB Note Added: 0113146
2023-02-15 12:41 PeterB File Added: image.png
2023-02-16 12:41 DenisOrlov Note Added: 0113154
2023-02-16 18:03 PeterB Note Added: 0113158
2023-02-23 13:34 ika Assigned To ika => bugmaster
2023-02-23 13:34 ika Status resolved => reviewed
2023-02-23 13:34 ika Note Added: 0113199
2023-02-28 19:08 git Note Added: 0113216
2023-03-07 19:49 git Note Added: 0113240
2023-03-07 20:07 dpasukhi Assigned To bugmaster => DenisOrlov
2023-03-07 20:07 dpasukhi Status reviewed => assigned
2023-04-04 13:57 ika Assigned To DenisOrlov => akaftasev
2023-04-04 13:57 ika Status assigned => resolved
2023-04-04 13:57 ika Note Added: 0113353
2023-04-04 14:10 akaftasev Assigned To akaftasev => ika
2023-04-04 14:10 akaftasev Status resolved => assigned
2023-04-04 14:10 akaftasev Note Added: 0113354
2023-04-04 15:39 dpasukhi Note Added: 0113355
2023-04-04 15:40 dpasukhi Assigned To ika => akaftasev
2023-04-04 15:41 dpasukhi Category OCCT:Data Exchange => OCCT:Modeling Algorithms
2023-04-04 15:41 dpasukhi Summary Data Exchange - Infinite loop in HLRBRep_InternalAlgo::Update() generating 2D view of right hand side from STEP file => Modeling Alghorithms - Infinite loop in HLRBRep_InternalAlgo::Update() generating 2D view of right hand side from STEP file
2023-09-14 18:59 PeterB Note Added: 0114172
2023-09-14 19:01 dpasukhi Target Version => Unscheduled
2023-09-14 19:02 dpasukhi Note Added: 0114173
2023-09-26 16:45 PeterB Note Added: 0114289
2023-09-28 15:11 PeterB Note Added: 0114321
2023-09-28 15:26 PeterB Note Added: 0114322
2024-03-14 19:03 PeterB Note Added: 0115369