MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024008Community[OCCT] OCCT:Shape Healingpublic2013-06-02 12:402013-12-19 14:00
ReporterRoman Lygin 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformAOSLOS VersionL
Product Version[OCCT] 6.6.0 
Target Version[OCCT] 6.7.0Fixed in Version[OCCT] 6.7.0 
Summary0024008: ShapeAnalysis_Surface causes exception in Geom_OffsetSurface
DescriptionWhen searching for point projection ShapeAnalysis_Surface::SurfaceNewton() can go far beyond parametric surface domain.
For offset surfaces, this may cause an exception Geom_UndefinedValue in D2().

Previous behavior of ShapeAnalysis_Surface::SurfaceNewton() was to continue iterations as long as du and dv continue to be large enough. For the enclosed case (200-b) this leads to reaching a 2D point with parameter U > 39 while the suface's Umax is 1.

The two enclosed test cases use almost identical surface/curve, only differing in rounding in 15 or 16 digit after the decimal dot. For the case 200, the parameter U reaches 11 (i.e. not 39) and no exception is thrown, although the resulting projected curve is the same and is limited by a natural domain anyway.

The fix swaps two comparisons and makes the loop terminate if the new 2D point is beyond the surface domain. In this case, NextValueOfUV() falls back to ValueOfUV().
Steps To ReproduceSee enclosed C++ code and two test cases.
Note that the 3D curve is quite beyond the surface. However this comes from a real-world file, and the projection limited by surface domain is expected as a result.
TagsNo tags attached.
Test case numberbugs heal(017) bug24008_1 bug24008_2
Attached Fileszip file icon reproducer.zip (16,144 bytes) 2013-06-02 12:40

- Relationships
related to 0023943closedRoman Lygin OCC fails to work with offset surfaces with singularities 

-  Notes
(0024592)
Roman Lygin (developer)
2013-06-02 12:47

The fix has been pushed into the git repository
(0024863)
apn (administrator)
2013-06-25 17:19

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

Number of compiler warnings:

occt component :
Linux: 2 (2 on master)
Windows: 7 (7 on master)

products component :
Linux: 0 (0 on master)
Windows: 63 (63 on master)

Regressions:
de iges_3 A4
de step_2 P3
de step_4 I2
http://occt-tests/CR24008-master-occt/Debian60-64/summary.html [^]
http://occt-tests/CR24008-master-occt/Windows-32-VC9/summary.html [^]

Improvements:
No improvements

Testing cases:
bugs heal (017) bug24008_1 bug24008_2 - OK

Could you please review this test case and new QA command OCC24008, which is located in src/QABugs/QABugs_19.cxx?

Testing on Linux:
Total MEMORY difference: 365755824 / 365800244
Total CPU difference: 53917.97000000024 / 48126.490000000886

Testing on Windows:
Total MEMORY difference: 420908224 / 421674192
Total CPU difference: 46922.953125 / 37349.765625

There are not differences in images found by testdiff.
(0024939)
gka (developer)
2013-07-02 09:50

New QA command OCC24008 was reviewed
(0026673)
Roman Lygin (developer)
2013-11-16 21:40

The fix is not in 6.7.0 beta.
OCC team: can you please review and integrate the fix into the production release 6.7.0 ?
Thank you in advance.
(0026855)
gka (developer)
2013-11-22 16:35

Dear Roman.

As far as you can see three regression were found during testing your fix. I checked your fix on current master and inform you about results.
(0026862)
gka (developer)
2013-11-22 19:18

Refactored on current master branch CR24008_1 is ready to be tested.
Following tests were updated:
de iges_3 A4
de step_2 P3
de step_4 I2
(0026913)
mkv (tester)
2013-11-26 12:25

Dear BugMaster,

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

Number of compiler warnings:

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

products component :
Linux: 188 (188 on master)
Windows: 286 (286 on master)

Regressions/Differences:
http://occt-tests/CR24008-1-master-occt/Debian60-64/de/iges_1/P5.html [^]
http://occt-tests/CR24008-1-master-occt/Windows-32-VC9/de/iges_1/P5.html [^]
de iges_1(001) P5: FAILED

Testing cases:
http://occt-tests/CR24008-1-master-occt/Debian60-64/bugs/heal/bug24008_1.html [^]
http://occt-tests/CR24008-1-master-occt/Debian60-64/bugs/heal/bug24008_2.html [^]
http://occt-tests/CR24008-1-master-occt/Windows-32-VC9/bugs/heal/bug24008_1.html [^]
http://occt-tests/CR24008-1-master-occt/Windows-32-VC9/bugs/heal/bug24008_2.html [^]
bugs heal (017) bug24008_1 bug24008_2 - FAILED (exception) - invalid command name "OCC24008"

Testing on Linux:
Total MEMORY difference: 357160084 / 358363416
Total CPU difference: 42535.290000000154 / 43951.280000000384

Testing on Windows:
Total MEMORY difference: 412558160 / 412628780
Total CPU difference: 34579.421875 / 32169.1875

There are not differences in images found by testdiff.
(0026914)
mkv (tester)
2013-11-26 12:25

Dear gka,
bugs heal (017) bug24008_1 bug24008_2 - see CR24008
OCC24008 - see QABugs_19.cxx in CR24008
(0026920)
gka (developer)
2013-11-26 15:31

