View Issue Details

IDProjectCategoryView StatusLast Update
0023360Open CASCADEOCCT:Modeling Algorithmspublic2013-12-19 13:58
ReporterskiAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformAOSL 
Product Version6.5.4 
Target Version6.7.0Fixed in Version6.7.0 
Summary0023360: Testcases for command mkoffset produce different results on different versions of OCCT
Descriptionon 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
     
     
     
TagsNo tags attached.
Test case numberoffset 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

Activities

abv

2012-07-27 19:27

manager   ~0021175

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.9999999999999984e-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.5511151231257827e-017 double

abv

2013-03-02 11:33

manager   ~0023564

Current master (at least on Windows vc9 32-bit) yields exception Out Of Range (test cases are BAD)

abv

2013-09-27 09:12

manager   ~0025761

I have experienced this problem in all recent runs on C3 cases (rather than C4)

nbv

2013-09-30 16:53

developer   ~0025802

CR23360 is ready to review

nbv

2013-09-30 16:56

developer   ~0025803

Last edited: 2013-09-30 16:59

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).

ifv

2013-09-30 17:15

developer   ~0025804

Ok

mkv

2013-10-02 09:13

tester   ~0025831

Last edited: 2013-10-02 09:15

Dear BugMaster,

Branch CR23360 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: f922a60e5a8bbd3957eefbc0797c2575d46dd90e

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.

nbv

2013-10-02 09:48

developer   ~0025832

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.

ifv

2013-10-02 09:56

developer   ~0025833

Ok

mkv

2013-10-03 12:03

tester   ~0025865

Dear BugMaster,

Test cases are corrected.
CR23360 is TESTED.

Related Changesets

occt: master 91bb31f3

2013-10-03 10:30:18

nbv


Committer: bugmaster Details Diff
0023360: Test cases for command mkoffset produce different results on different versions of OCCT

1. Function QuasiFleche(...) does not call for small edges.
2. Forbid to work with NULL-shapes in OffsetWire::FixHoles(...) function.
3. ProjOnCurve(...) function in Bisector_BisecCC.cxx file returns status (DONE or NOT DONE).
Affected Issues
0023360
mod - src/Bisector/Bisector_BisecCC.cxx Diff File
mod - src/BRepFill/BRepFill_OffsetWire.cxx Diff File
mod - tests/bugs/modalg_4/bug62 Diff File
mod - tests/offset/wire_unclosed_outside_0_005/C3 Diff File
mod - tests/offset/wire_unclosed_outside_0_005/C4 Diff File
mod - tests/offset/wire_unclosed_outside_0_025/C3 Diff File
mod - tests/offset/wire_unclosed_outside_0_025/C4 Diff File
mod - tests/offset/wire_unclosed_outside_0_075/C3 Diff File
mod - tests/offset/wire_unclosed_outside_0_075/C4 Diff File

Issue History

Date Modified Username Field Change
2012-07-27 16:21 ski New Issue
2012-07-27 16:21 ski Assigned To => jgv
2012-07-27 19:27 abv Note Added: 0021175
2012-07-27 19:27 abv Status new => assigned
2012-10-21 11:46 abv Target Version 6.5.4 => 6.6.0
2013-03-02 11:33 abv Note Added: 0023564
2013-03-02 11:33 abv Target Version 6.6.0 => 6.7.0
2013-09-14 14:32 abv Assigned To jgv => ifv
2013-09-27 09:12 abv Note Added: 0025761
2013-09-27 15:35 ifv Assigned To ifv => nbv
2013-09-30 16:53 nbv Note Added: 0025802
2013-09-30 16:53 nbv Assigned To nbv => ifv
2013-09-30 16:53 nbv Status assigned => resolved
2013-09-30 16:56 nbv Note Added: 0025803
2013-09-30 16:59 nbv Note Edited: 0025803
2013-09-30 17:15 ifv Note Added: 0025804
2013-09-30 17:15 ifv Status resolved => reviewed
2013-10-01 09:57 mkv Assigned To ifv => mkv
2013-10-02 09:13 mkv Note Added: 0025831
2013-10-02 09:15 mkv Note Edited: 0025831
2013-10-02 09:17 mkv Test case number => 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
2013-10-02 09:17 mkv Assigned To mkv => nbv
2013-10-02 09:17 mkv Status reviewed => assigned
2013-10-02 09:48 nbv Note Added: 0025832
2013-10-02 09:48 nbv Assigned To nbv => ifv
2013-10-02 09:48 nbv Status assigned => resolved
2013-10-02 09:56 ifv Note Added: 0025833
2013-10-02 09:56 ifv Status resolved => reviewed
2013-10-02 10:44 mkv Assigned To ifv => mkv
2013-10-03 12:03 mkv Note Added: 0025865
2013-10-03 12:03 mkv Assigned To mkv => bugmaster
2013-10-03 12:03 mkv Status reviewed => tested
2013-10-04 12:48 bugmaster Changeset attached => occt master 91bb31f3
2013-10-04 12:48 bugmaster Status tested => verified
2013-10-04 12:48 bugmaster Resolution open => fixed
2013-12-19 13:52 bugmaster Status verified => closed
2013-12-19 13:58 bugmaster Fixed in Version => 6.7.0