DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0031782

Modeling Algorithms - Regressions on VS 2019 (vc142) on fillet tests

Open CASCADEOCCT:Modeling Algorithmsclosed5 public notes

Search issues

Description

When running OCCT tests with binaries built with VS 2019, I observe a set of regressions, most of which seem to be related to fillets.

The list of relevant tests is:
blend complex 	A8 	E5 	F1
blend simple 	B3 	H7 	L8 	M4 	M5 	N1 	N2 	N8 	O2 	O7 	R7
bugs modalg_2 	bug426
demo samples 	bottle 	raytrace
draft angle 	C3 	C4 	C5


Note that reasons of failure are different:

- Exception Standard_ConstructionError: Geom2d_TrimmedCurve::U1 == U2: blend complex A8, F1
- Silent crash (likely exception is silently caught in ChFi3d_Builder::Compute(), then DRAW command blend returns 1 breaking the script): blend simple B3, L8, M4, M5, N1, N2, O2, O7, demo samples bottle, raytrace, draft angle C3, C4, C5
- Checkshape faulties: blend complex E5, blend simple H7, N8, R7, bugs modalg_2 bug426

Alas, the problem is reproduced only in Release build, which suggests that possible reason could be uninitialized variable.

Steps to reproduce

Not required

Additional information

Trying to run test blend simple B3 under debugger (Release with debug info), I get exception Standard_ConstructionError in GeomAdaptor_Surface::Load(), in condition (UFirst>ULast || VFirst>VLast). Unfortunately, debugger does not allow inspecting values of these variables...

Stack trace:
>	[Inline Frame] TKFillet.dll!GeomAdaptor_Surface::Load(const opencascade::handle<Geom_Surface> &) Line 94	C++
     [Inline Frame] TKFillet.dll!GeomAdaptor_Surface::{ctor}(const opencascade::handle<Geom_Surface> & S, const double) Line 61	C++
     TKFillet.dll!ChFi3d_FilBuilder::PerformThreeCorner(const int Jndex) Line 410	C++
     TKFillet.dll!ChFi3d_Builder::PerformFilletOnVertex(const int Index) Line 781	C++
     TKFillet.dll!ChFi3d_Builder::Compute() Line 294	C++
     TKFillet.dll!BRepFilletAPI_MakeFillet::Build() Line 534	C++
     TKTopTest.dll!BLEND(Draw_Interpretor & di, int narg, const char * * a) Line 180	C++

Public activity

5 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: ifv
Date: Thu Oct 22 15:28:40 2020 +0300

    0031782: Modeling Algorithms - Regressions on VS 2019 (vc142) on fillet tests
    
    ChFiKPart_ComputeData_FilPlnCyl.cxx - rewriting some code to avoid "extra" optimization
02Commenter 2
Branch CR31782 is ready for review

Branches for integration
OCCT - CR31782
Products - not
03Commenter 3
Reviewed.

Branches for integration
OCCT - CR31782
Products - not
04Commenter 1
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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: 18000.12000000008 / 18036.38000000013 [-0.20%]
Products
Total CPU difference: 12171.670000000115 / 12174.520000000093 [-0.02%]
Windows-64-VC14:
OCCT
Total CPU difference: 19723.78125 / 19746.3125 [-0.11%]
Products
Total CPU difference: 13538.390625 / 13565.046875 [-0.20%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
05Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records