Test case de iges_1 P5 is not regression. Please regenerate this test.
(0026952)
mkv (tester)
2013-11-27 12:28

Dear BugMaster,

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

Number of compiler warnings:

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

products component :
Linux: 188 (188 on master)
Windows: 286 (286 on master)

Regressions/Differences:
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24008_1m/job/mnt-CR24008_1m-master_products_tests_linux_start/label=Debian60-64,tests_group=sat,tests_subgroup=002/3/HTML_Report/? [^]
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24008_1m/job/mnt-CR24008_1m-master_products_tests_windows_start/label=windows_test,tests_group=sat,tests_subgroup=002/4/HTML_Report/? [^]
sat doc_2(002) H1: FAILED

Testing cases:
http://occt-tests/CR24008-1m-master-occt/Debian60-64/bugs/heal/bug24008_1.html [^]
http://occt-tests/CR24008-1m-master-occt/Windows-32-VC9/bugs/heal/bug24008_1.html [^]
bugs heal(017) bug24008_1: OK

http://occt-tests/CR24008-1m-master-occt/Debian60-64/bugs/heal/bug24008_2.html [^]
http://occt-tests/CR24008-1m-master-occt/Windows-32-VC9/bugs/heal/bug24008_2.html [^]
bugs heal(017) bug24008_2: OK

Testing on Linux:
Total MEMORY difference: 358289996 / 358507884
Total CPU difference: 49319.61000000002 / 43972.10000000039

Testing on Windows:
Total MEMORY difference: 413204048 / 412694056
Total CPU difference: 31962.984375 / 32186.09375

There are not differences in images found by testdiff.
(0026960)
gka (developer)
2013-11-27 14:05

Test case sat doc_2(002) H1 is improvement .Could you please regenerate reference data for this test.
(0026973)
mkv (tester)
2013-11-28 10:44

Dear BugMaster,
Test case sat doc_2(002) H1 is pushed to new branch CR24008_1 of Products-GIT repository.

- Related Changesets
occt: master 2e9fd4bc
Timestamp: 2013-11-28 08:13:15
Author: gka
Committer: bugmaster
Details ] Diff ]
0024008: ShapeAnalysis_Surface causes exception in Geom_OffsetSurface

Refactoring on current master fix for bug 0024008: ShapeAnalysis_Surface causes exception in Geom_OffsetSurface.
And modified test scripts in order to avoid report regressions
Test cases for issue CR24008
mod - src/QABugs/QABugs_19.cxx Diff ] File ]
mod - src/ShapeAnalysis/ShapeAnalysis_Surface.cxx Diff ] File ]
add - tests/bugs/heal/bug24008_1 Diff ] File ]
add - tests/bugs/heal/bug24008_2 Diff ] File ]
mod - tests/de/iges_3/A4 Diff ] File ]
mod - tests/de/step_2/P3 Diff ] File ]
mod - tests/de/step_4/I2 Diff ] File ]

- Issue History
Date Modified Username Field Change
2013-06-02 12:40 Roman Lygin New Issue
2013-06-02 12:40 Roman Lygin Assigned To => gka
2013-06-02 12:40 Roman Lygin File Added: reproducer.zip
2013-06-02 12:47 Roman Lygin Note Added: 0024592
2013-06-02 12:47 Roman Lygin Status new => resolved
2013-06-02 15:56 abv Relationship added related to 0023943
2013-06-24 17:56 gka Status resolved => reviewed
2013-06-25 17:19 apn Note Added: 0024863
2013-06-25 17:20 apn Test case number => bugs heal bug24008_1 bug24008_2
2013-06-25 17:20 apn Status reviewed => assigned
2013-07-02 09:50 gka Note Added: 0024939
2013-11-13 16:42 apn Status assigned => feedback
2013-11-16 21:40 Roman Lygin Note Added: 0026673
2013-11-22 16:35 gka Note Added: 0026855
2013-11-22 19:18 gka Note Added: 0026862
2013-11-22 19:18 gka Status feedback => reviewed
2013-11-25 08:06 mkv Assigned To gka => mkv
2013-11-26 12:25 mkv Note Added: 0026913
2013-11-26 12:25 mkv Note Added: 0026914
2013-11-26 12:26 mkv Test case number bugs heal bug24008_1 bug24008_2 => bugs heal(017) bug24008_1 bug24008_2
2013-11-26 12:26 mkv Assigned To mkv => gka
2013-11-26 12:26 mkv Status reviewed => assigned
2013-11-26 15:31 gka Note Added: 0026920
2013-11-27 12:28 mkv Note Added: 0026952
2013-11-27 12:29 mkv Status assigned => feedback
2013-11-27 14:05 gka Note Added: 0026960
2013-11-27 14:05 gka Status feedback => reviewed
2013-11-27 14:56 mkv Assigned To gka => mkv
2013-11-28 10:44 mkv Note Added: 0026973
2013-11-28 10:45 mkv Assigned To mkv => bugmaster
2013-11-28 10:45 mkv Status reviewed => tested
2013-12-02 10:21 bugmaster Changeset attached => occt master 2e9fd4bc
2013-12-02 10:21 bugmaster Status tested => verified
2013-12-02 10:21 bugmaster Resolution open => fixed
2013-12-09 12:03 bugmaster Target Version => 6.7.0
2013-12-19 13:50 bugmaster Status verified => closed
2013-12-19 14:00 bugmaster Fixed in Version => 6.7.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker