View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0024909 | Community | OCCT:Modeling Algorithms | public | 2014-05-08 13:43 | 2024-01-31 18:42 |
Reporter | shoogen | Assigned To | |||
Priority | normal | Severity | crash | ||
Status | assigned | Resolution | open | ||
Platform | Linux 64-bit | OS | Debian | ||
Product Version | 7.0.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0024909: Modeling Algorithms - SIGSEGV in buildsweep | ||||
Description | Some sweeps cause segmentation faults. The original problem is described http://www.freecadweb.org/tracker/view.php?id=1419 . version tested 73192b374 | ||||
Steps To Reproduce | bugs modalg_7 bug24909_1, bug24909_2, bug24909_3, bug24909_4 | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_7 bug24909_1, bug24909_2, bug24909_3 | ||||
|
sweep3.draw (520 bytes) |
|
sweep3-draw-Sweep-0-spine.brep (2,746 bytes) |
|
sweep3-draw-Sweep-0-section-00-Sketch.brep (3,587 bytes) |
|
sweep3-draw-Sweep-0-section-01-Sketch001.brep (3,635 bytes) |
|
if either of the sections is omitted the sweep returns a result. |
|
the following script reproduces the problem without relying on external BREPs pload ALL circle c1 0 0 0 40 mkedge e1 c1 wire w1 e1 tcopy w1 Sketch002 tcopy w1 Sketch001 renamevar w1 Sketch trotate Sketch 0 0 0 0. 1. 0. 90 ttranslate Sketch 0. 0. 75. trotate Sketch001 0 0 0 0. 1. 0. 90 ttranslate Sketch001 0. 0. -75. ttranslate Sketch002 50. 0. 0. mksweep Sketch002 setsweep -CF addsweep Sketch001 addsweep Sketch buildsweep Sweep #An exception was caught 0x7f61f1538031 : OSD_SIGSEGV: SIGSEGV 'segmentation violation' detected. Address 10 #** Exception ** 0x7f61f1538031 : OSD_SIGSEGV: SIGSEGV 'segmentation violation' detected. Address 10 |
|
minihyd.zip (884 bytes) |
|
#additional example for test case creation #generated by FreeCAD 0.15.4119 +12 (Git) pload MODELING #saved shape of Part::Part2DObjectPython::Draft._BezCurve Object restore minihyd-draw-BezCurve.brep BezCurve ttranslate BezCurve 0 -8 0 explode BezCurve E wire Sweep001-0-spine BezCurve_1 mksweep Sweep001-0-spine setsweep -CF circle Circle-curve 0 0 0 18 mkedge Circle-edge Circle-curve 0 0 wire Circle Circle-edge trotate Circle 0 0 0 0.577350269189625731 0.577350269189625731 0.577350269189625731 120 ttranslate Circle 0 -71 203.5 addsweep Circle circle Circle001-curve 0 0 0 16 mkedge Circle001-edge Circle001-curve 0 0 wire Circle001 Circle001-edge trotate Circle001 0 0 0 0.577350269189625731 0.577350269189625731 0.577350269189625731 120 ttranslate Circle001 0 -71 203.5 addsweep Circle001 buildsweep Sweep001 -C -S donly Sweep001 #SIGSEGV, Segmentation fault. #0x00007fff8aab9559 in GeomFill_Array1OfSectionLaw::Value (this=0x10, Index=1) # at occt-eb46b12/inc/TCollection_Array1.lxx:119 #119 Standard_OutOfRange_Raise_if((Index < myLowerBound || Index > myUpperBound),NULL); |
|
The test case sweep3.draw seems to be affected by 0025453 it does not longer create a sigsegv but a faulty shape > checkshape Sweep On Shape faulty_1 : BRepCheck_UnorientableShape Shape faulty_2 on shape faulty_1 : BRepCheck_BadOrientationOfSubshape On Shape faulty_3 : BRepCheck_UnorientableShape Shape faulty_4 on shape faulty_3 : BRepCheck_BadOrientationOfSubshape Faulty shapes in variables faulty_1 to faulty_4 But the other two examples (minihyd and from c29262) still create a SIGSEGV |
|
I got a new user report that generates a similar stacktrace. (DRAWEXE example included in sweep-arc2.zip) |
|
sweep-arc2.zip (2,152 bytes) |
|
sweep-negpara1.zip (3,230 bytes) |
|
I got a new user report that generates a similar stacktrace. (DRAWEXE example included in sweep-negpara1.zip) it involves an ellipse with negative parameter range: "mkedge Ellipse-edge Ellipse-curve 3.141592653589793 0" Program received signal SIGSEGV, Segmentation fault. 0x00007f97c7135eb1 in GeomFill_Array1OfSectionLaw::Value (this=0x10, Index=1) at occt/inc/TCollection_Array1.lxx:119 119 Standard_OutOfRange_Raise_if((Index < myLowerBound || Index > myUpperBound),NULL); |
|
Problem described in issue is reproduced on current state of OCCT. |
|
Also we have an exception on following script (trying to sweep line along circle if line starts from circle's center): pload ALL circle c1 0 0 0 40 mkedge e1 c1 wire w1 e1 line l1 0 0 0 0 0 20 mkedge e2 l1 0 10 wire w2 e2 mksweep w1 addsweep w2 buildsweep sw1 |
|
Branch CR24909 has been created by asuraven. SHA-1: 3f6ba809a53935bbf6949565f7c16b2ffc44e495 Detailed log of new commits: Author: asuraven Date: Mon Jan 17 11:42:16 2022 +0300 0024909: Modeling Algorithms - SIGSEGV in buildsweep Change NCollection_DataMap NCollection_IndexedDataMap to avoid undefined behavior in BRepFill_CompatibleWires::SameNumberByPolarMethod() Correction in BRepFill_PipeShell::Prepare() |
|
Branch CR24909 has been updated forcibly by akondrat. SHA-1: c8338b6e9102ee7ba83318828b93ed85dbaa75f6 |
|
Branch CR24909 has been updated forcibly by akondrat. SHA-1: 2dfcbad9f5934835b489195773694f508921ac25 |
|
Branch CR24909 has been updated forcibly by akondrat. SHA-1: 53bce82008b2e83f605255d4a336954c86a8562a |
|
Branch CR24909 has been updated forcibly by akondrat. SHA-1: 4b2a0e8e4916cc32b55ed4965fc4f4540e52ca50 |
|
Branch CR24909 has been updated by akondrat. SHA-1: e37b9225dae8333152edcab09794c3a27e00f91a Detailed log of new commits: Author: akondrat Date: Wed Aug 10 13:45:58 2022 +0300 0024909: Modeling Algorithms - SIGSEGV in buildsweep Update algorithm. |
|
- for (ii=1; ii<=Ext.NbExt(); ii++) { + for (ii=1; ii<Ext.NbExt(); ii++) { Why do you ignore the last solution? |
|
Branch CR24909 has been updated forcibly by akondrat. SHA-1: 1f553d5e9237e137fd87efc2183802b70d909277 |
|
Branch CR24909 has been updated forcibly by akondrat. SHA-1: 96d4000f3b0f9ea868af7ce490d476ccc28726ff |
|
Wrong indentation (when using tab size 8):(U2 >= Ut21 - RealEpsilon()) && (U2 <= Ut22 + RealEpsilon())) { Val = AlgExt.SquareDistance(i); + if (mypoints.IsEmpty()) + mySqDist.Clear(); mySqDist.Append(Val); if (!theIsInverse) The same is in the file BRepFill_CompatibleWires.cxx, line 1159. src/TopTools/TopTools_IndexedDataMapOfShapeListOfShape.hxx Changes in this file bring inconsistency with other TopTools_Indexed*.hxx files. I propose to revert it and use TopTools_IndexedDataMapOfShapeListOfShape::Iterator where it is needed. Why the new version passes map parameter by value? static Standard_Boolean SearchRoot (const TopoDS_Vertex& V, - const TopTools_DataMapOfShapeListOfShape& Map, - TopoDS_Vertex& VRoot) + const TopTools_IndexedDataMapOfShapeListOfShape Map, + TopoDS_Vertex& VRoot) This code (line 1000) looks overcomplicated, taking into account that Init is an empty list: TopTools_ListOfShape* aShapeList = RMap.ChangeSeek(Vi); if (!aShapeList) aShapeList = &RMap(RMap.Add(Vi, Init)); aShapeList->Append(Init); Here (line 1041), aShapeList may take duplicated shape Vi. TopTools_ListOfShape* aShapeList = MapVLV.ChangeSeek(Vi); if (!aShapeList) aShapeList = &MapVLV(MapVLV.Add(Vi, Init)); aShapeList->Append(Init); |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-05-08 13:43 | shoogen | New Issue | |
2014-05-08 13:43 | shoogen | Assigned To | => ifv |
2014-05-08 13:43 | shoogen | File Added: sweep3.draw | |
2014-05-08 13:44 | shoogen | File Added: sweep3-draw-Sweep-0-spine.brep | |
2014-05-08 13:45 | shoogen | File Added: sweep3-draw-Sweep-0-section-00-Sketch.brep | |
2014-05-08 13:45 | shoogen | File Added: sweep3-draw-Sweep-0-section-01-Sketch001.brep | |
2014-05-08 13:53 | shoogen | Note Added: 0029255 | |
2014-05-08 18:08 | shoogen | Note Added: 0029262 | |
2014-05-22 06:49 |
|
Relationship added | has duplicate 0024906 |
2014-09-12 14:16 |
|
Target Version | => 7.1.0 |
2014-10-18 19:23 | shoogen | File Added: minihyd.zip | |
2014-10-18 19:28 | shoogen | Note Added: 0033302 | |
2014-12-01 23:28 | shoogen | Note Added: 0034897 | |
2014-12-01 23:34 | shoogen | Note Edited: 0034897 | |
2014-12-01 23:36 | shoogen | Note Edited: 0034897 | |
2014-12-01 23:39 | shoogen | Note Edited: 0034897 | |
2015-01-17 19:04 | shoogen | Note Added: 0036177 | |
2015-01-17 19:04 | shoogen | File Added: sweep-arc2.zip | |
2015-01-17 19:05 | shoogen | Note Edited: 0036177 | |
2015-03-20 12:50 | shoogen | File Added: sweep-negpara1.zip | |
2015-03-20 12:54 | shoogen | Note Added: 0038725 | |
2016-10-28 11:54 |
|
Target Version | 7.1.0 => 7.2.0 |
2017-07-21 11:34 |
|
Target Version | 7.2.0 => 7.3.0 |
2017-08-01 13:24 |
|
Test case number | => bugs modalg_7 bug24909_1, bug24909_2, bug24909_3 |
2017-08-01 13:24 |
|
Note Added: 0069017 | |
2017-12-05 17:01 |
|
Target Version | 7.3.0 => 7.4.0 |
2019-08-12 16:37 |
|
Target Version | 7.4.0 => 7.5.0 |
2020-09-14 22:56 |
|
Target Version | 7.5.0 => 7.6.0 |
2021-08-26 17:06 |
|
Assigned To | ifv => asuraven |
2021-08-26 17:06 |
|
Status | new => assigned |
2021-08-29 20:08 |
|
Target Version | 7.6.0 => 7.7.0 |
2021-08-30 20:34 |
|
Note Added: 0103561 | |
2021-11-27 11:58 | kgv | Summary | SIGSEGV in buildsweep => Modeling Algorithms - SIGSEGV in buildsweep |
2021-11-27 11:59 | kgv | Product Version | => 7.0.0 |
2022-01-11 17:56 |
|
Time allocated | 11.1.2022: 2 h. => set |
2022-01-14 17:16 |
|
Time allocated | 12.1.2022: 5 h. => set |
2022-01-14 17:16 |
|
Time allocated | 13.1.2022: 8 h. => set |
2022-01-24 12:12 |
|
Time allocated | 20.1.2022: 8 h. => set |
2022-01-24 12:12 |
|
Time allocated | 19.1.2022: 8 h. => set |
2022-01-26 14:33 | git | Note Added: 0106605 | |
2022-01-28 17:54 |
|
Time allocated | 25.1.2022: 8 h. => set |
2022-01-28 17:55 |
|
Time allocated | 27.1.2022: 2.4 h. => set |
2022-06-14 09:00 |
|
Assigned To | asuraven => akondrat |
2022-06-23 11:13 | git | Note Added: 0109198 | |
2022-07-19 09:37 | git | Note Added: 0109873 | |
2022-07-26 09:55 | git | Note Added: 0109992 | |
2022-08-09 14:40 | git | Note Added: 0110155 | |
2022-08-10 13:46 | git | Note Added: 0110166 | |
2022-08-11 14:48 |
|
Assigned To | akondrat => msv |
2022-08-11 14:50 |
|
Status | assigned => resolved |
2022-08-11 14:50 |
|
Steps to Reproduce Updated | |
2022-08-11 16:18 |
|
Note Added: 0110195 | |
2022-08-11 16:18 |
|
Assigned To | msv => akondrat |
2022-08-11 16:18 |
|
Status | resolved => assigned |
2022-08-12 14:23 | git | Note Added: 0110216 | |
2022-08-18 08:27 | git | Note Added: 0110274 | |
2022-08-22 13:28 |
|
Assigned To | akondrat => msv |
2022-08-22 13:28 |
|
Status | assigned => resolved |
2022-08-30 14:25 |
|
Note Added: 0110445 | |
2022-08-30 14:26 |
|
Assigned To | msv => akondrat |
2022-08-30 14:26 |
|
Status | resolved => assigned |
2022-10-24 10:40 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:08 | dpasukhi | Target Version | 7.8.0 => Unscheduled |