MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024500Open CASCADE[OCCT] OCCT:Testspublic2013-12-26 12:282015-05-14 15:32
Reporterabv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformWindowsOSVC++ 2010OS Version64 bit
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 6.9.0Fixed in Version[OCCT] 6.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
Attached Files

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

-  Notes
(0027373)
abv (manager)
2014-01-02 14:48

The problem is reproduced regularly when tests are run in parallel mode (8 threads) on my notebook
(0028008)
aml (developer)
2014-02-24 10:08

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.
(0036935)
git (administrator)
2015-02-02 06:19

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)
(0036936)
abv (manager)
2015-02-02 06:21

Fix pushed to CR24500, please check compilation and test bugs modalg_5 bug23592_1 and _2 (no need to run all tests)
(0037054)
mkv (tester)
2015-02-04 12:40

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*’
(0037068)
git (administrator)
2015-02-04 15:16

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.

(0037069)
aml (developer)
2015-02-04 15:16

Dear mkv,

Please check compilation and test bugs modalg_5 bug23592_1 and _2 (no need to run all tests)
(0037108)
mkv (tester)
2015-02-05 12:43

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
(0037122)
git (administrator)
2015-02-05 14:52

Branch CR24500 has been updated forcibly by aml.

SHA-1: 9e198bed1101bff66850afd5b954b4459b64b8c9
(0037123)
aml (developer)
2015-02-05 14:55

Dear mkv,

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

Compilation warnings are eliminated.
(0037150)
mkv (tester)
2015-02-05 17:56

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
(0037151)
mkv (tester)
2015-02-05 17:57

Branch CR24500 is TESTED.
(0038486)
git (administrator)
2015-03-18 13:32

Branch CR24500 has been deleted by inv.

SHA-1: 9e198bed1101bff66850afd5b954b4459b64b8c9

- Related Changesets
occt: master 7a5f1202
Timestamp: 2015-02-05 15:08:18
Author: 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.
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


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker