DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0023360

Testcases for command mkoffset produce different results on different versions of OCCT

Open CASCADEOCCT:Modeling Algorithmsclosed10 public notes

Search issues

Description

on OCCT653 in testcases ( from new testing tool ):

offset / wire_unclosed_outside_0_005 / C4
offset / wire_unclosed_outside_0_025 / C4
offset / wire_unclosed_outside_0_075 / C4

an exception was catch only on
     Madriva2008
     Mandriva2010
and on current version of OCCT an exception was catch also on all other operation systems except Debian40
     
     
     

Public activity

10 archived notes

Participants are labeled by their role within this record.

01Commenter 1
The tests are unstable; on my workstation (Windows 7 64-bit, OCCT built by vc9 32-bit) usually first run fails with null shape, second run fails with STACK_OVERFLOW exception caught by DRAW, and third run crashes DRAW.

Stack overflow occurs via infinite recursion in BRepFill_OffsetWire.cxx, static function QuasiFleche(), seemingly because of extremely small difference between Udeb and Ufin:

+ C {...} const Adaptor3d_Curve &
        Deflection2 7.4613654025000020 const double
        Udeb 0.99997926662521197 const double
+ Pdeb {890000, 2.29631e+006, 3878.07} const gp_Pnt &
+ Vdeb {0, -5.16886e+015, -4.18143e+013} const gp_Vec &
        Ufin 0.99997926662521208 const double
+ Pfin {890000, 2.02713e+006, 1529.26} const gp_Pnt &
+ Vfin {0, 6.39541e+011, 6.0687e+010} const gp_Vec &
        Nbmin 3 const int
        Eps 9.[revision removed]-015 const double
+ Parameters {size=1 curr=1} TColStd_SequenceOfReal &
+ Points {size=1 curr=1} TColgp_SequenceOfPnt &
        theFleche 4520470471.0078182 double
+ Pdelta {890000, 2.02713e+006, 1529.26} gp_Pnt
        flecheok 1 unsigned int
        Norme 72463048296.483063 double
+ Vdelta {0, 6.39541e+011, 6.0687e+010} gp_Vec
        Ptslength 1 int
        Udelta 5.[revision removed]-017 double
02Commenter 2
Current master (at least on Windows vc9 32-bit) yields exception Out Of Range (test cases are BAD)
03Commenter 3
I have experienced this problem in all recent runs on C3 cases (rather than C4)
04Commenter 4
CR23360 is ready to review
05Commenter 5
Results of tests C3 and C4 for above pointed testgrids are corrected.

These tests should be amended according to it new behavior (if we will not have new regressions).

06Commenter 6
Ok
07Commenter 7
Dear Commenter 1,

Branch CR23360 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]

Number of compiler warnings:

occt component :
Linux: 423 (426 on master)
Windows: 24 (24 on master)

products component :
Linux: 189 (190 on master)
Windows: 287 (287 on master)

Regressions/Differences:

http://occt-tests/CR23360-master-occt/Debian60-64/offset/wire_unclosed_outside_0_005/C3.html
http://occt-tests/CR23360-master-occt/Windows-32-VC9/offset/wire_unclosed_outside_0_005/C3.html
offset wire_unclosed_outside_0_005(013) C3 - FAILED, non stable; it is necessary to add new TODO

http://occt-tests/CR23360-master-occt/Debian60-64/offset/wire_unclosed_outside_0_025/C3.html
http://occt-tests/CR23360-master-occt/Windows-32-VC9/offset/wire_unclosed_outside_0_025/C3.html
offset wire_unclosed_outside_0_025(014) C3 - FAILED, non stable; it is necessary to add new TODO

http://occt-tests/CR23360-master-occt/Debian60-64/offset/wire_unclosed_outside_0_075/C3.html
http://occt-tests/CR23360-master-occt/Windows-32-VC9/offset/wire_unclosed_outside_0_075/C3.html
offset wire_unclosed_outside_0_075(015) C3 - FAILED, non stable; it is necessary to add new TODO

Testing cases:
offset wire_unclosed_outside_0_005(013) C3, C4
offset wire_unclosed_outside_0_025(014) C3, C4
offset wire_unclosed_outside_0_075(015) C3, C4
(All C4 test cases are OK. All TODO will be deleted in these test cases).

Testing on Linux:
Total MEMORY difference: 366699240 / 366088860
Total CPU difference: 43115.390000001426 / 44690.70000000131

Testing on Windows:
Total MEMORY difference: 433106544 / 433294312
Total CPU difference: 38278.265625 / 34606.671875

There are not differences in images found by testdiff.

08Commenter 8
Set of "TODO" for C3 test must adjust so:
   TODO ?OCC23068 ALL: Error : The offset cannot be built.
   TODO ?OCC23068 ALL: An exception was caught
   TODO ?OCC23068 ALL: Error: Offset is not done.
All unused "TODO" must be deleted.

For C4 tests all "TODO" must be deleted.

It accords to new behavior these test cases.
09Commenter 9
Ok
10Commenter 10
Dear Commenter 1,

Test cases are corrected.
CR23360 is TESTED.