MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029698Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2018-04-16 15:042018-06-29 21:19
Reporteremv 
Assigned Toabv 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.2.0 
Target Version[OCCT] 7.3.0Fixed in Version[OCCT] 7.3.0 
Summary0029698: Regression vs 7.2.0: Common operation raises FLT_INVALID_OPERATION exception
DescriptionThe problem is reproduced in the test case bugs/modalg_6/bug26952_1 if "USE_FPE_SIGNAL" turned on.

The problem seems to be caused by the fix for the issue #29688.
Steps To Reproducetest bugs modalg_6 bug26952_1
TagsNo tags attached.
Test case numberbugs modalg_7 bug29698
Attached Files

- Relationships

-  Notes
(0075464)
git (administrator)
2018-04-16 15:21

Branch CR29698 has been created by emv.

SHA-1: e52d773ad46c6fbd56f9bdbd1972c0062abddeee


Detailed log of new commits:

Author: emv
Date: Mon Apr 16 15:21:35 2018 +0300

    0029698: Regression vs 7.2.0: Common operation raises FLT_INVALID_OPERATION exception
    
    When checking if the split edge is oriented as the original one (BOPTools_AlgoTools::IsSplitToReverse()) the tangent vectors should be computed for both edges at the same point. This point is taken on the split edge and projected on the original edge. The fix is intended to ensuring that the reference point will be taken inside the valid range of the split edge (i.e. not covered by the tolerance spheres of its bounding vertices) and the projection of this point on the original edge will be successful.
(0075468)
emv (developer)
2018-04-17 08:04

Dear Mikhail, could you please review the git branch CR29698?
Test results - http://jenkins-test-11.nnov.opencascade.com:8080/view/CR29698-master-emv/view/COMPARE/ [^]
(0075472)
msv (developer)
2018-04-17 12:24

src/BOPAlgo/BOPAlgo_Builder_2.cxx
- Put 828,831 lines in else statement.

src/BOPTools/BOPTools_AlgoTools2D.hxx
- Do not change API of AttachExistingPCurve. Instead, change IsSplitToReverse.

src/BOPTools/BOPTools_AlgoTools.cxx
- Make several intermediate points in IsSplitToReverse to increase reliability of the method. Add error status as the optional output parameter, and generate warning in the calling method in case of error.

Add a test case with "dsetsignal 1".
(0075477)
git (administrator)
2018-04-17 15:25

Branch CR29698_1 has been created by emv.

SHA-1: 9a58f7c24177a5653a1de1c7a6f3dfd1289fab89


Detailed log of new commits:

Author: emv
Date: Mon Apr 16 15:21:35 2018 +0300

    0029698: Regression vs 7.2.0: Common operation raises FLT_INVALID_OPERATION exception
    
    When checking if the split edge is oriented as the original one (BOPTools_AlgoTools::IsSplitToReverse()) the tangent vectors should be computed for both edges at the same point. This point is taken on the split edge and projected on the original edge.
    The fix is intended to ensuring that the reference point will be taken inside the valid range of the split edge (i.e. not covered by the tolerance spheres of its bounding vertices) and the projection of this point on the original edge will be successful. Moreover, several sampling points are now taken on the split edge and processed until first valid point is found.
    
    If requested (by a not null pointer) all *BOPTools_AlgoTools::IsSplitToReverse()* methods are now return the error status of the check. Before using the returned flag, the calling program should check this error status. For successful check the error status should be equal to zero.
    
    New warning *BOPAlgo_AlertUnableToOrientTheShape* is now returned in the algorithms in Boolean component in case the check for correct shape orientation failed.
    
    Test case for the issue.
(0075501)
emv (developer)
2018-04-18 08:18

Remarks have been considered. Please review the git branch CR29698_1.
(0075506)
msv (developer)
2018-04-18 10:50

In IsSplitToReverse(edge,edge) revise the error codes numbers.

Change theContext to const& in all APIs.
(0075522)
git (administrator)
2018-04-18 16:40

Branch CR29698_1 has been updated by emv.

SHA-1: ba9083f0faab10e5b02a3a0e94ab3c9bd09e1472


Detailed log of new commits:

Author: emv
Date: Wed Apr 18 16:40:38 2018 +0300

    # Considering remarks.

(0075532)
emv (developer)
2018-04-19 08:15

Please review again.
(0075535)
msv (developer)
2018-04-19 10:09

Reviewed.
(0075762)
abv (manager)
2018-05-03 10:26

Is this change necessary?

src/BOPTools/BOPTools_AlgoTools2D.hxx:
- Standard_EXPORT static Standard_Integer AttachExistingPCurve (const TopoDS_Edge& aEold, const TopoDS_Edge& aEnew, const TopoDS_Face& aF, const Handle(IntTools_Context)& aCtx);
+ Standard_EXPORT static Standard_Integer AttachExistingPCurve (const TopoDS_Edge& aEold, const TopoDS_Edge& aEnew, const TopoDS_Face& aF, Handle(IntTools_Context)& aCtx);

It seems that aCtx is actually not changed inside that method, thus should be passed as const & to it (and all nested methods). Or does it change?
(0075763)
emv (developer)
2018-05-03 10:36

This change is not actual. The actual state is in the branch CR29698_1.
(0075771)
abv (manager)
2018-05-03 11:44

OOps, you are right, pardon moi!
(0076178)
bugmaster (administrator)
2018-05-23 15:21

Combination -
OCCT branch : CR29698_1 SHA - ba9083f0faab10e5b02a3a0e94ab3c9bd09e1472
Products branch : master SHA - 8471189e8649026d76950924f8ec2b4878cba528
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian70-64:
OCCT
Total CPU difference: 18210.899999999907 / 18243.73999999987 [-0.18%]
Products
Total CPU difference: 7498.57000000006 / 7495.350000000049 [+0.04%]
Windows-64-VC10:
OCCT
Total CPU difference: 18015.5258833986 / 18049.78370299853 [-0.19%]
Products
Total CPU difference: 8244.075646299874 / 8209.739826199884 [+0.42%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0076265)
git (administrator)
2018-05-24 18:13

Branch CR29698 has been deleted by kgv.

SHA-1: e52d773ad46c6fbd56f9bdbd1972c0062abddeee
(0076266)
git (administrator)
2018-05-24 18:13

Branch CR29698_1 has been deleted by kgv.

SHA-1: ba9083f0faab10e5b02a3a0e94ab3c9bd09e1472

- Related Changesets
occt: master 80d55adf
Timestamp: 2018-04-16 12:21:35
Author: abv
Committer: abv
Details ] Diff ]
0029698: Regression vs 7.2.0: Common operation raises FLT_INVALID_OPERATION exception

When checking if the split edge is oriented as the original one (BOPTools_AlgoTools::IsSplitToReverse()) the tangent vectors should be computed for both edges at the same point. This point is taken on the split edge and projected on the original edge.
The fix is intended to ensuring that the reference point will be taken inside the valid range of the split edge (i.e. not covered by the tolerance spheres of its bounding vertices) and the projection of this point on the original edge will be successful. Moreover, several sampling points are now taken on the split edge and processed until first valid point is found.

If requested (by a not null pointer) all *BOPTools_AlgoTools::IsSplitToReverse()* methods are now return the error status of the check. Before using the returned flag, the calling program should check this error status. For successful check the error status should be equal to zero.

New warning *BOPAlgo_AlertUnableToOrientTheShape* is now returned in the algorithms in Boolean component in case the check for correct shape orientation failed.

Test case for the issue.
mod - dox/dev_guides/upgrade/upgrade.md Diff ] File ]
mod - src/BOPAlgo/BOPAlgo.msg Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_Alerts.hxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_BOPAlgo_msg.pxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_Builder.hxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_Builder_1.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_Builder_2.cxx Diff ] File ]
mod - src/BOPAlgo/BOPAlgo_Builder_3.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools.hxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools2D.hxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools2D_1.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools3D.cxx Diff ] File ]
mod - src/BOPTools/BOPTools_AlgoTools3D.hxx Diff ] File ]
add - tests/bugs/modalg_7/bug29698 Diff ] File ]

- Issue History
Date Modified Username Field Change
2018-04-16 15:04 emv New Issue
2018-04-16 15:04 emv Assigned To => msv
2018-04-16 15:05 emv Assigned To msv => emv
2018-04-16 15:05 emv Status new => assigned
2018-04-16 15:21 git Note Added: 0075464
2018-04-17 08:04 emv Note Added: 0075468
2018-04-17 08:04 emv Assigned To emv => msv
2018-04-17 08:04 emv Status assigned => resolved
2018-04-17 12:24 msv Note Added: 0075472
2018-04-17 12:24 msv Assigned To msv => emv
2018-04-17 12:24 msv Status resolved => assigned
2018-04-17 15:25 git Note Added: 0075477
2018-04-18 08:18 emv Note Added: 0075501
2018-04-18 08:18 emv Assigned To emv => msv
2018-04-18 08:18 emv Status assigned => resolved
2018-04-18 10:50 msv Note Added: 0075506
2018-04-18 10:50 msv Assigned To msv => emv
2018-04-18 10:50 msv Status resolved => assigned
2018-04-18 16:40 git Note Added: 0075522
2018-04-19 08:15 emv Note Added: 0075532
2018-04-19 08:15 emv Assigned To emv => msv
2018-04-19 08:15 emv Status assigned => resolved
2018-04-19 10:09 msv Note Added: 0075535
2018-04-19 10:09 msv Assigned To msv => bugmaster
2018-04-19 10:09 msv Status resolved => reviewed
2018-05-03 10:26 abv Note Added: 0075762
2018-05-03 10:36 emv Note Added: 0075763
2018-05-03 11:44 abv Note Added: 0075771
2018-05-23 15:21 bugmaster Note Added: 0076178
2018-05-23 15:21 bugmaster Status reviewed => tested
2018-05-23 15:22 bugmaster Test case number => bugs modalg_7 bug29698
2018-05-24 16:02 abv Changeset attached => occt master 80d55adf
2018-05-24 16:02 abv Assigned To bugmaster => abv
2018-05-24 16:02 abv Status tested => verified
2018-05-24 16:02 abv Resolution open => fixed
2018-05-24 18:13 git Note Added: 0076265
2018-05-24 18:13 git Note Added: 0076266
2018-06-29 21:13 user533 Fixed in Version => 7.3.0
2018-06-29 21:19 user533 Status verified => closed


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker