View Issue Details

IDProjectCategoryView StatusLast Update
0023753Open CASCADEOCCT:Modeling Algorithmspublic2014-11-11 13:01
ReporteremvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version6.8.0Fixed in Version6.8.0 
Summary0023753: Test case bugs modalg_2 bug19793_2 works too long on Linux platform
DescriptionTest case bugs modalg_2 bug19793_2 works too long on Linux platform in Release mode.
Steps To Reproducerestore [locate_data_file bug19793_new_shape.brep] b1
restore [locate_data_file bug19793_shape.brep] b2
bop b1 b2
Additional information
and documentation updates
class IntTools_ShrunkRange
method void IntTools_ShrunkRange::Perform()
Fix to avoid creation of small section edges.
TagsNo tags attached.
Test case numberbugs modalg_1 bug19793_2

Activities

abv

2014-09-12 12:26

manager   ~0031654

Last edited: 2014-09-19 16:53

Please explain what is "too long" in this case. On my workstation (Windows 7 64-bit) it works ~ 1 min.

emv

2014-09-12 14:55

developer   ~0031671

Last edited: 2014-09-12 15:02

It seams that the problem is not reproduced in Release mode.
The results of the test in Release mode are the following:
WIN: TOTAL CPU TIME: 174.015625 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt/Windows-32-VC10/bugs/modalg_1/bug19793_2.html)
LIN: TOTAL CPU TIME: 251.64 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt/Debian60-64/bugs/modalg_1/bug19793_2.html)

