View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0023436 | Community | OCCT:Modeling Algorithms | public | 2012-09-17 19:25 | 2013-04-29 15:23 |
Reporter | martinsiggel | Assigned To | |||
Priority | normal | Severity | crash | ||
Status | closed | Resolution | fixed | ||
Platform | A | OS | L | ||
Product Version | 6.5.3 | ||||
Target Version | 6.6.0 | Fixed in Version | 6.6.0 | ||
Summary | 0023436: BRepOffsetAPI_ThruSections crashes when lofting through identical profiles | ||||
Description | BRepOffsetAPI_ThruSections::build crashes, when trying to loft through 3 similar profiles. An exception StandardConstructionError is thrown from Geom_BSplineSurface::InsertUKnots. The profiles are circles or ellipses, generated with GeomAPI_Interpolate through a set of points. All 3 profiles are the identical, but shifted in z-Direction. Strangely, the crash only occurs for a specific number of points per circle. For this minimal example, these numbers are 7,13,14,19,22 ... Also, the crash only occurs, if ruled = false (No ruled surface). Please see attached the source code for the example, the generated brep file with the profiles and a core dump + the executable. Here, the short version of the code: int numPoints =14; TopoDS_Wire w1 = makeWire(makeEllipse(1.,1.,0.,numPoints, 0., false, true)); TopoDS_Wire w2 = makeWire(makeEllipse(1.,1.,3.,numPoints, 0., false, true)); TopoDS_Wire w3 = makeWire(makeEllipse(1.,1.,6.,numPoints, 0., false, true)); BRepOffsetAPI_ThruSections generator(Standard_True, Standard_False, Precision::Confusion()); generator.AddWire(w1); generator.AddWire(w2); generator.AddWire(w3); generator.CheckCompatibility(Standard_False); // this triggers the crash generator.Build(); Please see the attached code for makeEllipse and makeWire. Interestingly, the code doesn't crash, if one circle is slightly changed, i.e. if we set one ellipse axis parameter to e.g. 1.1. This bug is probably similar to 0022981. | ||||
Steps To Reproduce | Please download the attached example. To reproduce the issue the attached shapes (myloft.brep) can be used. restore myloft.brep s explo s ## s_1 s_2 s_3 - sections; thrusections r 0 0 s_1 s_2 s_3 ==> Exception at Geom_BSplineSurface::InsertUKnots At the same time if requested ruled surface (thrusections r 0 1 ...) or use only two any sections like: thrusections r 0 0 s_1 s_2 thrusections r 0 0 s_1 s_3 thrusections r 0 0 s_2 s_3 the problem is not reproducible (no exception). | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg(006) bug23436 | ||||
|
OCC-LoftTest.tar.gz (784,561 bytes) |
2012-10-31 15:39 manager |
myloft.brep (3,851 bytes) |
|
Attached sections (myloft.brep)to be used to reproduce the issue. The algorithm raises exception: An exception was caught 00977860 : Standard_ConstructionError: Geom_BSplineSurface::InsertUKnots ** Exception ** 00977860 : Standard_ConstructionError: Geom_BSplineSurface::InsertUKnots That is similar to the case 22981. |
|
The branch CR23436 is ready for reviewing. |
|
reviewed |
|
Dear BugMaster, Branch CR23436 (and products from GIT master) was compiled on Linux and Windows platforms and tested. Number of compiler warnings: occt component : Linux: 3 (3 on master) Windows: 57 (57 on master) products component : Linux: 9 (9 on master) Windows: 50 (50 on master) Regressions: No regressions Improvements: No improvements Testing cases: bugs modalg(006) bug23436 - OK Testing on Linux: Total MEMORY difference: 234605272 / 234072044 Total CPU difference: 10526.44000000021 / 9836.770000000413 Testing on Windows: Total MEMORY difference: 331568696 / 330854964 Total CPU difference: 12352.046875 / 12467.984375 There are not serious differences in images found by testdiff. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-09-17 19:25 | martinsiggel | New Issue | |
2012-09-17 19:25 | martinsiggel | Assigned To | => jgv |
2012-09-17 19:25 | martinsiggel | File Added: OCC-LoftTest.tar.gz | |
2012-10-31 15:39 |
|
File Added: myloft.brep | |
2012-10-31 15:44 |
|
Note Added: 0022033 | |
2012-10-31 15:50 |
|
Steps to Reproduce Updated | |
2012-10-31 16:03 |
|
Status | new => assigned |
2013-01-31 11:02 |
|
Note Added: 0023216 | |
2013-01-31 11:02 |
|
Status | assigned => resolved |
2013-01-31 11:02 |
|
Assigned To | jgv => pkv |
2013-01-31 12:27 |
|
Status | resolved => reviewed |
2013-01-31 12:27 |
|
Note Added: 0023217 | |
2013-01-31 12:28 |
|
Assigned To | pkv => mkv |
2013-02-01 15:37 |
|
Note Added: 0023236 | |
2013-02-01 15:37 |
|
Test case number | => bugs modalg(006) bug23436 |
2013-02-01 15:37 |
|
Assigned To | mkv => bugmaster |
2013-02-01 15:37 |
|
Status | reviewed => tested |
2013-02-04 14:47 |
|
Changeset attached | => occt master aadab519 |
2013-02-04 14:47 |
|
Assigned To | bugmaster => jgv |
2013-02-04 14:47 |
|
Status | tested => verified |
2013-02-04 14:47 |
|
Resolution | open => fixed |
2013-02-20 10:19 | bugmaster | Target Version | => 6.6.0 |
2013-02-28 15:16 |
|
Relationship added | related to 0022981 |
2013-04-23 13:35 |
|
Status | verified => closed |
2013-04-29 15:23 |
|
Fixed in Version | => 6.6.0 |