Archived issue #0023547
Tests failures in debug mode
Description
About 10 tests exhibit failure in debug mode on Windows (in my case built with VC9, 32-bit, run on Windows 7 64-bit) due to reporting floating point errors, out-of-range and other exceptions, and even crashes (like #23535).
Steps to reproduce
boolean bsection N4 N6 N7
bugs demo CR23416
bugs modalg CR23429
chamfer equal_dist_sequence A5
heal split_angle_advanced H5
heal split_continuity_advanced W6
heal surface_to_revolution_advanced W6 Y5
offset faces_type_i E8 J7 M5 M7
offset shape_type_i C6 F6 G6
offset wire_closed_outside_0_005 D3
offset wire_closed_outside_0_025 D3
offset wire_closed_outside_0_075 D3
bugs demo CR23416
bugs modalg CR23429
chamfer equal_dist_sequence A5
heal split_angle_advanced H5
heal split_continuity_advanced W6
heal surface_to_revolution_advanced W6 Y5
offset faces_type_i E8 J7 M5 M7
offset shape_type_i C6 F6 G6
offset wire_closed_outside_0_005 D3
offset wire_closed_outside_0_025 D3
offset wire_closed_outside_0_075 D3
Public activity
34 archived notes
Participants are labeled by their role within this record.
For failure of bugs demo CR23416, specific issue exists: #23535
Test chamfer equal_dist_sequence A5 fails due to uninitialized variables in Debug mode, separate issue #0023604 is created for this problem
Problems with tests:
heal split_continuity_advanced W6
heal surface_to_revolution_advanced W6 Y5
are fixed in issue #0023615
heal split_continuity_advanced W6
heal surface_to_revolution_advanced W6 Y5
are fixed in issue #0023615
Problem with
bugs demo CR23416
is liquidated by changes described in #23535.
bugs demo CR23416
is liquidated by changes described in #23535.
Same problem is detected with tests
bugs iges bug133_6
heal fix_face_size B5
Test heal surface_to_bspline A2 A6 A7 A9 B1 B2 B3 B5 B7 B8 B9 C1 C5 C6 C7 D1 D2 D3 D4 D5 D6 D7 D8 E2 E3 E5 E7 E8 E9 F1 F2 F4 F5 F7 F8 G2
heal split_angle_advanced H5
bugs iges bug133_6
heal fix_face_size B5
Test heal surface_to_bspline A2 A6 A7 A9 B1 B2 B3 B5 B7 B8 B9 C1 C5 C6 C7 D1 D2 D3 D4 D5 D6 D7 D8 E2 E3 E5 E7 E8 E9 F1 F2 F4 F5 F7 F8 G2
heal split_angle_advanced H5
New case found on recently integrated tests: bugs modalg buc60744, see #0023627
boolean bsection N4 N6 N7 are fixed.
bugs demo CR23416 is fixed.
offset faces_type_i E8 J7 M5 M7
offset shape_type_i C6 F6 G6
There is instability. In DEBUG mode it works with varied success. But all right in RELEASE mode. It needs to fix.
offset wire_closed_outside_0_005 D3
offset wire_closed_outside_0_025 D3
offset wire_closed_outside_0_075 D3
are fixed.
CR23547 is pushed.
bugs demo CR23416 is fixed.
offset faces_type_i E8 J7 M5 M7
offset shape_type_i C6 F6 G6
There is instability. In DEBUG mode it works with varied success. But all right in RELEASE mode. It needs to fix.
offset wire_closed_outside_0_005 D3
offset wire_closed_outside_0_025 D3
offset wire_closed_outside_0_075 D3
are fixed.
CR23547 is pushed.
offset faces_type_i B2 M5 M7
offset shape_type_i C6 F6 G6
Different behavior in Debug and Release modes.
offset shape_type_i C6 F6 G6
Different behavior in Debug and Release modes.
Additional failures on recently added tests, to consider:
bugs iges bug133_6: debug output " Exception in IGESToBRep_BasicCurve::TransferBasicCurve"
bugs modalg bug770: CPU limit
bugs modalg bug827_1: exception
bugs xde bug810: debug output "Warning: ShapeFix_Edge: Exception in SameParameter"
bugs iges bug133_6: debug output " Exception in IGESToBRep_BasicCurve::TransferBasicCurve"
bugs modalg bug770: CPU limit
bugs modalg bug827_1: exception
bugs xde bug810: debug output "Warning: ShapeFix_Edge: Exception in SameParameter"
boolean bsection N4 N6 N7 are fixed.
bugs demo CR23416 is fixed.
offset wire_closed_outside_0_005 D3
offset wire_closed_outside_0_025 D3
offset wire_closed_outside_0_075 D3
are fixed.
offset faces_type_i M5 M7
offset shape_type_i C6 F6 G6
are fixed.
There is an unstable work in following test’s cases:
offset faces_type_i B2 B8 C4
Final branch is CR23748_5 (See bug #0023748).
bugs demo CR23416 is fixed.
offset wire_closed_outside_0_005 D3
offset wire_closed_outside_0_025 D3
offset wire_closed_outside_0_075 D3
are fixed.
offset faces_type_i M5 M7
offset shape_type_i C6 F6 G6
are fixed.
There is an unstable work in following test’s cases:
offset faces_type_i B2 B8 C4
Final branch is CR23748_5 (See bug #0023748).
I have just tested all cases in MASTER on my computer and have got only one difference between results in DEBUG and RELEASE modes: Test de iges_2 H9.
Main distinction is (for this test case):
In DEBUG mode:
...
Error : 4 differences with reference data found :
Reference data - CHECKSHAPE : Wires = 1 ( 1 ) Faces = 2 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
Current data - CHECKSHAPE : Wires = 2 ( 2 ) Faces = 3 ( 2 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
----------------------------------------------
Reference data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) Summary = 39249 ( 39256 )
Current data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) Summary = 39269 ( 39276 )
----------------------------------------------
Reference data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17934 ( 17935 )
Current data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17943 ( 17944 )
----------------------------------------------
Reference data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1642 ( 9638 ) N2Labels = 0 ( 0 ) TotalLabels = 1648 ( 9644 ) NameLabels = 1648 ( 2887 ) ColorLabels = 1644 ( 9643 ) LayerLabels = 488 ( 3995 )
Current data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1643 ( 9640 ) N2Labels = 0 ( 0 ) TotalLabels = 1649 ( 9646 ) NameLabels = 1649 ( 2889 ) ColorLabels = 1645 ( 9645 ) LayerLabels = 489 ( 3997 )
----------------------------------------------
...
In RELEASE mode:
...
Error : 5 differences with reference data found :
Reference data - CHECKSHAPE : Wires = 1 ( 1 ) Faces = 2 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
Current data - CHECKSHAPE : Wires = 2 ( 2 ) Faces = 2 ( 2 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
----------------------------------------------
Reference data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) Summary = 39249 ( 39256 )
Current data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) Summary = 39247 ( 39279 )
----------------------------------------------
Reference data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17934 ( 17935 )
Current data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17946 ( 17949 )
----------------------------------------------
Reference data - TOLERANCE : MaxTol = 1.006358009 ( 992.8187669 ) AvgTol = 0.0004486174686 ( 0.3174663359 )
Current data - TOLERANCE : MaxTol = 4.337400808e[phone removed]e+086 ) AvgTol = 2.04035855e[phone removed]e+083 )
----------------------------------------------
Reference data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1642 ( 9638 ) N2Labels = 0 ( 0 ) TotalLabels = 1648 ( 9644 ) NameLabels = 1648 ( 2887 ) ColorLabels = 1644 ( 9643 ) LayerLabels = 488 ( 3995 )
Current data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1643 ( 9640 ) N2Labels = 0 ( 0 ) TotalLabels = 1649 ( 9646 ) NameLabels = 1649 ( 2889 ) ColorLabels = 1645 ( 9645 ) LayerLabels = 489 ( 3997 )
----------------------------------------------
--------------------------------------------------------------------
...
I.e. in RELEASE mode we have 5 differences, in DEBUG mode we have 4 only. Work in DEBUG mode is better, than RELEASE.
Maybe, we can close this bug and given problem we will consider as KNOWN and on this case we should make additional bug?
Main distinction is (for this test case):
In DEBUG mode:
...
Error : 4 differences with reference data found :
Reference data - CHECKSHAPE : Wires = 1 ( 1 ) Faces = 2 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
Current data - CHECKSHAPE : Wires = 2 ( 2 ) Faces = 3 ( 2 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
----------------------------------------------
Reference data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) Summary = 39249 ( 39256 )
Current data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) Summary = 39269 ( 39276 )
----------------------------------------------
Reference data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17934 ( 17935 )
Current data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17943 ( 17944 )
----------------------------------------------
Reference data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1642 ( 9638 ) N2Labels = 0 ( 0 ) TotalLabels = 1648 ( 9644 ) NameLabels = 1648 ( 2887 ) ColorLabels = 1644 ( 9643 ) LayerLabels = 488 ( 3995 )
Current data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1643 ( 9640 ) N2Labels = 0 ( 0 ) TotalLabels = 1649 ( 9646 ) NameLabels = 1649 ( 2889 ) ColorLabels = 1645 ( 9645 ) LayerLabels = 489 ( 3997 )
----------------------------------------------
...
In RELEASE mode:
...
Error : 5 differences with reference data found :
Reference data - CHECKSHAPE : Wires = 1 ( 1 ) Faces = 2 ( 1 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
Current data - CHECKSHAPE : Wires = 2 ( 2 ) Faces = 2 ( 2 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
----------------------------------------------
Reference data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) Summary = 39249 ( 39256 )
Current data - NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) Summary = 39247 ( 39279 )
----------------------------------------------
Reference data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1627 ( 1627 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17934 ( 17935 )
Current data - STATSHAPE : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1628 ( 1628 ) FreeWire = 22 ( 26 ) FreeEdge = 135 ( 135 ) SharedEdge = 17946 ( 17949 )
----------------------------------------------
Reference data - TOLERANCE : MaxTol = 1.006358009 ( 992.8187669 ) AvgTol = 0.0004486174686 ( 0.3174663359 )
Current data - TOLERANCE : MaxTol = 4.337400808e[phone removed]e+086 ) AvgTol = 2.04035855e[phone removed]e+083 )
----------------------------------------------
Reference data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1642 ( 9638 ) N2Labels = 0 ( 0 ) TotalLabels = 1648 ( 9644 ) NameLabels = 1648 ( 2887 ) ColorLabels = 1644 ( 9643 ) LayerLabels = 488 ( 3995 )
Current data - LABELS : N0Labels = 6 ( 6 ) N1Labels = 1643 ( 9640 ) N2Labels = 0 ( 0 ) TotalLabels = 1649 ( 9646 ) NameLabels = 1649 ( 2889 ) ColorLabels = 1645 ( 9645 ) LayerLabels = 489 ( 3997 )
----------------------------------------------
--------------------------------------------------------------------
...
I.e. in RELEASE mode we have 5 differences, in DEBUG mode we have 4 only. Work in DEBUG mode is better, than RELEASE.
Maybe, we can close this bug and given problem we will consider as KNOWN and on this case we should make additional bug?
Dear Commenter 1 I suggest to compare tests in DEBUG and RELEASE modes and close this bug, if all is Ok.
It is not OK. The tests do not show differences between Debug and release just because the Debug problems have been added in TODO statements, see #0024121.
Run this command to find the tests that (likely) show deviations in Debug mode:
occt> grep -i debug_ tests/*/*/*
You will see 100+ places where problem in Debug mode is covered by TODO.
Many of them are just because of extra debug messages, but some look like real bugs, e.g. raising exceptions in offset and bugs modalg_5
Run this command to find the tests that (likely) show deviations in Debug mode:
occt> grep -i debug_ tests/*/*/*
You will see 100+ places where problem in Debug mode is covered by TODO.
Many of them are just because of extra debug messages, but some look like real bugs, e.g. raising exceptions in offset and bugs modalg_5
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
CR23547 is ready to review.
Ok
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated by Participant.
[revision removed]
Detailed log of new commits:
Author: apv
Date: Tue Sep 30 14:42:56 2014 +0400
Small correction of test-case offset faces_type_i C9
[revision removed]
Detailed log of new commits:
Author: apv
Date: Tue Sep 30 14:42:56 2014 +0400
Small correction of test-case offset faces_type_i C9
Dear Commenter 1,
Branch CR23547 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 196 (196 on master)
products component:
Linux: 11 (11 on master)
Windows: 3 (3 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 397637164 / 397544784
Total CPU difference: 48586.070000000094 / 46233.79000000002
Testing on Windows:
Total MEMORY difference: 254990712 / 279157396
Total CPU difference: 32653.765625 / 39124.25
There are differences in images found by testdiff:
http://occt-tests/CR23547-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR23547-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
Branch CR23547 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 196 (196 on master)
products component:
Linux: 11 (11 on master)
Windows: 3 (3 on master)
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 397637164 / 397544784
Total CPU difference: 48586.070000000094 / 46233.79000000002
Testing on Windows:
Total MEMORY difference: 254990712 / 279157396
Total CPU difference: 32653.765625 / 39124.25
There are differences in images found by testdiff:
http://occt-tests/CR23547-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR23547-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records
- #0023695 · related to · closedIncorrect behavior some tests in Debug or Release mode
- #0024121 · related to · closedIt's necessary to add TODO in test cases to avoid known regressions in debug mode
- #0023615 · parent of · closedWrong parameter value calculating in ShapeAnalysis_Curve
- #0023627 · parent of · closedStandard_OutOfRange in TopOpeBRep_FacesIntersector
- #0023681 · parent of · closedTopoDS_Iterator: incorrect processing of subshapes of shapes with EXTERNAL or INTERNAL orientation.
- #0025194 · parent of · closedIt is necessary to orthogonalize transformation matrix in gp_Trsf and gp_Trsf2d classes
- #0011867 · has duplicate · closedDifferences in optimized and debug version.
- #0023604 · related to · closedUninitialized variables in debug mode
- #0023748 · related to · closedBad monitoring of intermediate results in offset commands
- #0025275 · related to · closedDifferent result of reading operation from *.igs and *.stp file for WINDOWS and LINUX platforms
- #0025277 · related to · closedDiferent interpretation result for WINDOWS and LINUX platform