MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0031041Community[OCCT] OCCT:Modeling Algorithmspublic2019-10-07 11:452019-12-17 13:48
Reporterdenix56 
Assigned Tojgv 
PrioritynormalSeveritycrash 
StatusassignedResolutionopen 
PlatformMSVC 2017 x64OSWindowsOS Version10
Product Version[OCCT] 7.4.0 
Target VersionFixed in Version 
Summary0031041: Modeling Algorithms - Crash in BRepOffsetAPI_MakePipeShell
DescriptionThe following code causes access to null shape and as a result - crash. I think it was caused by 0029204: BRepOffsetAPI_MakePipeShell produces invalid result and raises exception in Draw

double tol = 6.2377018066812730e-07;

sweep.SetTransitionMode(BRepBuilderAPI_TransitionMode::BRepBuilderAPI_RightCorner);
sweep.Add(profile, location, Standard_False, Standard_False);
sweep.SetTolerance(tol, tol);
sweep.Build();


The fix is to add in BRepFill_TrimShellCorner::ChooseSection check if firstedge and lastedge is null.
Steps To Reproducerestore location.brep loc
restore profile.brep pr
restore profile.brep sp
mksweep sp
addsweep pr loc
buildsweep r -C
TagsNo tags attached.
Test case number
Attached Files? file icon profile.brep (1,069 bytes) 2019-10-07 11:45
? file icon location.brep (228 bytes) 2019-10-07 11:45
? file icon spine.brep (796 bytes) 2019-10-15 15:06

- Relationships

-  Notes
(0088105)
msv (developer)
2019-10-14 14:46
edited on: 2019-10-14 14:47

It seems the test case is incomplete. What are the parameters passed to the constructor of the algorithm? Where is the spine contour?

I would expect to reproduce the bug using the following draw script:

mksweep sp
addsweep pr loc
buildsweep r -C

The shape sp is missing in your input data.

(0088137)
denix56 (reporter)
2019-10-15 15:10

Sorry, forgot about it. I`ve uploaded the missing file

Here is the full code
BRepOffsetAPI_MakePipeShell sweep(spine);
sweep.SetTransitionMode(BRepBuilderAPI_TransitionMode::BRepBuilderAPI_RightCorner);
sweep.Add(profile, location, Standard_False, Standard_False);
sweep.SetTolerance(tol, tol);
sweep.Build();
(0088185)
denix56 (reporter)
2019-10-16 16:45

Reminder sent to: msv

(0088194)
msv (developer)
2019-10-16 18:54

I'll look at it soon. Just too much urgent work currently.
(0088264)
msv (developer)
2019-10-17 17:21

I have added in steps to reproduce the draw script corresponding to the code snippet.
(0088265)
msv (developer)
2019-10-17 17:22

Now it gives access violation exception.
(0088282)
denix56 (reporter)
2019-10-17 19:37

Correct, I have the same behavior. The reason is described in my first post. In some cases the method in BRepFill_TrimShellCorner returns null shape and we do not check if it is null. (We do it only in one of 3 places where the method is used).

- Issue History
Date Modified Username Field Change
2019-10-07 11:45 denix56 New Issue
2019-10-07 11:45 denix56 Assigned To => msv
2019-10-07 11:45 denix56 File Added: profile.brep
2019-10-07 11:45 denix56 File Added: location.brep
2019-10-14 14:46 msv Note Added: 0088105
2019-10-14 14:46 msv Assigned To msv => denix56
2019-10-14 14:46 msv Status new => feedback
2019-10-14 14:47 msv Note Edited: 0088105 View Revisions
2019-10-15 15:06 denix56 File Added: spine.brep
2019-10-15 15:10 denix56 Note Added: 0088137
2019-10-16 16:45 denix56 Note Added: 0088185
2019-10-16 18:54 msv Note Added: 0088194
2019-10-17 17:20 msv Steps to Reproduce Updated View Revisions
2019-10-17 17:21 msv Note Added: 0088264
2019-10-17 17:22 msv Note Added: 0088265
2019-10-17 17:22 msv Assigned To denix56 => jgv
2019-10-17 17:22 msv Status feedback => assigned
2019-10-17 19:37 denix56 Note Added: 0088282
2019-12-17 13:48 kgv Summary Crash in BRepOffsetAPI_MakePipeShell => Modeling Algorithms - Crash in BRepOffsetAPI_MakePipeShell
2019-12-17 13:48 kgv Product Version => 7.4.0


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker