MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029181Open CASCADE[OCCT] TOOLS:Jenkins Certification Toolpublic2017-10-04 11:162019-07-19 17:07
Reporterkgv 
Assigned Toapn 
PrioritynormalSeverityfeature 
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.5.0Fixed in Version 
Summary0029181: Jenkins Certification Tool - testing with enabled exceptions (undefined No_Exception)
DescriptionCurrently, OCCT certification is done for Release builds only.
This means, that No_Exception is always defined and issues like out-of-range access within NCollection classes might remain unnoticed.

It is proposed to extend certification with safe-checks enabled (at least, weekly).
This might be done in following ways:
- Testing Debug builds.
  Debug build enables full set of safety checks, including OCCT exceptions (No_Exception), OCCT debug assertions and also debug assertions within C++ STL templates.
- Testing Release builds with No_Exception undefined.
- Testing Release builds with No_Exception undefined and also enabled OCCT debug assertions + something extra.

Testing Debug builds might be tricky, because disabling code optimizations dramatically reduce execution performance - so apart from overall execution time, this might reveal issues with cpulimit configuration.
Also, debug assertions might lead to hanging testing.

So, it might be reasonable to preparing a special build configuration with compiler optimization turned on, but also with auxiliary exceptions/asserts - so that testing will be done in reasonable time with additional verification results.
TagsNo tags attached.
Test case number
Attached Files

- Relationships
related to 0029161newkgv Open CASCADE Coding Rules - No_Exception is defined within packages ElSLib, HLRAlgo, HLRBRep, Intrv even for Debug target 
related to 0023547closedabv Open CASCADE Tests failures in debug mode 
related to 0026598feedbackabv Open CASCADE Some test cases fail if macros OCCT_DEBUG is enabled 
related to 0028608newabv Open CASCADE Exceptions appear in test cases if macros OCCT_DEBUG is enabled 
related to 0023540closedbugmaster Open CASCADE Tests 3rdparty export fail in Debug mode 
related to 0024442assignedgka Open CASCADE Regression in DEBUG mode in test case de iges_2 B1 
parent of 0030452verifiedbugmaster Open CASCADE Visualization - SelectMgr_ViewerSelector::Deactivate() raises exception when called twice 
parent of 0030582verifiedapn Open CASCADE Coding - avoid defining references to properties of NULL objects 
parent of 0030584verifiedapn Open CASCADE Modeling Algorithms, BRepFill_OffsetWire - access violation on Face having no boundaries 
parent of 0030594verifiedapn Open CASCADE Data Exchange - access violation within IGESGeom_BSplineCurve constructor 
related to 0030344verifiedbugmaster Open CASCADE Coding Rules - suppress GCC compiler warnings -Wstrict-overflow on Standard_OutOfRange_Raise_if 
related to 0023838verifiedapn Community Modeling Data - Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell) 
related to 0030345verifiedbugmaster Open CASCADE [REGRESSION] Mesh, BRepMesh_CurveTessellator - GCPnts_TangentialDeflection throws Standard_ConstructionError 
related to 0026034assignedmsv Community Result of revolution aborts the bopcheck if translated 
related to 0030346verifiedbugmaster Open CASCADE Modeling Algorithms - BRepPrimAPI_MakeRevol throws "BRepSweep_Translation::MakeEmptyVertex" 
related to 0030234verifiedbugmaster Community BRepMesh_IncrementalMesh fail to discretize some zero-length free edges 
related to 0030347verifiedbugmaster Open CASCADE [REGRESSION] Mesh, BRepMesh_ModelPostProcessor - NCollection_Array1 throws Standard_RangeError 
related to 0030348verifiedbugmaster Open CASCADE Shape Healing - ShapeFix_Wire::FixEdgeCurves() throws Standard_OutOfRange exception 
related to 0030580verifiedapn Open CASCADE Configuration, CMake - introduce BUILD_RELEASE_DISABLE_EXCEPTIONS option managing No_Exception macros 
related to 0030579verifiedapn Open CASCADE Draw Harness, Draw_Interpretor - catch exceptions other than Standard_Failure 
related to 0030588verifiedapn Open CASCADE Coding - avoid calling operator->() on NULL Handle 
related to 0027316verifiedapn Open CASCADE Draw Harness - access violation on passing non-existing shape to XAddShape 

-  Notes
(0071549)
bugmaster (administrator)
2017-10-16 17:36

OCCT has been compiled with removing from occt_defs_flags.cmake string

set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")

Result of testing is crash all test cases

http://jenkins-test-10.nnov.opencascade.com/job/master-master-no-exception-OCCT-Windows-64-VC10-opt-test/HTML_Report/ [^]

http://jenkins-test-10.nnov.opencascade.com/job/master-master-no-exception-OCCT-Debian70-64-opt-test/HTML_Report/ [^]
(0080755)
git (administrator)
2018-11-06 15:20

Branch CR29181 has been created by kgv.

SHA-1: e1151c398f6922f41eb46abc2b5473888c1b1872


Detailed log of new commits:

Author: kgv
Date: Tue Nov 6 15:19:06 2018 +0300

    0029181: Jenkins Certification Tool - testing with enabled exceptions (undefined No_Exception)
(0081102)
git (administrator)
2018-11-15 09:10

Branch CR29181_1 has been created by kgv.

SHA-1: 8141a23560e41cdd75b2c07732df4b956b1c9541


Detailed log of new commits:

Author: kgv
Date: Tue Nov 6 15:19:06 2018 +0300

    0029181: Jenkins Certification Tool - testing with enabled exceptions (undefined No_Exception)
(0081106)
kgv (developer)
2018-11-15 12:57

Dear bugmaster,

could you please extend CMake procedure with the flag making No_Exception macros conditional for Release builds (enabled by default)?
Please base the patch on current branch CR29181_1 (with reverted changes in CMake scripts).

With this, this option should be also added to Jenkins config (e.g. in similar way as we have USE_GLES2), also disabled by default

After that, it is proposed performing tests weekly on IR to detect possible regressions before integrating new patches.

After last integrations, the following issues remain (failing with No_Exception defined):
Failed
bugs modalg_7 	bug23838 	bug26034
bugs moddata_2 	bug65
bugs vis 	bug79 	bug24396
de step_2 	B6


The bugs should be reported for remaining issues (if not registered already).
(0081840)
git (administrator)
2019-01-21 13:03

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: 89c8597116db6fdf670d28efa739f2a6ee783a3b
(0081848)
git (administrator)
2019-01-21 15:50

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: c430bf25d1b41442f070299ebf39cb3897c2e17d
(0081850)
git (administrator)
2019-01-21 15:55

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: d7c635b051581d7b0a8d0265facea8d386f4b417
(0082972)
git (administrator)
2019-03-15 11:37

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: 2532dbf7aaf7d6b347e9136285f6067bb3427e46
(0082980)
git (administrator)
2019-03-15 13:21

Branch CR29181_1 has been updated by kgv.

SHA-1: d36173a06881e104a9635e2e9c61e9100d577523


Detailed log of new commits:

Author: kgv
Date: Fri Mar 15 13:16:06 2019 +0300

    opencascade::handle - throw std::runtime_error() on NULL pointer dereference.

Author: kgv
Date: Fri Mar 15 13:15:18 2019 +0300

    0030579: Draw Harness, Draw_Interpretor - catch exceptions other than Standard_Failure

(0082992)
git (administrator)
2019-03-15 15:45

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: 61ac9cf4824aa4aba4e7d3af3e140702263f044f
(0082995)
git (administrator)
2019-03-15 16:32

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: 999d7859d95d96780da71736524b3b406025a998
(0082998)
git (administrator)
2019-03-15 17:37

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: 381af249c8d292fc686a2960b8379dcd2baa2bbd
(0083000)
git (administrator)
2019-03-15 17:42

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: 3e0174fc8b21c0ba9398451c9004bbe98bc85556
(0083003)
git (administrator)
2019-03-15 18:11

Branch CR29181_1 has been updated by kgv.

SHA-1: 590259fcd73b34c369093f2bb9edb997e7a00c8a


Detailed log of new commits:

Author: kgv
Date: Fri Mar 15 18:06:04 2019 +0300

    Avoid defining references to properties of NULL objects.

(0083016)
git (administrator)
2019-03-16 15:18

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: d9301880a092915b5130c1c42a7cb47b5a8bcd71
(0083019)
git (administrator)
2019-03-16 16:13

Branch CR29181_1 has been updated by kgv.

SHA-1: 00641187d56b413bdbb792fb596e0d6b41503ae1


Detailed log of new commits:

Author: kgv
Date: Sat Mar 16 16:08:27 2019 +0300

    0023838: Modeling Data - Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell)
    
    Fixed incorrect array allocation within GeomEvaluator_OffsetSurface::CalculateDN()
    and protection against assigning out-of-range values in case of non-square
    number of U and V derivatives on surface.

(0083024)
git (administrator)
2019-03-16 18:12

Branch CR29181_1 has been updated by kgv.

SHA-1: 3232961dcfa3764fc31bdab2aa5fab1c9131ef67


Detailed log of new commits:

Author: kgv
Date: Sat Mar 16 18:06:52 2019 +0300

    XCAFDoc_ColorTool - fix static method misuse

(0083027)
git (administrator)
2019-03-16 19:04

Branch CR29181_1 has been updated forcibly by kgv.

SHA-1: a38efef816c0f81e9c4fb55d94877650b7f1ec48
(0083062)
git (administrator)
2019-03-18 22:44

Branch CR29181_2 has been created by kgv.

SHA-1: d6289451ac8b680307209b1521542353b941d9bb


Detailed log of new commits:

Author: kgv
Date: Mon Mar 18 22:38:58 2019 +0300

    Remove No_Standard_* macros defined within .cxx files.

Author: kgv
Date: Fri Mar 15 18:06:04 2019 +0300

    0030582: Coding - avoid defining references to properties of NULL objects
    
    Approx_SweepApproximation::Perform() now creates empty arrays.
    GeomAdaptor_SurfaceOfRevolution::UTrim() - fixed No_Exception misuse.
    Poly_Triangulation::UVNodes() has been extended with NULL check.
    
    BSplCLib::MovePoint() and BSplCLib::MovePointAndTangent() now take optional
    weights parameter as pointer consistent to other methods like BSplCLib::BuildEval().

Author: kgv
Date: Tue Nov 6 15:19:06 2018 +0300

    0029181: Jenkins Certification Tool - testing with enabled exceptions (undefined No_Exception)

Author: kgv
Date: Fri Mar 15 13:16:06 2019 +0300

    Added building option OCCT_DEBUG_SANITIZE_EXCEPTIONS for performing expensive checks
    
    When this option is ON, opencascade::handle throws std::runtime_error() on NULL pointer dereference,
    and Standard_OutOfRange_Raise_if throws std::runtime_error() instead of Standard_OutOfRange
    to detect cases when broken code remains hidden by exception handling.

Author: kgv
Date: Sat Mar 16 11:25:47 2019 +0300

    0030583: Draw Harness - ignore cpulimit when Debugger is attached on Windows platform
    
    cpulimit now omits ExitProcess() when IsDebuggerPresent() returns TRUE.

Author: kgv
Date: Sat Mar 16 16:08:27 2019 +0300

    0023838: Modeling Data - Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell)
    
    Fixed incorrect array allocation within GeomEvaluator_OffsetSurface::CalculateDN()
    and protection against assigning out-of-range values in case of non-square
    number of U and V derivatives on surface.

Author: kgv
Date: Fri Mar 15 13:15:18 2019 +0300

    0030579: Draw Harness, Draw_Interpretor - catch exceptions other than Standard_Failure
(0083101)
git (administrator)
2019-03-19 11:30

Branch CR29181_2 has been updated by kgv.

SHA-1: 6f679cf9b684e08eaa701c1995b5cef653084ca8


Detailed log of new commits:

Author: kgv
Date: Tue Mar 19 11:24:21 2019 +0300

    0030593: Modeling Algorithms - ShapeUpgrade_ShapeDivide::Perform() throws Standard_NoMoreObject
    
    Added missing TopExp_Explorer::More() check.

(0083103)
git (administrator)
2019-03-19 11:36

Branch CR29181_2 has been updated by kgv.

SHA-1: 9f42b0b6f5716180ac126ecaff6afaa395682d45


Detailed log of new commits:

Author: kgv
Date: Tue Mar 19 11:31:06 2019 +0300

    BRepCheck_Analyzer::Perform() - add missing TopExp_Explorer::More() check.

(0083104)
git (administrator)
2019-03-19 11:39

Branch CR29181_2 has been updated by kgv.

SHA-1: 3a1323b2ae1b0bb53bfa042b60f6088e2d0f7b10


Detailed log of new commits:

Author: kgv
Date: Tue Mar 19 11:34:02 2019 +0300

    StdSelect_BRepSelectionTool::GetSensitiveForFace() - add missing check for an empty sequence

(0083107)
git (administrator)
2019-03-19 13:01

Branch CR29181_2 has been updated by kgv.

SHA-1: 96b07f48efbd7ea131db379096778b565f9621d1


Detailed log of new commits:

Author: kgv
Date: Tue Mar 19 12:55:37 2019 +0300

    # 0030588
    XCAFDoc_LayerTool::SetVisibility() - fixed static method misuse.

(0083124)
git (administrator)
2019-03-20 08:59

Branch CR29181_2 has been updated by kgv.

SHA-1: 6583628044d1b1f2f77cc997441b6b8dcc4e4942


Detailed log of new commits:

Author: kgv
Date: Wed Mar 20 08:53:41 2019 +0300

    0027316: Draw Harness - access violation on passing non-existing shape to XAddShape
    
    Add NULL check to XAddShape command.
    Removed broken test case bugs/step/bug27316.

(0083127)
git (administrator)
2019-03-20 09:56

Branch CR29181_2 has been updated by kgv.

SHA-1: 722588876eef7197911cc2892b36a32443382a04


Detailed log of new commits:

Author: kgv
Date: Wed Mar 20 09:50:52 2019 +0300

    0030594: Data Exchange - access violation within IGESGeom_BSplineCurve constructor
    
    Added NULL check.

(0083203)
git (administrator)
2019-03-24 10:38

Branch CR29181_2 has been updated forcibly by kgv.

SHA-1: 8737f01015d406caa2643f9acd2049ccf31920c3

- Issue History
Date Modified Username Field Change
2017-10-04 11:16 kgv New Issue
2017-10-04 11:16 kgv Assigned To => bugmaster
2017-10-04 11:17 kgv Relationship added related to 0028194
2017-10-04 11:18 kgv Relationship added related to 0029161
2017-10-04 11:18 kgv Relationship added related to 0029039
2017-10-04 11:19 kgv Relationship added related to 0024199
2017-10-04 11:20 kgv Relationship added related to 0025172
2017-10-04 11:20 kgv Relationship added related to 0023547
2017-10-04 11:20 kgv Relationship added related to 0026598
2017-10-04 11:21 kgv Relationship added related to 0028608
2017-10-04 11:21 kgv Relationship added related to 0024462
2017-10-04 11:21 kgv Relationship added related to 0023540
2017-10-04 11:23 kgv Relationship added related to 0024442
2017-10-04 11:23 kgv Relationship added related to 0024243
2017-10-16 17:36 bugmaster Note Added: 0071549
2017-10-16 17:36 bugmaster Assigned To bugmaster => kgv
2017-10-16 17:36 bugmaster Status new => feedback
2018-11-06 15:20 git Note Added: 0080755
2018-11-06 15:48 kgv Relationship added related to 0030344
2018-11-06 17:25 kgv Relationship added related to 0023838
2018-11-06 17:45 kgv Relationship added related to 0030345
2018-11-06 17:53 kgv Relationship added related to 0026034
2018-11-06 18:05 kgv Relationship added related to 0030346
2018-11-06 18:10 kgv Relationship added related to 0030234
2018-11-06 18:42 kgv Relationship added related to 0030347
2018-11-06 19:48 kgv Relationship added related to 0030348
2018-11-15 09:10 git Note Added: 0081102
2018-11-15 12:57 kgv Note Added: 0081106
2018-11-15 12:57 kgv Assigned To kgv => apn
2018-11-15 12:57 kgv Status feedback => assigned
2018-11-20 22:55 kgv Relationship added parent of 0030380
2019-01-21 13:03 git Note Added: 0081840
2019-01-21 15:28 kgv Relationship added parent of 0030452
2019-01-21 15:50 git Note Added: 0081848
2019-01-21 15:55 git Note Added: 0081850
2019-03-15 11:37 git Note Added: 0082972
2019-03-15 13:21 git Note Added: 0082980
2019-03-15 14:30 kgv Relationship added related to 0030580
2019-03-15 15:45 git Note Added: 0082992
2019-03-15 16:32 git Note Added: 0082995
2019-03-15 16:34 kgv Relationship added related to 0030579
2019-03-15 17:37 git Note Added: 0082998
2019-03-15 17:42 git Note Added: 0083000
2019-03-15 18:11 git Note Added: 0083003
2019-03-16 10:40 kgv Relationship added parent of 0030582
2019-03-16 13:26 kgv Relationship added parent of 0030584
2019-03-16 15:18 git Note Added: 0083016
2019-03-16 16:13 git Note Added: 0083019
2019-03-16 18:12 git Note Added: 0083024
2019-03-16 18:24 kgv Relationship added related to 0030587
2019-03-16 19:04 git Note Added: 0083027
2019-03-16 19:07 kgv Relationship added related to 0030588
2019-03-18 22:44 git Note Added: 0083062
2019-03-19 11:30 git Note Added: 0083101
2019-03-19 11:36 git Note Added: 0083103
2019-03-19 11:39 git Note Added: 0083104
2019-03-19 13:01 git Note Added: 0083107
2019-03-20 08:59 git Note Added: 0083124
2019-03-20 09:56 git Note Added: 0083127
2019-03-20 09:58 kgv Relationship added related to 0027316
2019-03-20 09:59 kgv Relationship added parent of 0030594
2019-03-24 10:38 git Note Added: 0083203
2019-04-10 19:11 kgv Relationship added related to 0030597
2019-07-19 17:07 apn Target Version 7.4.0* => 7.5.0


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker