MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0023983Open CASCADE[OCCT] OCCT:Testspublic2013-05-22 12:432015-05-14 15:32
Reporterapn 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2008OS Version32 bit
Product Version[OCCT] 6.6.0 
Target Version[OCCT] 6.9.0Fixed in Version[OCCT] 6.9.0 
Summary0023983: Cpulimit doesn't kill test cases
DescriptionProblem is reproduced on product testgroup emesh/standard.
Begin file contains "cpulimit 1000", but some cases is not killed and they hang and execute by hours.
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships

-  Notes
(0024461)
abv (manager)
2013-05-22 12:53

Please indicate which particular tests exhibit this problem, whether this behavior is reproduced on master or in some branch, is it regular or random, and provide other relevant details if you know.
(0024487)
apn (administrator)
2013-05-23 12:29
edited on: 2013-05-29 13:13

This problem is reproduced on Windows platform in random mode on all testing branches. Various tests exhibit this problem (A7, A8, B4, etc). Every time process hangs on various test cases.
test grids:
emesh standard
dxf doc_2
sat doc_1

(0024575)
abv (manager)
2013-05-31 08:15

As we discussed, most likely cpulimit command does not kill the process because it does not run CPU, possibly waiting for some event or entering deadlock. Taking that this happens in product tests only, but in different groups, the license module should be suspected first.

Hence my proposal is:

1. To extend cpulimit command so that it controls also (or instead?) elapsed time

2. To investigate (debug) hanging test cases and fix the hang-up reason
(0024582)
szv (manager)
2013-05-31 14:21

Would it be possible next time some test hangs to attach a debugger to the process and let me check what happens?
(0024626)
apn (administrator)
2013-06-04 12:49
edited on: 2013-06-04 12:49

I've modified command cpulimit and tested it on group emesh. Tests were killed by elapsed time. Please, could you review this changes?
Changes are in branch CR23983.

(0024683)
abv (manager)
2013-06-07 08:58

Please change the code to allow for resetting the elapsed timer (as it is done for CPU timer). In your current version, OSD_Timer runs inside CpuFunc and never reset. I suggest it should be made a global variable (instead of ELAP_CURRENT, now unused) and reset + started in cpulimit function.

Further please enable elapsed time control on Linux.

Minor remarks:
- Replace 'ELAP' by 'elapsed' in messages
- The code has extra indentation around line 415 and below; please adjust
- There is no need to have ELAP_LIMIT as separate variable, as it is always equal to CPU_LIMIT
(0033933)
git (administrator)
2014-10-31 12:54

Branch CR23983 has been updated forcibly by ski.

SHA-1: c342cd37d6663c92071048240c0f51369c06821a
(0033945)
git (administrator)
2014-10-31 14:20

Branch CR23983 has been updated forcibly by ski.

SHA-1: 4b84cfd5ecd9e7e3cc9bc779dc1aa152e42454fe
(0033946)
ski (developer)
2014-10-31 14:23

Elapsed time control on Linux was enabled.

Remarks were applied (resetting of elapsed timer, unused variables were removed)

Changes are located in branch CR23983
Please, review.
(0034900)
abv (manager)
2014-12-02 09:54

Reviewed, please test.

Minor remarks: instance of OSD_Timer is defined before inclusion of OSD_Timer.hxx, this means (if the code compiles) that that inclusion is unnecessary. Definition of aTimer should be better moved to lines ~ 64 where other static vars are defined.
(0034904)
git (administrator)
2014-12-02 11:36

Branch CR23983 has been updated forcibly by ski.

SHA-1: dd792688eadd879149f8b594b4c4726921ce7b37
(0034906)
git (administrator)
2014-12-02 12:00

Branch CR23983 has been updated forcibly by apv.

SHA-1: b787f41a9407b863c4c573b3abb453072cd44039
(0034907)
apv (tester)
2014-12-02 12:01

Branch CR23983 has been rebased on the current master
(0034943)
git (administrator)
2014-12-02 19:40

Branch CR23983 has been updated by ski.

SHA-1: 7c08ddb6dc2b49641cd4e50d65aab3d8702a95b8


Detailed log of new commits:

Author: ski
Date: Tue Dec 2 19:39:24 2014 +0300

    Correction of thread terminating on linux.

(0034970)
apv (tester)
2014-12-03 14:27

Dear BugMaster,

