View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0023838 | Community | OCCT:Modeling Data | public | 2013-03-19 19:37 | 2019-04-08 12:18 |
Reporter | Mauro Mariotti | Assigned To | apn | ||
Priority | normal | Severity | crash | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2010 | ||
Product Version | 6.5.3 | ||||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0023838: Modeling Data - Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell) | ||||
Description | Making a sweep with an offset surface as a spine support, the evaluation of high order derivatives crashes. This is the call stack: TKernel.dll!Standard_OutOfRange::Raise(const char * const AString=0x0000000000000000) Line 12 + 0xc7 bytes C++ TKG3d.dll!derivatives(int MaxOrder=0, int MinOrder=1, const double U=100.00000000000000, const double V=-6.7871042119804770e-011, const Handle_Geom_Surface & basisSurf={...}, const int Nu=1, const int Nv=2, const unsigned int AlongU=0, const unsigned int AlongV=0, const Handle_Geom_BSplineSurface & L={...}, TColgp_Array2OfVec & DerNUV={...}, TColgp_Array2OfVec & DerSurf={...}) Line 195 + 0xde bytes C++ TKG3d.dll!Geom_OffsetSurface::SetDN(const double U=100.00000000000000, const double V=-6.7871042119804770e-011, const int Nu=1, const int Nv=2, const gp_Vec & D1U={...}, const gp_Vec & D1V={...}) Line 1890 C++ TKG3d.dll!Geom_OffsetSurface::LocalDN(const double U=100.00000000000000, const double V=-6.7871042119804770e-011, const int USide=-1, const int VSide=0, const int Nu=1, const int Nv=2) Line 970 + 0x57 bytes C++ TKG3d.dll!GeomAdaptor_Surface::DN(const double U=100.00000000000000, const double V=-6.7871042119804770e-011, const int Nu=1, const int Nv=2) Line 776 + 0x5b bytes C++ TKBRep.dll!BRepAdaptor_Surface::DN(const double U=100.00000000000000, const double V=-6.7871042119804770e-011, const int Nu=1, const int Nv=2) Line 285 + 0x5e bytes C++ TKGeomAlgo.dll!NormalD1(const double U=100.00000000000000, const double V=-6.7871042119804770e-011, const Handle_Adaptor3d_HSurface & Surf={...}, gp_Dir & Normal={...}, gp_Vec & D1UNormal={...}, gp_Vec & D1VNormal={...}) Line 172 + 0x7a bytes C++ TKGeomAlgo.dll!GeomFill_Darboux::D1(const double Param=0.00000000000000000, gp_Vec & Tangent={...}, gp_Vec & DTangent={...}, gp_Vec & Normal={...}, gp_Vec & DNormal={...}, gp_Vec & BiNormal={...}, gp_Vec & DBiNormal={...}) Line 330 C++ TKGeomAlgo.dll!GeomFill_CurveAndTrihedron::D1(const double Param=0.00000000000000000, gp_Mat & M={...}, gp_Vec & V={...}, gp_Mat & DM={...}, gp_Vec & DV={...}, TColgp_Array1OfPnt2d & __formal={...}, TColgp_Array1OfPnt2d & __formal={...}) Line 154 + 0x8d bytes C++ TKGeomAlgo.dll!GeomFill_SweepFunction::D1(const double Param=0.00000000000000000, const double __formal=0.00000000000000000, const double __formal=0.00000000000000000, TColgp_Array1OfPnt & Poles={...}, TColgp_Array1OfVec & DPoles={...}, TColgp_Array1OfPnt2d & Poles2d={...}, TColgp_Array1OfVec2d & DPoles2d={...}, TColStd_Array1OfReal & Weigths={...}, TColStd_Array1OfReal & DWeigths={...}) Line 103 + 0xb2 bytes C++ TKGeomBase.dll!Approx_SweepApproximation::Perform(const double First=0.00000000000000000, const double Last=100.00000000000000, const double Tol3d=0.00010000000000000000, const double BoundTol=0.00010000000000000000, const double Tol2d=1.0000000000000001e-005, const double TolAngular=0.010000000000000000, GeomAbs_Shape Continuity=GeomAbs_C1, const int Degmax=11, const int Segmax=30) Line 196 + 0x145 bytes C++ TKGeomAlgo.dll!GeomFill_Sweep::BuildAll(GeomAbs_Shape Continuity=GeomAbs_C1, const int Degmax=11, const int Segmax=30) Line 272 C++ TKGeomAlgo.dll!GeomFill_Sweep::Build(const Handle_GeomFill_SectionLaw & Section={...}, GeomFill_ApproxStyle Methode=GeomFill_Location, GeomAbs_Shape Continuity=GeomAbs_C1, const int Degmax=11, const int Segmax=30) Line 229 + 0x24 bytes C++ TKBool.dll!BRepFill_Sweep::BuildShell(BRepFill_TransitionStyle __formal=BRepFill_Round, const int IFirst=1, const int ILast=2, const double ExtendFirst=0.00000000000000000, const double ExtendLast=0.00000000000000000) Line 2007 C++ TKBool.dll!BRepFill_Sweep::Build(BRepFill_TransitionStyle Transition=BRepFill_Round, GeomFill_ApproxStyle Approx=GeomFill_Location, GeomAbs_Shape Continuity=GeomAbs_C2, const int Degmax=11, const int Segmax=30) Line 2534 + 0x41 bytes C++ TKBool.dll!BRepFill_PipeShell::Build() Line 636 C++ | ||||
Steps To Reproduce | Unzip the attached file and give the following commands in DRAW. restore profile.brep prof restore SpineAndSupport.brep comp explode comp renamevar comp_1 supp renamevar comp_2 spine mksweep spine setsweep -DX supp addsweep prof buildsweep r -R | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_7 bug23838 | ||||
|
SweepData.zip (5,460 bytes) |
|
Problem described in issue is reproduced on current state of OCCT. |
|
Branch CR23838 has been created by kgv. SHA-1: 9ef9fc3995c4290030ef2a5d1d702eef0a7b4173 Detailed log of new commits: Author: kgv Date: Sat Mar 16 16:08:27 2019 +0300 0023838: Modeling Data - Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell) Fixed incorrect array allocation within GeomEvaluator_OffsetSurface::CalculateDN() and protection against assigning out-of-range values in case of non-square number of U and V derivatives on surface. |
|
Patch is ready for review. http://jenkins-test-12.nnov.opencascade.com:8080/view/CR23838-master-KGV/ |
|
Please analyze diff in image on products linux: IMAGE sat read_parallel_1 E2: E2.png differs |
|
I've tested this patch in scope of another branch, and there is no such image difference: http://occt-tests/CR29181_2-CR29181_2-KGV-Products/Debian80-64/sat/read_parallel_1/E2.html So I believe that the problem is at different location and test case is unstable. |
|
Reviewed. |
|
Combination - OCCT branch : CR23838 master SHA - 9ef9fc3995c4290030ef2a5d1d702eef0a7b4173 d67d4b811012eef8913d3c535c29654d0acf3c4c Products branch : master SHA - 19cf12d4f918562ea1456aa224c6f7a64b9c4ad7 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: 16585.60000000006 / 16599.24999999996 [-0.08%] Products Total CPU difference: 9077.840000000033 / 9092.71000000004 [-0.16%] Windows-64-VC14: OCCT Total CPU difference: 18009.203125 / 17985.28125 [+0.13%] Products Total CPU difference: 10469.625 / 10460.953125 [+0.08%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR23838 has been deleted by inv. SHA-1: 9ef9fc3995c4290030ef2a5d1d702eef0a7b4173 |
occt: master cb6cad7d 2019-03-16 13:08:27 Committer: apn Details Diff |
0023838: Modeling Data - Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell) Fixed incorrect array allocation within GeomEvaluator_OffsetSurface::CalculateDN() and protection against assigning out-of-range values in case of non-square number of U and V derivatives on surface. |
Affected Issues 0023838 |
|
mod - src/GeomEvaluator/GeomEvaluator_OffsetSurface.cxx | Diff File | ||
mod - tests/bugs/modalg_7/bug23838 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-03-19 19:37 | Mauro Mariotti | New Issue | |
2013-03-19 19:37 | Mauro Mariotti | Assigned To | => jgv |
2013-03-19 19:37 | Mauro Mariotti | File Added: SweepData.zip | |
2017-08-03 17:09 |
|
Test case number | => bugs modalg_7 bug23838 |
2017-08-03 17:09 |
|
Note Added: 0069090 | |
2019-03-16 16:10 | kgv | Relationship added | has duplicate 0030586 |
2019-03-16 16:11 | kgv | Summary | Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell) => Modeling Data - Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell) |
2019-03-16 16:14 | git | Note Added: 0083020 | |
2019-03-16 16:17 | kgv | Target Version | => 7.4.0 |
2019-03-16 17:48 | kgv | Note Added: 0083023 | |
2019-03-16 17:48 | kgv | Assigned To | jgv => msv |
2019-03-16 17:48 | kgv | Priority | urgent => normal |
2019-03-16 17:48 | kgv | Status | new => resolved |
2019-03-18 12:52 |
|
Note Added: 0083042 | |
2019-03-18 12:52 |
|
Assigned To | msv => kgv |
2019-03-18 12:52 |
|
Status | resolved => assigned |
2019-03-19 07:51 | kgv | Note Added: 0083064 | |
2019-03-19 09:53 | kgv | Assigned To | kgv => msv |
2019-03-19 09:53 | kgv | Status | assigned => feedback |
2019-03-19 10:04 |
|
Note Added: 0083071 | |
2019-03-19 10:04 |
|
Assigned To | msv => bugmaster |
2019-03-19 10:04 |
|
Status | feedback => reviewed |
2019-03-19 12:09 | apn | Note Added: 0083106 | |
2019-03-19 12:09 | apn | Status | reviewed => tested |
2019-03-24 18:54 | apn | Changeset attached | => occt master cb6cad7d |
2019-03-24 18:54 | apn | Assigned To | bugmaster => apn |
2019-03-24 18:54 | apn | Status | tested => verified |
2019-03-24 18:54 | apn | Resolution | open => fixed |
2019-04-08 12:18 | git | Note Added: 0083501 |