As for Debug mode the test is killed by cpu limit on Linux platform:
WIN: TOTAL CPU TIME: 498.546875 sec (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt-deb/Windows-32-VC10/bugs/modalg_1/bug19793_2.html)
LIN: Process killed by CPU limit (1000 sec) (http://occt-tests/IR-2014-09-04-IR-2014-09-04-occt-deb/Debian60-64/bugs/modalg_1/bug19793_2.html)

abv

2014-09-12 19:02

manager   ~0031682

Have you tried to increase CPU limit on Linux Debug?

emv

2014-09-19 17:16

developer   ~0031919

Dear mkv,

Could you please try to increase CPU limit for the case bugs modalg_1 bug19793_2 to make it work.

I have tried to perform the case on current master on the Linux platform and got the following results:

cpulimit 2000
dversion
Open CASCADE Technology 6.8.0.dev
Debug mode
TBB enabled (HAVE_TBB)
GL2PS enabled (HAVE_GL2PS)
FreeImage enabled (HAVE_FREEIMAGE)
OpenCL disabled
Exceptions enabled
Compiler: GCC 4.4.6
Architecture: AMD64
OS: CentOS release 6.3 (Final)

puts "Load first shape ..."
restore [locate_data_file bug19793_new_shape.brep] b1
puts "Load second shape ..."
restore [locate_data_file bug19793_shape.brep] b2

puts "Prepare boolean operation ..."
dchrono perf_h reset
dchrono perf_h start
bop b1 b2
dchrono perf_h stop

puts "Start boolean operation ..."
bopsection result
puts "Finish boolean operation ..."
dchrono perf_h show

Elapsed time: 0 Hours 17 Minutes 48.873527 Seconds f
CPU user time: 769.08 seconds
CPU system time: 0.77 seconds

Checking LINUX performance...
ERROR: OCC23753 is reproduced.
       Low performance: 769.08



Could you please also check the performance of this case in the version OCCT 6.5.5. If the performance of the case in OCCT 6.5.5 is similar (or worse) to the performance in current version of OCCT then the issue can be closed.
Otherwise, the issue should be analyzed.

abv

2014-09-19 18:58

manager   ~0031924

Last edited: 2014-09-19 18:59

I wonder how you get such values of CPU... I have tested in two configurations, on my Windows machine (Intel Core i5-340 3.1 HGz, Windows 7 x64):

OCCT 6.5.0 vc8 win32 Release: 46 sec for "bop" command, somewhat ~ 1 min for the whole

current master vc10 win64 Release: 77 sec for test bugs modalg_1 bug19793_2, or 1:19 for the "bop" command, with very fast bsection (or bfuse)

That is, performance is slightly less than in OCCT 6.5, but this is explained by the fact that BOP have been completely redesigned in 6.6. and do more job now.

The test fails due to edge # 4 in the resulting section: it is extremely short (~ 1e-5) and has the same vertex at both ends, but is not degenerated. This problem is not present in OCCT 6.5, hence this (and not performance) looks like regression, to be addressed.

git

2014-10-01 18:59

administrator   ~0032536

Branch CR23753 has been created by emv.

SHA-1: 0af8953086639d0776a13ba9fccbbcb7404988f4


Detailed log of new commits:

Author: emv
Date: Wed Oct 1 18:58:54 2014 +0400

    0023753: Test case bugs modalg_2 bug19793_2 works too long on Linux platform
    
    class IntTools_ShrunkRange
    method void IntTools_ShrunkRange::Perform()
    Fix to avoid creation of small section edges.

emv

2014-10-01 19:04

developer   ~0032538

Git branch CR23753 is ready to be reviewed. It fixes the problem with small edge with only one vertex (see note above (0031924)).

pkv

2014-10-02 09:36

developer   ~0032547

Reviewed

mkv

2014-10-03 16:47

tester   ~0032653

Dear BugMaster,
Branch CR23753 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 0af8953086639d0776a13ba9fccbbcb7404988f4

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:
http://occt-tests/CR23753-master-occt/Debian60-64/bugs/modalg_1/buc60462_2.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/bugs/modalg_1/buc60462_2.html
bugs modalg_1(006) buc60462_2: FAILED

Testing cases:
http://occt-tests/CR23753-master-occt/Debian60-64/bugs/modalg_1/bug19793_2.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/bugs/modalg_1/bug19793_2.html
bugs modalg_1(006) bug19793_2: FAILED

Testing on Linux:
occt component :
Total MEMORY difference: 396931232 / 397637712
Total CPU difference: 49533.66000000016 / 46582.94000000004
products component :
Total MEMORY difference: 120259364 / 121970780
Total CPU difference: 15179.129999999981 / 14605.669999999953

Testing on Windows:
occt component :
Total MEMORY difference: 279458568 / 279203028
Total CPU difference: 32998.953125 / 39375.25
products component :
Total MEMORY difference: 71000196 / 67277560
Total CPU difference: 11443.125 / 11304.765625

There are following differences in images found by testdiff.
http://occt-tests/CR23753-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR23753-master-occt/Windows-32-VC10/diff-Windows-32-VC10.html
IMAGE boolean bopfuse_complex J6: J6.png differs

git

2014-10-03 16:49

administrator   ~0032654

Branch CR23753 has been updated by mkv.

SHA-1: e697e6f2281c5d4928186e8fb9b0e2ddf5f3bd07


Detailed log of new commits:

Author: mkv
Date: Fri Oct 3 16:49:09 2014 +0400

    Correction of test case for issue CR23753

emv

2014-10-09 16:50

developer   ~0032913

Dear MKV,

bugs modalg_1 buc60462_2: the case is the subject of the issue 0022033 (see note 0032911), please mark test case as TODO
bugs modalg_1 bug19793_2: please modify the test script with accordance to the current behavior
IMAGE boolean bopfuse_complex J6: the test case is marked as TODO

mkv

2014-10-15 15:44

tester   ~0033143

Dear BugMaster,
Test cases
bugs modalg_1(006) buc60462_2, bug19793_2
are correted and now its are OK.

git

2014-10-15 15:45

administrator   ~0033144

Branch CR23753 has been updated by mkv.

SHA-1: c8562d5163a3c95ded35c2c292647541783b0a2a


Detailed log of new commits:

Author: mkv
Date: Wed Oct 15 15:38:04 2014 +0400

    Correction of test cases for issue CR23753

git

2014-10-21 16:40

administrator   ~0033398

Branch CR23753 has been deleted by inv.

SHA-1: c8562d5163a3c95ded35c2c292647541783b0a2a

Related Changesets

occt: master d46546cd

2014-10-16 11:14:05

emv


Committer: bugmaster Details Diff
0023753: Test case bugs modalg_2 bug19793_2 works too long on Linux platform

class IntTools_ShrunkRange
method void IntTools_ShrunkRange::Perform()
Fix to avoid creation of small section edges.

Correction of test case for issue CR23753
Affected Issues
0023753
mod - src/IntTools/IntTools_ShrunkRange.cxx Diff File
mod - tests/bugs/modalg_1/buc60462_2 Diff File
mod - tests/bugs/modalg_1/bug19793_2 Diff File

Issue History

Date Modified Username Field Change
2013-02-12 15:18 emv New Issue
2013-02-12 15:18 emv Assigned To => emv
2013-02-12 15:39 emv Summary Test case bugs modalg_2 bug19793_2 works too long on Linux platform with new Boolean Operation algorithm => Test case bugs modalg_2 bug19793_2 works too long on Linux platform
2013-02-12 15:39 emv Description Updated
2014-07-01 12:18 apv Test case number => bugs modalg_1 bug19793_2
2014-09-12 12:26 abv Note Added: 0031654
2014-09-12 12:26 abv Status new => feedback
2014-09-12 12:26 abv Target Version => 6.8.0
2014-09-12 14:55 emv Note Added: 0031671
2014-09-12 14:55 emv Status feedback => assigned
2014-09-12 15:02 emv Note Edited: 0031671
2014-09-12 19:02 abv Note Added: 0031682
2014-09-19 16:53 abv Note Edited: 0031654
2014-09-19 17:16 emv Note Added: 0031919
2014-09-19 17:16 emv Assigned To emv => mkv
2014-09-19 17:16 emv Status assigned => feedback
2014-09-19 18:58 abv Note Added: 0031924
2014-09-19 18:59 abv Note Edited: 0031924
2014-09-26 06:36 abv Assigned To mkv => emv
2014-10-01 18:59 git Note Added: 0032536
2014-10-01 19:04 emv Note Added: 0032538
2014-10-01 19:04 emv Assigned To emv => pkv
2014-10-01 19:04 emv Status feedback => resolved
2014-10-01 19:04 emv Additional Information Updated
2014-10-02 09:36 pkv Note Added: 0032547
2014-10-02 09:36 pkv Assigned To pkv => mkv
2014-10-02 09:36 pkv Status resolved => reviewed
2014-10-03 16:47 mkv Note Added: 0032653
2014-10-03 16:47 mkv Assigned To mkv => emv
2014-10-03 16:47 mkv Status reviewed => assigned
2014-10-03 16:49 git Note Added: 0032654
2014-10-09 16:50 emv Note Added: 0032913
2014-10-09 16:50 emv Assigned To emv => mkv
2014-10-09 16:50 emv Status assigned => resolved
2014-10-09 16:50 emv Status resolved => reviewed
2014-10-15 15:44 mkv Note Added: 0033143
2014-10-15 15:44 mkv Assigned To mkv => bugmaster
2014-10-15 15:44 mkv Status reviewed => tested
2014-10-15 15:45 git Note Added: 0033144
2014-10-20 10:24 bugmaster Changeset attached => occt master d46546cd
2014-10-20 10:24 bugmaster Status tested => verified
2014-10-20 10:24 bugmaster Resolution open => fixed
2014-10-21 16:40 git Note Added: 0033398
2014-11-11 12:44 aiv Fixed in Version => 6.8.0
2014-11-11 13:01 aiv Status verified => closed