Branch CR23983 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 7c08ddb6dc2b49641cd4e50d65aab3d8702a95b8

Number of compiler warnings:
occt component:
   Linux: 18 (18 on master)
   Windows: 0 (0 on master)
products component :
   Linux: 11 (11 on master)
   Windows: 0 (1 on master)

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 363441172 / 363569648
Total CPU difference: 46738.29000000009 / 47718.53000000004

Testing on Windows:
Total MEMORY difference: 277345112 / 276568708
Total CPU difference: 36345.484375 / 40656.6875
(0036602)
git (administrator)
2015-01-26 12:36

Branch CR23983 has been deleted by inv.

SHA-1: 7c08ddb6dc2b49641cd4e50d65aab3d8702a95b8

- Related Changesets
occt: master 0b309a75
Timestamp: 2014-12-04 12:09:23
Author: ski
Committer: bugmaster
Details ] Diff ]
0023983: Cpulimit doesn't kill test cases

Modified command cpulimit using OSD_Timer and method ElapsedTime()

Enabled elapsed time control on Linux.

Added resetting of elapsed timer.

Unused variables were removed

Definition of OSD_Timer aTimer was replaced.

Correction of thread terminating on linux.
mod - src/Draw/Draw_BasicCommands.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2013-05-22 12:43 apn New Issue
2013-05-22 12:43 apn Assigned To => mkv
2013-05-22 12:43 apn Assigned To mkv => isn
2013-05-22 12:43 apn Status new => assigned
2013-05-22 12:53 abv Note Added: 0024461
2013-05-22 12:53 abv Assigned To isn => mkv
2013-05-22 12:53 abv Status assigned => feedback
2013-05-22 12:54 abv Assigned To mkv => apn
2013-05-23 12:29 apn Note Added: 0024487
2013-05-23 12:30 apn Assigned To apn => abv
2013-05-29 13:13 apn Note Edited: 0024487 View Revisions
2013-05-31 08:15 abv Note Added: 0024575
2013-05-31 08:15 abv Assigned To abv => szv
2013-05-31 08:15 abv Status feedback => assigned
2013-05-31 14:21 szv Note Added: 0024582
2013-05-31 14:21 szv Assigned To szv => mkv
2013-05-31 14:21 szv Status assigned => feedback
2013-06-04 12:49 apn Note Added: 0024626
2013-06-04 12:49 apn Note Edited: 0024626 View Revisions
2013-06-04 12:50 apn Assigned To mkv => abv
2013-06-07 08:58 abv Note Added: 0024683
2013-06-07 08:58 abv Assigned To abv => apn
2013-06-07 08:58 abv Status feedback => assigned
2013-12-20 09:04 kgv Target Version 6.7.0 => 6.7.1
2014-04-04 18:27 abv Target Version 6.7.1 => 6.8.0
2014-09-26 10:58 abv Target Version 6.8.0 => 7.1.0
2014-10-31 12:54 git Note Added: 0033933
2014-10-31 14:20 git Note Added: 0033945
2014-10-31 14:23 ski Note Added: 0033946
2014-10-31 14:23 ski Assigned To apn => abv
2014-10-31 14:23 ski Status assigned => resolved
2014-12-02 09:54 abv Note Added: 0034900
2014-12-02 09:54 abv Assigned To abv => bugmaster
2014-12-02 09:54 abv Status resolved => reviewed
2014-12-02 11:10 apv Assigned To bugmaster => apv
2014-12-02 11:36 git Note Added: 0034904
2014-12-02 12:00 git Note Added: 0034906
2014-12-02 12:01 apv Note Added: 0034907
2014-12-02 19:40 git Note Added: 0034943
2014-12-03 14:27 apv Note Added: 0034970
2014-12-03 14:27 apv Assigned To apv => bugmaster
2014-12-03 14:27 apv Status reviewed => tested
2014-12-03 14:27 apv Test case number => Not needed
2014-12-05 14:42 bugmaster Changeset attached => occt master 0b309a75
2014-12-05 14:42 bugmaster Status tested => verified
2014-12-05 14:42 bugmaster Resolution open => fixed
2015-01-19 16:23 bugmaster Target Version 7.1.0 => 6.9.0
2015-01-26 12:36 git Note Added: 0036602
2015-05-14 15:29 aiv Status verified => closed
2015-05-14 15:32 aiv Fixed in Version => 6.9.0


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker