Archived issue #0026329

Restore floating point signals handling in DRAW

Open CASCADEOCCT:DRAWclosed105 public notes

Search issues

Description

After change made for #0024589, no handler is set for floating point exceptions in DRAW. Thus there is no more control for invalid floating point operations in tests, and bugs like division by zero can remain unnoticed.

It is proposed to restore handling of FPE signals in DRAW for MSVC and GCC compilers. Intel and CLang compilers are known to cause troubles with FPE handling (see #0023802, #0024254, #0024589) and for these compilers FPE should still be kept disabled.

Steps to reproduce

Not required

Public activity

105 archived notes

Participants are labeled by their role within this record.

01Commenter 4
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Jun 10 08:40:09 2015 +0300

    0026329: Restore floating point signals handling in DRAW
    
    Handling of FPE signals restored for MSVC and GCC compilers.
    Test bug6143 corrected accordingly.
02Commenter 2
There are a lot of regressions after restoring FPE handling, to be analyzed:

blend complex F4 F6
blend simple K7 L7 X6
boolean bcut_complex E7 I4 J6 K1 N9 P6
boolean bfuse_complex F1 F2 F5 O7 O9 P5 P6 P7 Q2 Q4 Q5 R4 R5 R6
boolean bopcommon_complex C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 G6 J4 J5 J7 M7
boolean bopcut_complex C7 C8 C9 D1 D2 D3 D4 D5 D6 D7 D8 D9 H6 K4 K5 K7 M8
boolean bopfuse_complex C3 C4 C5 C6 C7 C8 F8 I6 I7 I9 J6
boolean bopsection C4
boolean boptuc_complex A1 A2 A3 A4 A5 A6 C3 F1 F2 F4
boolean bsection G8 M8 M9 N4 N5 N6 N7
boolean gdml_private W6 W8 X5 ZB5 ZB6 ZC6 ZC8 ZD1 ZD3 ZD6 ZD9 ZE2 ZF9 ZG2 ZH7 ZI5
boolean volumemaker C5 C6 E4 E5 E6 F7 F8 G2
bugs caf bug267_1
bugs heal bug24249_3
bugs iges bug133_5
bugs modalg_1 buc60409_1 buc60409_2 buc60409_3 buc60703_2 buc60776_1 buc60841 bug178_1 bug178_2 bug178_3 bug10232 bug13116_1 bug13116_2 bug13116_3 bug13116_4 bug18186 bug19793_2
bugs modalg_2 bug427_1 bug427_2 bug427_3 bug427_4 bug427_5 bug497_3 bug22306_1 bug22306_2 bug22306_3 bug22306_4 bug22306_5 bug23716
bugs modalg_4 bug770 bug823 bug823_1 bug6182
bugs modalg_5 bug23249 bug23839_3 bug24005 bug24089 bug24359 bug24470 bug24809 bug24851 bug24939 bug24981 bug25477_2 bug25600 bug25625 bug25886
bugs modalg_6 bug25880 bug26281_1 bug26281_2
bugs moddata_1 bug20391 bug22623 bug22759
bugs moddata_2 bug265 bug360 bug466 bug469 bug496 bug23464_3 bug23464_5 bug23644
bugs moddata_3 bug162 bug24633_1 bug24633_2 bug24988 bug25407_1 bug25662
bugs step bug272_5
bugs vis bug79 bug172 bug319 bug21091_3 bug24376 bug24564 bug25767
caf driver B1
caf named_shape F1
de iges_2 B4 F4 H9
de step_1 H8
de step_2 B5 O3 W5 X1
de step_3 B5 E6 E7 E8 F2
geometry project A1 A2 A5 A6
heal split_angle_advanced X3
offset faces_type_i B1 I8 I9 J3 J4 J8 M4 M5 M7 M9
offset shape_type_i A5 A6 A8 C6 F4 F5 G5 G6
offset wire_closed_inside_0_005 E8
offset wire_closed_inside_0_025 E8
offset wire_closed_outside_0_005 E8
offset wire_closed_outside_0_025 E8
offset wire_closed_outside_0_075 E8
offset wire_unclosed_outside_0_025 B4 B9
offset wire_unclosed_outside_0_075 A8 A9
perf ncollection A1 A3
pipe specific A2 A4 B1 B3 B9 C2
v3d mesh B7
03Commenter 1
> It is proposed to restore handling of FPE signals in DRAW for MSVC and GCC compilers.
> Intel and CLang compilers are known to cause troubles with FPE handling
> (see #0023802, #0024254, #0024589)
> and for these compilers FPE should still be kept disabled.
Notice that enabling this option ON by default will cause problems on Intel and software OpenGL implementations. Thus this should be further discussed (e.g. use environment variable instead of hard-coded value) after all regression will be fixed.
04Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
05Commenter 5
Now there are exceptions:

test bugs moddata_3 bug25407_1
de step_1 H8
de iges_2 H9
bugs vis bug21091_3
bugs vis bug319
bugs vis bug79
test bugs vis bug172
bugs modalg_6 bug26281_1
bugs modalg_6 bug26281_2
06Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
07Commenter 4
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: nds
Date: Tue Nov 24 15:45:05 2015 +0300

    Merge remote-tracking branch 'origin/CR26329' into CR26329_V7_0_0
    
    Conflicts:
        src/Graphic3d/Graphic3d_Camera.cxx
        src/SelectMgr/SelectMgr_RectangularFrustum.cxx
08Commenter 4
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: nds
Date: Wed Nov 25 12:12:24 2015 +0300

    Compillation correction

09Commenter 4
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: nds
Date: Wed Nov 25 12:12:24 2015 +0300

    Compillation correction

Author: ink
Date: Wed Jun 17 13:07:11 2015 +0300

    Changes to fix the exceptions

Author: Author
Date: Wed Jun 10 08:40:09 2015 +0300

    0026329: Restore floating point signals handling in DRAW
    
    Handling of FPE signals restored for MSVC and GCC compilers.
    Test bug6143 corrected accordingly.
10Commenter 10
Igor, please have a look at this issue -- we have some regressions after restoring FPE signals handler in DRAW
11Commenter 4
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: ifv
Date: Tue Dec 8 16:12:57 2015 +0300

    Changes to fix new exceptions

Author: nds
Date: Wed Nov 25 12:12:24 2015 +0300

    Compillation correction

Author: ink
Date: Wed Jun 17 13:07:11 2015 +0300

    Changes to fix the exceptions

Author: Author
Date: Wed Jun 10 08:40:09 2015 +0300

    0026329: Restore floating point signals handling in DRAW
    
    Handling of FPE signals restored for MSVC and GCC compilers.
    Test bug6143 corrected accordingly.
12Commenter 12
Branch CR26329_3 is ready for review.
Branch is some modification and addidion to previous branches
13Commenter 13
Reviewed.
14Commenter 14
Dear ifv,

Please, rebase branch CR26329_3 on current master. Thank you in advance.
15Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
16Commenter 16
Branch CR26329_3 is rebased and ready for testing
17Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
18Commenter 18
I have corrected commit comments and combined into one commit.
19Commenter 19
Dear Commenter 2,

Branch CR26329_3 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 134 (134 on master)
products component:
   Linux: 37 (37 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR26329-3-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR26329-3-master-occt-64/Windows-64-VC10/summary.html
blend complex F6 (Windows only)
bugs fclasses bug6143 (Linux only)
bugs modalg_4 bug726_2 (Windows only), bug827_1 (Windows only)
bugs modalg_6 bug26281_1 (Windows only), bug26281_2 (Windows only)
bugs vis bug25767 (Windows only)
offset with_intersect_80 K8
http://occt-tests/CR26329-3-master-products-64/Windows-64-VC10/summary.html
bfit pnt100 A1, A4, A6, A7
bfit pnt1000 A1, A4, A6, A7
bfit pnt10000 A1, A4, A6
dxf read bug25899
emesh bugs bug26326_1, bug26326_2

Testing cases:
Not needed

There are problematic CPU test-case:
offset with_intersect_20 J9: 10.2492657 / 1.4352092 [+614.13%]
offset with_intersect_80 J9: 64.1320111 / 2.1684139 [+2857.55%]

Testing on Linux:
Total MEMORY difference: 93034737 / 94043319 [-1.07%]
Total CPU difference: 19501.59999999981 / 19274.68999999991 [+1.18%]

Testing on Windows:
Total MEMORY difference: 56325674 / 56337215 [-0.02%]
Total CPU difference: 17709.186719698882 / 17785.939211698893 [-0.43%]
20Commenter 20
Dear msv,

Branch [archived branch] has been rejected due to:
- regressions/differences/improvements
- CPU problem
21Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
22Commenter 22
Branch CR26329_3 was added by new fix for last regressions (from 2015-12-15 13:53)

Product branch CR26329prod, which contains fixes in PRODUCTS software is created.
Please review.
23Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
24Commenter 24
Rebased on master.
25Commenter 25
Reviewed.
26Commenter 26
Dear Commenter 2,

Branch CR26329_3 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 134 (134 on master)
products component:
   Linux: 37 (37 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR26329-3-CR26329prod-occt-64/Debian70-64/summary.html
http://occt-tests/CR26329-3-CR26329prod-occt-64/Windows-64-VC10/summary.html
bugs fclasses bug6143 (Linux only)
bugs modalg_6 bug26576_1, bug26576_3
bugs vis bug25767 (Windows only)
offset with_intersect_80 K8
v3d mesh B7 (Windows only)
http://occt-tests/CR26329-3-CR26329prod-products-64/Debian70-64/summary.html
http://occt-tests/CR26329-3-CR26329prod-products-64/Windows-64-VC10/summary.html
bfit pnt100 A4 (Linux only)
bfit pnt1000 A4, A7
bfit pnt10000 A4
emesh bugs bug26326_1, bug26326_2

Testing cases:
Not needed

There are problematic CPU test-case:
offset with_intersect_20 J9: 10.3272662 / 1.3884089 [+643.82%]
offset with_intersect_80 J9: 64.2568119 / 2.1372137 [+2906.57%]

Testing on Linux:
   occt component:
Total MEMORY difference: 89524812 / 89679603 [-0.17%]
Total CPU difference: 18847.009999999846 / 19350.19000000006 [-2.60%]
   products component:
Total MEMORY difference: 25083415 / 24932801 [+0.60%]
Total CPU difference: 7318.980000000007 / 7559.690000000022 [-3.18%]

Testing on Windows:
   occt component:
Total MEMORY difference: 54652182 / 54637111 [+0.03%]
Total CPU difference: 17683.337353998842 / 18195.785038898823 [-2.82%]
   products component:
Total MEMORY difference: 15806382 / 15815998 [-0.06%]
Total CPU difference: 5498.645247499964 / 5808.978036799989 [-5.34%]
27Commenter 27
Dear ifv,

Branches CR26329_3 and CR26329prod have been rejected due to:
- regressions/differences/improvements
- CPU problem
28Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
29Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
30Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
31Commenter 31
Branches CR26329 and CR26329prog (products modifications) are updated.
CR26329prod contains modification of QMShape_Tessellator.cxx, please review with care.
32Commenter 32
Reviewed.
33Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
34Commenter 34
Branch [archived branch] has been rebased on the current master
35Commenter 35
Dear Commenter 2,

Branch CR26329 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 42 (41 on master)
   Windows: 1 (0 on master)
There is new additional warning
on Linux:
QMShape_Tessellator.cxx:1735, GNU C Compiler 4 (gcc), Priority: Normal
unused variable 'tol2' [-Wunused-variable]
on Windows:
QMShape_Tessellator.cxx:1735, MSBuild, Priority: Normal
'tol2' : unreferenced local variable

Regressions/Differences:
http://occt-tests/CR26329-CR26329prod-occt-64/Debian70-64/summary.html
bugs fclasses bug6143
http://occt-tests/CR26329-CR26329prod-occt-64/Windows-64-VC10/summary.html
bugs vis bug6652, bug10702, bug25767, bug 26566
v3d mesh A1, A2, A3, A4, B2, B3, B4, B5
http://occt-tests/CR26329-CR26329prod-products-64/Debian70-64/summary.html
bfit pnt100 A4
bfit pnt1000 A4
emesh bugs bug26326_1
http://occt-tests/CR26329-CR26329prod-products-64/Windows-64-VC10/summary.html
omf bugs bug26115
omf standard E1

Testing cases:
Not needed

There are problematic CPU test-case:
offset with_intersect_20 J9: 9.3288598 / 1.404009 [+564.44%]
offset with_intersect_80 K8: 16.9573087 / 3.1356201 [+440.80%]
offset with_intersect_80 J9: 40.7318611 / 2.3088148 [+1664.19%]

Testing on Linux:
   occt component:
Total MEMORY difference: 90057647 / 89868404 [+0.21%]
Total CPU difference: 19305.52000000005 / 19349.35 [-0.23%]
   products component:
Total MEMORY difference: 25673139 / 25965450 [-1.13%]
Total CPU difference: 5373.869999999984 / 5347.049999999987 [+0.50%]

Testing on Windows:
   occt component:
Total MEMORY difference: 57915061 / 57960126 [-0.08%]
Total CPU difference: 18138.32987059898 / 18100.936430898833 [+0.21%]
   products component:
Total MEMORY difference: 17644796 / 17641110 [+0.02%]
Total CPU difference: 5267.326964699954 / 5172.369155999955 [+1.84%]

There is difference in images found by testdiff:
http://occt-tests/CR26329-CR26329prod-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
emesh bugs bug26326_1
36Commenter 36
Dear ifv,

Branch CR26329 (from occt git-repository) and CR26329prod (from products git-repository) have been rejected due to:
- additional warnings
- regressions/differences/improvements
- CPU problems
- differences in images
37Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
38Commenter 38
Dear ifv,
could you please rebase branch CR26329 (from occt git-repository) and CR26329prod on current masters, there are conflict files.
39Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
40Commenter 40
Branches CR26329 and CR26329prod are rebased on current master and product master
41Commenter 41
Dear Commenter 2,
Branch CR26329 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 73 (72 on master)
Windows: 5 (4 on master)
MacOS : 1134

There is new additional compilation warning on Linux platform:
http://jenkins-test-07.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_13912/job/CR26329-CR26329prod-Products-Debian70-64-opt-compile/1/warnings17Result/package.2035506518/
QMShape_Tessellator.cxx:1738, GNU C Compiler 4 (gcc), Priority: Normal
unused variable 'tol2' [-Wunused-variable]

There are new additional compilation warning on Windows platforms:
http://jenkins-test-07.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_13912/job/CR26329-CR26329prod-Products-Windows-64-VC10-opt-compile/1/warnings34Result/package.1690353035/
QMShape_Tessellator.cxx:1738, MSBuild, Priority: Normal
'tol2' : unreferenced local variable

Regressions/Differences/Improvements:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/summary.html
Improvements:
  offset with_intersect_80 J9
Failed:
  bugs fclasses bug6143

http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/summary.html
Improvements:
  offset with_intersect_80 J9
Failed:
  boolean volumemaker A3
  bugs modalg_4 bug6725
  bugs moddata_1 bug22759
  bugs vis bug6652, bug10702, bug25767, bug26566
  de step_3 D7
  mesh advanced_incmesh B2, B3, B7, C2
  mesh advanced_incmesh_parallel B2, B3, B7, C2
  mesh advanced_mesh B2, B3, B7, C2
  mesh advanced_shading B2, B3, B7
  mesh standard_incmesh B4, B8, Q1, T9, U7, W9
  mesh standard_incmesh_parallel B4, B8, Q1, T9, U7, W9
  mesh standard_mesh B4, B8, Q1, T9, U7, W9
  mesh standard_shading B8, Q1, Q6, T9, U7, W9
  v3d mesh A1, A2, A3, A4, B2, B3, B4, B5

http://occt-tests/CR26329-CR26329prod-Products/Debian70-64/summary.html
Failed:
  bfit pnt100 A4
  bfit pnt1000 A4, A7
  emesh bugs bug26326_1
  emesh standard E9, F1

http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/summary.html
Failed:
  bfit pnt1000 A4
  bfit pnt10000 A4
  emesh standard E9, F1
  omf advanced_meshcut H1, M4, Z4, Z5
  omf bugs bug26115
  omf standard E1

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 88531956 / 89048413 [-0.58%]
Total CPU difference: 19367.450000000154 / 19269.339999999942 [+0.51%]
products component :
Total MEMORY difference: 27219062 / 27767412 [-1.97%]
Total CPU difference: 5206.429999999991 / 5172.509999999994 [+0.66%]

Testing on Windows:
occt component :
Total MEMORY difference: 54856129 / 54872287 [-0.03%]
Total CPU difference: 17661.71561539882 / 17943.671822798915 [-1.57%]
products component :
Total MEMORY difference: 18847255 / 18812545 [+0.18%]
Total CPU difference: 5011.22012299995 / 4999.816449899956 [+0.23%]

There are following differences in images found by testdiff.
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE v3d mesh B7: B7_vct1.png differs
IMAGE bugs iges bug22715_2: bug22715_2.png differs
IMAGE bugs modalg_2 bug22727: bug22727.png differs
IMAGE bugs modalg_6 bug26513: bug26513.png differs

http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE emesh bugs bug26326_1: bug26326_1.png differs
42Commenter 42
Dear ifv,
Branch [archived branch] has been rejected due to:
- additional warnings
- regressions/differences/improvements
- differences in images
43Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
44Commenter 44
Branches CR26329 and CR26329prod are ready for review
45Commenter 45
src\Geom2dInt\Geom2dInt_Geom2dCurveTool.cxx
- Please correct indents of lines 40-49

src\IntPatch\IntPatch_WLineTool.cxx
- The file contains no functional changes, only distorts indents.

src\Intf\Intf_InterferencePolygonPolyhedron.gxx
- Please avoid code re-formatting. Such changes must be done in a separate patch/commit.
46Commenter 46
In CR26329prod :

src\QMShape\QMShape_Tessellator.cxx
- 1769: please use English for comments.

tests\cr\standard\E1
- Please leave only 1 TODO using regexp:
puts "TODO ?OCC24435 ALL: Error : . differences with reference data found"
47Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
48Commenter 48
Branches CR26329 and CR26329prod are ready for review
49Commenter 49
Branches CR26329 and CR26329prod are ready for tests
50Commenter 50
Dear Commenter 2,
Branch CR26329 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 65 (64 on master)
Windows: 0 (0 on master)
MacOS : 1144

There is new additional compilation warning on Linux platform:
http://jenkins-test-07.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_13912/job/CR26329-CR26329prod-Products-Debian70-64-opt-compile/1/warnings17Result/category.-1505867908/
TCollection_Sequence.lxx:31, GNU C Compiler 4 (gcc), Priority: Normal
base class 'class TCollection_BaseSequence' should be explicitly initialized in the copy constructor [-Wextra]Building CXX object src/TKOMF/CMakeFiles/TKOMF.dir/__/OMFBool/OMFBool_Modifications.cxx.o

Regressions/Differences/Improvements:

http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/bugs/fclasses/bug6143.html
bugs fclasses bug6143: FAILED

http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/de/iges_2/H9.html
de iges_2 H9: FAILED

http://occt-tests/CR26329-CR26329prod-Products/Debian70-64/summary.html
http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/summary.html
Failed:
  bfit pnt100 A4
  bfit pnt1000 A4
  bfit pnt10000 A4
  emesh bugs bug26326_1
  emesh standard E9, F1

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 88946825 / 88696254 [+0.28%]
Total CPU difference: 19437.419999999936 / 19559.519999999917 [-0.62%]
products component :
Total MEMORY difference: 26910555 / 27303152 [-1.44%]
Total CPU difference: 5146.679999999977 / 5157.379999999986 [-0.21%]

Testing on Windows:
occt component :
Total MEMORY difference: 55797323 / 55791211 [+0.01%]
Total CPU difference: 18334.61032879874 / 17816.60900829868 [+2.91%]
products component :
Total MEMORY difference: 18601434 / 18563782 [+0.20%]
Total CPU difference: 5069.767298299962 / 4924.608367799939 [+2.95%]

There are following differences in images found by testdiff.
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE boolean volumemaker A3: A3.png differs
IMAGE v3d mesh B7: B7_vct1.png differs

http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE emesh bugs bug26326_1: bug26326_1.png differs
51Commenter 51
Dear ifv,
Branch [archived branch] has been rejected due to:
- additional warnings
- regressions/differences/improvements
- differences in images
52Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
53Commenter 53
Branches CR26329 and CR26329prod are ready for test
54Commenter 54
Dear Commenter 2,

Branch CR26329 from occt git-repository (and 26239prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1136

Regressions/Differences:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/summary.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/summary.html
bugs fclasses bug6143 (Linux only)
bugs modalg_6 bug27341_303, bug27341_305, bug27341_306, bug27341_307, bug27341_312, bug27341_313, bug27341_314, bug27341_316, bug27341_317, bug27341_320
offset with_intersect_80 K8
http://occt-tests/CR26329-CR26329prod-Products/Debian70-64/summary.html
http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/summary.html
bfit pnt1000 A4 (Linux only)
bfit pnt10000 A4 (Linux only)
parasolid doc_3 B3, C3, E3 (Windows only)

Testing cases:
Not needed

CPU-problematic test cases have been detected:
offset with_intersect_20 J9: 33.7274162 / 1.3884089 [+2329.21%]
offset with_intersect_80 K8: 15.5376996 / 3.3228213 [+367.61%]
offset with_intersect_80 J9: 32.3078071 / 2.4180155 [+1236.13%]
bugs moddata_2 bug271: 4.4928288 / 0.4836031 [+829.03%]

Testing on Linux:
Total MEMORY difference: 90124000 / 89906419 [+0.24%]
Total CPU difference: 19395.520000000022 / 19084.30999999992 [+1.63%]

Testing on Windows:
Total MEMORY difference: 57427775 / 57431602 [-0.01%]
Total CPU difference: 18128.907410198783 / 18076.974677298753 [+0.29%]

There are differences in images found by testdiff:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
boolean volumemaker A3
v3d mesh B7
http://occt-tests/CR26329-CR26329prod-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10-image.html
emesh bugs bug26326_1

55Commenter 55
Dear Igor,

Branches CR26329 from occt git-repository and CR26329prod from products git-repository have been rejected due to:
- regressions/differences/improvements
- CPU problem
- differences in images
56Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
57Commenter 57
Branches CR26329 and CR26329prod are ready for testing
58Commenter 58
Dear Commenter 2,

Branch CR26329 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1142

Regressions/Differences:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/summary.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/summary.html
bugs fclasses bug6143 (Linux only)
offset with_intersect_80 K8

Testing cases:
Not needed

CPU-problematic test cases have been detected:
offset with_intersect_20 J9: 32.3546074 / 1.3572087 [+2283.91%]
offset with_intersect_80 K8: 14.4768928 / 3.2448208 [+346.15%]
offset with_intersect_80 J9: 32.1206059 / 2.3712152 [+1254.61%]

Testing on Linux:
occt component:
Total MEMORY difference: 90055658 / 89483961 [+0.64%]
Total CPU difference: 19315.87999999998 / 19282.10000000005 [+0.18%]
products component:
Total MEMORY difference: 30064878 / 30066557 [-0.01%]
Total CPU difference: 5115.609999999972 / 5066.179999999979 [+0.98%]

Testing on Windows:
occt component:
Total MEMORY difference: 57430605 / 57426021 [+0.01%]
Total CPU difference: 18247.780172198807 / 17961.98634019861 [+1.59%]
products component:
Total MEMORY difference: 21267148 / 21229973 [+0.18%]
Total CPU difference: 4936.838846199953 / 4890.818551199945 [+0.94%]

There are differences in images found by testdiff:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
boolean volumemaker A3
v3d mesh B7
http://occt-tests/CR26329-CR26329prod-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10-image.html
emesh bugs bug26326_1
59Commenter 59
Dear Igor,

Branches CR26329 from occt git-repository and CR26329prod from products git-repository have been rejected due to:
- regressions/differences/improvements
- CPU problem
- differences in images
60Commenter 60
The reasons of regressions:

bugs fclasses bug6143 (Linux only)
This bug is just dedicated to check raising exceptions for floating point signals. For Windows it is OK, but for Linux probably any setting for gcc is bad.

CPU-problematic test cases have been detected:

 offset with_intersect_20 J9: 32.3546074 / 1.3572087 [+2283.91%]
 offset with_intersect_80 K8: 14.4768928 / 3.2448208 [+346.15%]
 offset with_intersect_80 J9: 32.1206059 / 2.3712152 [+1254.61%]

For current master offset algorithm is stopped after short time because of exeptions without result. Now algorithm is really working, but produces wrong result, because input shapes are not suitable for offset with option "intersect". It is better to remove these tests at all.

There are differences in images found by testdiff:
boolean volumemaker A3
v3d mesh B7
emesh bugs bug26326_1

Images correspond current state of algorithm and can be considered as valid.

61Commenter 61
Please add a new bug that FLT exceptions do not work on Linux, and add TODO in the test case.
Add comment in the bug related with mentioned offset test cases about changed behavior.
62Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
63Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
64Commenter 64
Branch CR26329 is ready for testing
65Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
66Commenter 66
Branches CR26329 and CR26329prod have been rebased on the current masters.
67Commenter 67
Dear Commenter 2,

Branch CR26329 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1128

Regressions/Differences:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/summary.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/summary.html
offset with_intersect_20 J9

Testing cases:
Not needed

CPU-problematic test cases have been detected:
offset with_intersect_20 J9: 10.8420695 / 1.404009 [+672.22%]
offset with_intersect_80 K8: 15.0384964 / 3.1824204 [+372.55%]
offset with_intersect_80 J9: 38.5790473 / 2.2776146 [+1593.84%]

Testing on Linux:
occt component:
Total MEMORY difference: 90516260 / 90077664 [+0.49%]
Total CPU difference: 19294.01000000005 / 19347.27000000009 [-0.28%]
products component:
Total MEMORY difference: 30066979 / 30079095 [-0.04%]
Total CPU difference: 5108.009999999975 / 5050.5299999999725 [+1.14%]

Testing on Windows:
occt component:
Total MEMORY difference: 57093690 / 57093912 [-0.00%]
Total CPU difference: 18219.777992698946 / 18078.831089198848 [+0.78%]
products component:
Total MEMORY difference: 21267547 / 21230358 [+0.18%]
Total CPU difference: 4930.255603999946 / 4893.65776939995 [+0.75%]

There are differences in images found by testdiff:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
boolean volumemaker A3
v3d mesh B7
http://occt-tests/CR26329-CR26329prod-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10-image.html
emesh bugs bug26326_1
68Commenter 68
Dear Igor,

Branches CR26329 from occt git-repository and CR26329prod from products git-repository have been rejected due to:
- regressions/differences/improvements
69Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
70Commenter 70
Branches CR26329 and CR26329prod are ready for testing
71Commenter 71
Dear Commenter 2,

Branch CR26329 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1161

Regressions/Differences:
Not detected

Testing cases:
Not needed

CPU-problematic test cases have been detected:
offset with_intersect_20 J9: 11.4036731 / 1.404009 [+712.22%]
offset with_intersect_80 K8: 15.4128988 / 3.1824204 [+384.31%]
offset with_intersect_80 J9: 40.1546574 / 2.2776146 [+1663.01%]

Testing on Linux:
occt component:
Total MEMORY difference: 90084686 / 90111963 [-0.03%]
Total CPU difference: 19498.449999999993 / 19469.900000000092 [+0.15%]
products component:
Total MEMORY difference: 30094930 / 30089155 [+0.02%]
Total CPU difference: 5151.199999999965 / 5051.889999999972 [+1.97%]

Testing on Windows:
occt component:
Total MEMORY difference: 57094336 / 57093912 [+0.00%]
Total CPU difference: 18320.819840398886 / 18078.831089198848 [+1.34%]
products component:
Total MEMORY difference: 21267544 / 21230358 [+0.18%]
Total CPU difference: 4964.497823499952 / 4893.65776939995 [+1.45%]

There are differences in images found by testdiff:
http://occt-tests/CR26329-CR26329prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
boolean volumemaker A3
v3d mesh B7
http://occt-tests/CR26329-CR26329prod-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10-image.html
emesh bugs bug26326_1
72Commenter 72
Dear Sergey,

Please, validate test cases modifications in branch CR26329prod from products git-repository.
73Commenter 73
The modifications of tests in the branch CR26329prod are accepted, please, raise.
74Commenter 2
Rejected:
ABV
Please exclude 26329 from IR -- these changes must be documented prior to integration
75Commenter 4
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Jun 10 08:40:09 2015 +0300

    This change was born in the scope of work on the issue 26329, but does not have direct connection to it. Therefore it has been postponed to be integrated later in its own context.
76Commenter 4
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Jun 10 08:40:09 2015 +0300

    0026329: Restore floating point signals handling in DRAW
    
    Handling of FPE signals has been restored for MSVC and GCC compilers.
    
    The test bug6143 (that checks signals handling) has been corrected accordingly.
    
    A number of changes in the code have been done in order to fix floating point exceptions that became generated after enabling signals:
    
    - Maximal value of argument of Sinh and Cosh is restricted by 0.[revision removed]+03 in order to avoid FP overflow in Standard_Real.cxx. The functions Sinh and Cosh are made non-inline. Sinh and Cosh have become used instead of sinh and cosh in ElCLib.cxx.
    
    - Maximal value of parameter on hyperbola is restricted by 23 in order to avoid FP overflow in Extrema_GenExtCS.cxx, ShapeFix_EdgeProjAux.cxx.
    
    - Interface of the root curve adaptor class Adaptor3d_Curve has been updated to add new virtual methods BasisCurve and OffsetValue. They complement the adaptor for the case of offset curves. They allow setting the correct limitation of domain search in the case of offset of hyperbola, in order to get rid of floating point overflow (see Extrema_GenExtCS.cxx). All classes inheriting Adaptor3d_Curve have been changed to implement the new virtual methods.
    
    - Protection against division by zero has been implemented in ApproxInt_KnotTools.cxx, BRepClass3d_SClassifier.cxx, BRepGProp_Face.cxx, BRepMesh_FastDiscretFace.cxx, Geom2dGcc_Circ2d2TanOnIter.cxx, Geom2dInt_Geom2dCurveTool.cxx, Graphic3d_Camera.cxx, IntPolyh_MaillageAffinage.cxx.
    
    - Protection against calling of math functions of infinite arguments has been added in BRepCheck_Edge.cxx, BRepLib.cxx, CSLib_NormalPolyDef.cxx, Extrema_FuncExtPC.gxx, Extrema_GExtPC.gxx, Extrema_GLocateExtPC.gxx, Intf_InterferencePolygonPolyhedron.gxx, ShapeAnalysis_Surface.cxx, ShapeAnalysis_TransferParametersProj.cxx, ShapeAnalysis_Wire.cxx, math_FunctionSetRoot.cxx.
    
    - Proper initialization of local variables is done in BOPAlgo_PaveFiller_6.cxx, XSDRAWSTLVRML.cxx.
    
    Some test cases have been updated to actual state.
77Commenter 77
The new branch CR26329_4 has the following changes:
- The changes in the file GeomLib_CheckCurveOnSurface.cxx have been gone, as they are not relevant to this bug.
- Files with changes only in formatting have been reverted.
- The commit message contains description of all changes.

As the content was changed I think the branch must be re-tested again.
78Commenter 78
Dear Andrey, please review.
79Commenter 4
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: msv
Date: Mon Aug 8 15:40:00 2016 +0300

    //Remove obsolete change in the file SelectMgr_RectangularFrustum.cxx.

80Commenter 80
I have updated the commit message in the branch CR26329prod in occt-products.
81Commenter 4
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: msv
Date: Mon Aug 8 18:31:02 2016 +0300

    // The questionable change in the file Graphic3d_Camera.cxx has been reverted.

82Commenter 4
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Jun 10 08:40:09 2015 +0300

    0026329: Restore floating point signals handling in DRAW
    
    Handling of FPE signals has been restored for MSVC and GCC compilers.
    
    The test bug6143 (that checks signals handling) has been corrected accordingly.
    
    A number of changes in the code have been done in order to fix floating point exceptions that became generated after enabling signals:
    
    - Maximal value of argument of Sinh and Cosh is restricted by 0.[revision removed]+03 in order to avoid FP overflow in Standard_Real.cxx. If the argument exceeds this value exception Standard_NumericError is raised. The functions Sinh and Cosh are made non-inline. Sinh and Cosh have become used instead of sinh and cosh in ElCLib.cxx.
    
    - Maximal value of parameter on hyperbola is restricted by 23 in order to avoid FP overflow in Extrema_GenExtCS.cxx, ShapeFix_EdgeProjAux.cxx.
    
    - Interface of the root curve adaptor class Adaptor3d_Curve has been updated to add new virtual methods BasisCurve and OffsetValue. They complement the adaptor for the case of offset curves. They allow setting the correct limitation of domain search in the case of offset of hyperbola, in order to get rid of floating point overflow (see Extrema_GenExtCS.cxx). All classes inheriting Adaptor3d_Curve have been changed to implement the new virtual methods.
    
    - Protection against division by zero has been implemented in ApproxInt_KnotTools.cxx, BRepClass3d_SClassifier.cxx, BRepGProp_Face.cxx, BRepMesh_FastDiscretFace.cxx, Geom2dGcc_Circ2d2TanOnIter.cxx, Geom2dInt_Geom2dCurveTool.cxx, IntPolyh_MaillageAffinage.cxx.
    
    - Protection against calling of math functions of infinite arguments has been added in BRepCheck_Edge.cxx, BRepLib.cxx, CSLib_NormalPolyDef.cxx, Extrema_FuncExtPC.gxx, Extrema_GExtPC.gxx, Extrema_GLocateExtPC.gxx, Intf_InterferencePolygonPolyhedron.gxx, ShapeAnalysis_Surface.cxx, ShapeAnalysis_TransferParametersProj.cxx, ShapeAnalysis_Wire.cxx, math_FunctionSetRoot.cxx.
    
    - Proper initialization of local variables is done in BOPAlgo_PaveFiller_6.cxx, XSDRAWSTLVRML.cxx.
    
    Some test cases have been updated to actual state.
83Commenter 4
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: msv
Date: Fri Aug 12 11:03:28 2016 +0300

    //Consider remark concerning new methods in Adaptor3d_Curve class.

84Commenter 4
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: msv
Date: Mon Aug 15 14:55:43 2016 +0300

    // Consider the case of offset of trimmed hyperbola.

85Commenter 4
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: ifv
Date: Tue Aug 9 20:12:59 2016 +0300

    0026329: Restore floating point signals handling in DRAW
    
    Added DRAW command dsetsignal, resetting OSD signal handler with either armed or disabled FPE handler, according to an option.
    If called without arguments, it sets FPE handler only if environment variable OSD_FPE is defined (with value different from 0).
    On start, DRAW calls dsetsignal to set FPE signal if CSF_FPE is defined.
    Test bugs fclasses bug6143 uses dsetsignal to set FPE handler unconditionally before the test command, and resets it to default at the end.
    
    A number of changes in the code have been done in order to fix floating point exceptions that became generated after enabling signals:
    
    - Global functions Sinh() and Cosh() defined in Standard_Real.hxx are improved to raise Standard_NumericError exception if argument is too big (greater than 710.47586), instead of relying on system treatment of floating point overflow. These functions are used instead of sinh and cosh in ElCLib.cxx.
    
    - Maximal value of parameter on hyperbola is restricted by 23 (corresponding to ~1e10 in 3d) in order to avoid FP overflow in Extrema_GenExtCS.cxx, ShapeFix_EdgeProjAux.cxx.
    
    - Interface of the root curve adaptor class Adaptor3d_Curve has been updated to add new virtual methods BasisCurve and OffsetValue. They complement the adaptor for the case of offset curves. These methods are used in Extrema_GenExtCS.cxx to restrict domain search in the case of offset of hyperbola, in order to get rid of floating point overflow. All classes inheriting Adaptor3d_Curve have been changed to implement the new virtual methods.
    
    - Protection against division by zero has been implemented in ApproxInt_KnotTools.cxx, BRepClass3d_SClassifier.cxx, BRepGProp_Face.cxx, BRepMesh_FastDiscretFace.cxx, Geom2dGcc_Circ2d2TanOnIter.cxx, Geom2dInt_Geom2dCurveTool.cxx, IntPolyh_MaillageAffinage.cxx.
    
    - Protection against calling of math functions of infinite arguments has been added in BRepCheck_Edge.cxx, BRepLib.cxx, CSLib_NormalPolyDef.cxx, Extrema_FuncExtPC.gxx, Extrema_GExtPC.gxx, Extrema_GLocateExtPC.gxx, Intf_InterferencePolygonPolyhedron.gxx, ShapeAnalysis_Surface.cxx, ShapeAnalysis_TransferParametersProj.cxx, ShapeAnalysis_Wire.cxx, math_FunctionSetRoot.cxx.
    
    - Proper initialization of local variables is done in BOPAlgo_PaveFiller_6.cxx, XSDRAWSTLVRML.cxx.
    
    Some test cases have been updated to actual state.

86Commenter 86
Reviewed with some corrections, please test.

Apart of some simplifications, and rolling back some changes that seem to have no effect (in Intf_InterferencePolygonPolyhedron.gxx, ProjLib_ComputeApproxOnPolarSurface.cxx,
ShapeConstruct_ProjectCurveOnSurface.cxx), essential change is that FPE signals are not enabled by default on any platform. The reason is that even for FPE-aware compiler, depending on environment, it can be dangerous to enable FPE signals. The known cases are using Mesa as OpenGl driver, and using remote desktop on Windows: in both cases graphic driver will very likely generate FPE even on good input data.

In order to enable FPE handling, either command "dsetsignal 1" should be called in DRAW, or environment variable "CSF_FPE" set to 1.

When testing, please test both with and without CSF_FPE set.

In the future, testing with CSF_FPE set should be included in regular certification procedures, at least before release.
87Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
88Commenter 88
Branches CR26329_6 (from occt git-repository) and CR26329prod (from products git-repository) have been rebased on the current masters.
89Commenter 89
Dear Commenter 2,

Branch CR26329_6 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested (environment variable CSF_FPE is not defined).
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1139

Regressions/Differences:
Not detected

Testing cases:
Not needed

CPU-problematic test cases have been detected:
offset with_intersect_20 J9: 11.4036731 / 1.404009 [+712.22%] (validated by developer)
offset with_intersect_80 K8: 15.4128988 / 3.1824204 [+384.31%] (validated by developer)
offset with_intersect_80 J9: 40.1546574 / 2.2776146 [+1663.01%] (validated by developer)

Testing on Linux:
occt component:
Total MEMORY difference: 90084686 / 90111963 [-0.03%]
Total CPU difference: 19498.449999999993 / 19469.900000000092 [+0.15%]
products component:
Total MEMORY difference: 30094930 / 30089155 [+0.02%]
Total CPU difference: 5151.199999999965 / 5051.889999999972 [+1.97%]

Testing on Windows:
occt component:
Total MEMORY difference: 57094336 / 57093912 [+0.00%]
Total CPU difference: 18320.819840398886 / 18078.831089198848 [+1.34%]
products component:
Total MEMORY difference: 21267544 / 21230358 [+0.18%]
Total CPU difference: 4964.497823499952 / 4893.65776939995 [+1.45%]

There are differences in images found by testdiff:
http://occt-tests/CR26329_6-CR26329prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329_6-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
boolean volumemaker A3 (validated by developer)
v3d mesh B7 (validated by developer)
offset with_intersect_20 J9 (not validated)
http://occt-tests/CR26329_6-CR26329prod-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329_6-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10-image.html
emesh bugs bug26326_1 (validated by developer)

90Commenter 90
Dear Commenter 2,

Branch CR26329_6 from occt git-repository (and CR26329prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested (environment variable CSF_FPE is defined and equal to 1).
[revision removed]
[revision removed]

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1139

Regressions/Differences:
http://occt-tests/CR26329_6-CR26329prod-OCCT/Windows-64-VC10/summary.html
bugs vis bug24837_1

Testing cases:
Not needed

CPU-problematic test cases have been detected:
offset with_intersect_20 J9: 11.3568728 / 1.3572087 [+736.78%] (validated by developer)
offset with_intersect_80 K8: 15.2568978 / 3.2292207 [+372.46%] (validated by developer)
offset with_intersect_80 J9: 39.5774537 / 2.340015 [+1591.33%] (validated by developer)

Testing on Linux:
occt component:
Total MEMORY difference: 89619578 / 89974845 [-0.39%]
Total CPU difference: 19420.32000000002 / 19308.989999999932 [+0.58%]
products component:
Total MEMORY difference: 30016443 / 30026483 [-0.03%]
Total CPU difference: 5124.059999999975 / 5045.099999999974 [+1.57%]

Testing on Windows:
occt component:
Total MEMORY difference: 56791329 / 57107084 [-0.55%]
Total CPU difference: 18046.507681998795 / 18053.73052829886 [-0.04%]
products component:
Total MEMORY difference: 21181457 / 21223623 [-0.20%]
Total CPU difference: 4896.5905881999515 / 4857.465537399941 [+0.81%]

There are differences in images found by testdiff:
http://occt-tests/CR26329_6-CR26329prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329_6-CR26329prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
boolean volumemaker A3 (validated by developer)
v3d mesh B7 (validated by developer)
offset with_intersect_20 J9 (not validated)
http://occt-tests/CR26329_6-CR26329prod-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26329_6-CR26329prod-Products/Windows-64-VC10/diff-Windows-64-VC10-image.html
emesh bugs bug26326_1 (validated by developer)
91Commenter 91
Dear Andrey,

Branches CR26329_6 from occt git-repository and CR26329prod from products git-repository have been rejected due to:
- regressions/differences/improvements (in case when CSF_FPE is defined) - bugs vis bug24837_1
- differences in images (in both cases) - offset_with_intersect_20 J9

92Commenter 92
Current result of analysis:

- bugs vis bug24837_1 is regression due to interference with patch for #0027772
- offset_with_intersect_20 J9 looks just the same in all versions of the branch I have tried, since _4

to be continued
93Commenter 4
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: ifv
Date: Tue Aug 9 20:12:59 2016 +0300

    0026329: Restore floating point signals handling in DRAW
    
    Added DRAW command dsetsignal, resetting OSD signal handler with either armed or disabled FPE handler, according to an option.
    If called without arguments, it sets FPE handler only if environment variable OSD_FPE is defined (with value different from 0).
    On start, DRAW calls dsetsignal to set FPE signal if CSF_FPE is defined.
    Test bugs fclasses bug6143 uses dsetsignal to set FPE handler unconditionally before the test command, and resets it to default at the end.
    
    A number of changes in the code have been done in order to fix floating point exceptions that became generated after enabling signals:
    
    - Global functions Sinh() and Cosh() defined in Standard_Real.hxx are improved to raise Standard_NumericError exception if argument is too big (greater than 710.47586), instead of relying on system treatment of floating point overflow. These functions are used instead of sinh and cosh in ElCLib.cxx.
    
    - Maximal value of parameter on hyperbola is restricted by 23 (corresponding to ~1e10 in 3d) in order to avoid FP overflow in Extrema_GenExtCS.cxx, ShapeFix_EdgeProjAux.cxx.
    
    - Interface of the root curve adaptor class Adaptor3d_Curve has been updated to add new virtual methods BasisCurve and OffsetValue. They complement the adaptor for the case of offset curves. These methods are used in Extrema_GenExtCS.cxx to restrict domain search in the case of offset of hyperbola, in order to get rid of floating point overflow. All classes inheriting Adaptor3d_Curve have been changed to implement the new virtual methods.
    
    - Protection against division by zero has been implemented in ApproxInt_KnotTools.cxx, BRepClass3d_SClassifier.cxx, BRepGProp_Face.cxx, BRepMesh_FastDiscretFace.cxx, Geom2dGcc_Circ2d2TanOnIter.cxx, Geom2dInt_Geom2dCurveTool.cxx, IntPolyh_MaillageAffinage.cxx.
    
    - Protection against calling of math functions of infinite arguments has been added in BRepCheck_Edge.cxx, BRepLib.cxx, CSLib_NormalPolyDef.cxx, Extrema_FuncExtPC.gxx, Extrema_GExtPC.gxx, Extrema_GLocateExtPC.gxx, Intf_InterferencePolygonPolyhedron.gxx, ShapeAnalysis_Surface.cxx, ShapeAnalysis_TransferParametersProj.cxx, ShapeAnalysis_Wire.cxx, math_FunctionSetRoot.cxx.
    
    - Proper initialization of local variables is done in BOPAlgo_PaveFiller_6.cxx, XSDRAWSTLVRML.cxx.
    
    - Inconsistent usage of Standard_Boolean* to access integer data in HLR (caused by #0027772) is corrected
    
    Some test cases have been updated to actual state.
94Commenter 94
I have fixed regression on bugs vis bug24837_1 -- these were effects of #0027772. However, additional regression appeared in the mean time in master -- see new issue #0027891.

Test offset with_intersect_20 J9 is also a regression; I have reverted a change that allowed it to be unnoticed, and registered a new issue to deal with it, #0027892.

Please test branch CR27713_1 (which is built on top of CR26329_7) with corresponding branch CR26329_* in Products in default mode (without CSF_FPE), and integrate if these tests pass. The problems appearing with CSF_FPE should be fixed separately later.
95Commenter 4
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
96Commenter 96
Dear Commenter 2,
Issue CR26329 was tested in #0027713
97Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
98Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
99Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
100Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
101Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
102Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
103Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
104Commenter 4
Branch [archived branch] has been deleted by Commenter 1.

[revision removed]
105Commenter 4
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records