View Issue Details

IDProjectCategoryView StatusLast Update
0024500Open CASCADEOCCT:Testspublic2015-05-14 15:32
ReporterabvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.7.0 
Target Version6.9.0Fixed in Version6.9.0 
Summary0024500: Sudden exit of DRAW after multiple execution of test in cycle
DescriptionTest bugs modalg_5 bug23952_1 fails sometimes on Windows, causing DRAW to exit without any message (and no handler activated in debugger). This is found by testing branch CR24489 on vc10 64-bit, but can be also reproduced on standard OCCT 6.7.0 installation (built with vc9 32-bit).
Steps To Reproducefor {set i 1} {$i < 1000} {incr i} {puts -nonewline "$i: "; test bugs modalg_5 bug23952_1}
TagsNo tags attached.
Test case numberbugs modalg_5(010) bug23952_1, bug23952_2

Relationships

related to 0023952 closedapn Community Improving thread-safety of intersections, approximations and other modeling algorithms 

Activities

abv

2014-01-02 14:48

manager   ~0027373

The problem is reproduced regularly when tests are run in parallel mode (8 threads) on my notebook

aml

2014-02-24 10:08

developer   ~0028008

DC,

It seems to be tcl and occt interaction problem. First of all it is possible to turn on echo:

for {set i 1} {$i < 1000} {incr i} {puts -nonewline "$i: "; test bugs modalg_5 bug23952_1 -echo}

With this key error message is catchable. There error message sample:

alloc: invalid block: 089EF0B8: 98 8

alloc: invalid block: - one of tcl error messages.

089EF0B8: 98 8 - this address links to "Number of UPoles:" which located in GeomConvertTest function.

di << "Number of UPoles:" << aBSurf->NbUPoles() << "\n";

According to tcl manual pages there should be one interpretor on one thread, but as far as i can see, all threads operates with one interpretor (same address in debuger). To resolve this problem i tried to use built-in tcl semaphore mechanism (Make a Tcl Extension Thread-Safe), but problem still happens. May be there are other data races on this shared memory.

"alloc: invalid block:" problem have many root causes but i haven't enought expertise on tcl to choose correct one and investigate it.

git

2015-02-02 06:19

administrator   ~0036935

Branch CR24500 has been created by abv.

SHA-1: 4da25254ab0fb7beea47496d21af1e7c57ed1c18


Detailed log of new commits:

Author: abv
Date: Sun Feb 1 20:51:05 2015 +0300

    0024500: Sudden exit of DRAW after multiple execution of test in cycle
    
    Test commands for 0023952 refactored to:
    - avoid interaction with Tcl interpreter from thread functions (fixes sudden crash)
    - get shapes outside of the thread functions (keeping only code being tested inside)
    - run 100 threads instead of 2 (increases chance for data race to exhibit if present)

abv

2015-02-02 06:21

manager   ~0036936

Fix pushed to CR24500, please check compilation and test bugs modalg_5 bug23592_1 and _2 (no need to run all tests)

mkv

2015-02-04 12:40

tester   ~0037054

Dear BugMaster,
Branch CR24500 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: 4da25254ab0fb7beea47496d21af1e7c57ed1c18

There are compilation errors on Linux platform:
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24500/job/mnt-CR24500-master_build_occt_linux/1/parsed_console/
../../../../src/QABugs/QABugs_19.cxx:423: error: invalid conversion from ‘void* (*)(void*)’ to ‘void*’
../../../../src/QABugs/QABugs_19.cxx: In function ‘void* GeomIntSSTest(void*)’:
../../../../src/QABugs/QABugs_19.cxx:493: error: invalid conversion from ‘void* (*)(void*)’ to ‘void*’

git

2015-02-04 15:16

administrator   ~0037068

Branch CR24500 has been updated by aml.

SHA-1: 271558ea7b05c80dd985ffdb719ba72f35067f62


Detailed log of new commits:

Author: aml
Date: Wed Feb 4 15:15:58 2015 +0300

    Linux compilation problems fixed.

aml

2015-02-04 15:16

developer   ~0037069

Dear mkv,

Please check compilation and test bugs modalg_5 bug23592_1 and _2 (no need to run all tests)

mkv

2015-02-05 12:43

tester   ~0037108

Dear BugMaster,
Branch CR24500 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: 271558ea7b05c80dd985ffdb719ba72f35067f62

Number of compiler warnings:

occt component :
Linux: 20 (18 on master)
Windows: 0 (0 on master)

There are new additional compilation warnings on Linux platform:
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_17008/job/mnt-CR24500-master_build_occt_linux/1/warnings17Result/package.-121019270/
QABugs_19.cxx:405, GNU C Compiler 4 (gcc), Priority: Normal
address of local variable ‘data’ returned

QABugs_19.cxx:479, GNU C Compiler 4 (gcc), Priority: Normal
address of local variable ‘data’ returned

products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24500-master-occt/Debian60-64/bugs/modalg_5/bug23952_1.html
http://occt-tests/CR24500-master-occt/Windows-32-VC10/bugs/modalg_5/bug23952_1.html
bugs modalg_5(010) bug23952_1: OK

http://occt-tests/CR24500-master-occt/Debian60-64/bugs/modalg_5/bug23952_2.html
http://occt-tests/CR24500-master-occt/Windows-32-VC10/bugs/modalg_5/bug23952_2.html
bugs modalg_5(010) bug23952_2: OK

git

2015-02-05 14:52

administrator   ~0037122

Branch CR24500 has been updated forcibly by aml.

SHA-1: 9e198bed1101bff66850afd5b954b4459b64b8c9

aml

2015-02-05 14:55

developer   ~0037123

Dear mkv,

Please check compilation and test bugs modalg_5 bug23592_1 and _2 (no need to run all tests)

Compilation warnings are eliminated.

mkv

2015-02-05 17:56

tester   ~0037150

Dear BugMaster,
Branch CR24500 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: 9e198bed1101bff66850afd5b954b4459b64b8c9

Number of compiler warnings:

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

products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)

Testing cases:
http://occt-tests/CR24500-master-occt/Debian60-64/bugs/modalg_5/bug23952_1.html
http://occt-tests/CR24500-master-occt/Windows-32-VC10/bugs/modalg_5/bug23952_1.html
bugs modalg_5(010) bug23952_1: OK

http://occt-tests/CR24500-master-occt/Debian60-64/bugs/modalg_5/bug23952_2.html
http://occt-tests/CR24500-master-occt/Windows-32-VC10/bugs/modalg_5/bug23952_2.html
bugs modalg_5(010) bug23952_2: OK

mkv

2015-02-05 17:57

tester   ~0037151

Branch CR24500 is TESTED.

git

2015-03-18 13:32

administrator   ~0038486

Branch CR24500 has been deleted by inv.

SHA-1: 9e198bed1101bff66850afd5b954b4459b64b8c9

Related Changesets

occt: master 7a5f1202

2015-02-05 15:08:18

abv


Committer: bugmaster Details Diff
0024500: Sudden exit of DRAW after multiple execution of test in cycle

Test commands for 0023952 refactored to:
- avoid interaction with Tcl interpreter from thread functions (fixes sudden crash)
- get shapes outside of the thread functions (keeping only code being tested inside)
- run 100 threads instead of 2 (increases chance for data race to exhibit if present)

Linux compilation problems fixed.
Affected Issues
0024500
mod - src/QABugs/QABugs_19.cxx Diff File
mod - tests/bugs/modalg_5/bug23952_1 Diff File
mod - tests/bugs/modalg_5/bug23952_2 Diff File

Issue History

Date Modified Username Field Change
2013-12-26 12:28 abv New Issue
2013-12-26 12:28 abv Assigned To => mkv
2013-12-26 12:28 abv Relationship added related to 0023952
2014-01-02 14:48 abv Note Added: 0027373
2014-01-15 11:47 mkv Assigned To mkv => abv
2014-01-15 12:47 abv Product Version => 6.7.0
2014-01-15 12:47 abv Target Version => 6.7.1
2014-02-10 14:23 ifv Assigned To abv => aml
2014-02-24 10:08 aml Note Added: 0028008
2014-02-24 10:08 aml Assigned To aml => ifv
2014-02-24 10:08 aml Status new => feedback
2014-04-04 17:16 abv Target Version 6.7.1 => 6.8.0
2014-09-11 09:21 abv Target Version 6.8.0 => 7.1.0
2015-02-02 06:19 git Note Added: 0036935
2015-02-02 06:21 abv Note Added: 0036936
2015-02-02 06:21 abv Assigned To ifv => bugmaster
2015-02-02 06:21 abv Status feedback => reviewed
2015-02-04 09:58 mkv Assigned To bugmaster => mkv
2015-02-04 12:40 mkv Note Added: 0037054
2015-02-04 12:45 mkv Assigned To mkv => aml
2015-02-04 12:45 mkv Status reviewed => assigned
2015-02-04 15:16 git Note Added: 0037068
2015-02-04 15:16 aml Note Added: 0037069
2015-02-04 15:16 aml Assigned To aml => mkv
2015-02-04 15:16 aml Status assigned => feedback
2015-02-05 12:43 mkv Note Added: 0037108
2015-02-05 12:43 mkv Assigned To mkv => aml
2015-02-05 12:43 mkv Status feedback => assigned
2015-02-05 12:43 mkv Test case number => bugs modalg_5(010) bug23952_1, bug23952_2
2015-02-05 14:52 git Note Added: 0037122
2015-02-05 14:55 aml Note Added: 0037123
2015-02-05 14:55 aml Assigned To aml => mkv
2015-02-05 14:55 aml Status assigned => feedback
2015-02-05 17:56 mkv Note Added: 0037150
2015-02-05 17:57 mkv Note Added: 0037151
2015-02-05 17:57 mkv Assigned To mkv => bugmaster
2015-02-05 17:57 mkv Status feedback => tested
2015-02-06 15:38 bugmaster Changeset attached => occt master 7a5f1202
2015-02-06 15:38 bugmaster Status tested => verified
2015-02-06 15:38 bugmaster Resolution open => fixed
2015-02-09 11:05 bugmaster Target Version 7.1.0 => 6.9.0
2015-03-18 13:32 git Note Added: 0038486
2015-05-14 15:29 aiv Status verified => closed
2015-05-14 15:32 aiv Fixed in Version => 6.9.0