View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0023920 | Community | OCCT:Foundation Classes | public | 2013-04-21 09:25 | 2015-09-05 16:34 |
Reporter | Roman Lygin | Assigned To | Roman Lygin | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Platform | A | OS | L | ||
Product Version | 6.6.0 | ||||
Target Version | 6.7.0 | Fixed in Version | 6.7.0 | ||
Summary | 0023920: Change use of static variables in Message package to prevent data races in Shape Healing | ||||
Description | Message_MsgFile.cxx uses static variables to create messages for undefined keywords. When running Shape Healing concurrently this leads to data races when the message files have not been loaded upfront (e.g. due to failure to set environment variables CSF_SHMessage in end-user environment). To minimize risk of data races when running Shape Healing concurrently, the fix suggests setting the static variables for error messages only once. This gives a possibility to enforce calling the method Message_MsgFile::Msg() upfront to initialize these variables and only read-access them afterwards. | ||||
Steps To Reproduce | 1. Do not set CSF_SHMessage env var upfront 2. Invoke concurrently Shape Healing on any shape that generates messages (see ShapeFix_*.cxx) 3. Check for data races (e.g. using Intel Inspector XE) | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
Fix pushed into git repository |
|
No remarks, please test |
|
Dear BugMaster, Branch CR23920 (and products from GIT master) was compiled on Linux and Windows platforms and tested. SHA-1: 24c0eb5c4e637a99852fbc0013717464dd486a61 Number of compiler warnings: occt component : Linux: 2 (2 on master) Windows: 11 (11 on master) products component : Linux: 0 (0 on master) Windows: 64 (64 on master) Regressions: No regressions Improvements: No improvements Testing cases: Not needed Testing on Linux: Total MEMORY difference: 366251492 / 366591592 Total CPU difference: 42577.76000000097 / 54394.90000000041 Testing on Windows: Total MEMORY difference: 419777708 / 419806404 Total CPU difference: 30655.59375 / 34616.171875 There are not serious differences in images found by testdiff. |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-04-21 09:25 | Roman Lygin | New Issue | |
2013-04-21 09:25 | Roman Lygin | Assigned To | => abv |
2013-04-21 09:30 | Roman Lygin | Note Added: 0024230 | |
2013-04-21 09:30 | Roman Lygin | Status | new => resolved |
2013-04-22 08:51 |
|
Note Added: 0024235 | |
2013-04-22 08:51 |
|
Assigned To | abv => bugmaster |
2013-04-22 08:51 |
|
Status | resolved => reviewed |
2013-04-26 16:43 |
|
Note Added: 0024293 | |
2013-04-26 16:43 |
|
Test case number | => Not needed |
2013-04-26 16:43 |
|
Status | reviewed => tested |
2013-05-20 10:56 | Roman Lygin | Changeset attached | => occt master fa523cdd |
2013-05-20 10:56 | Roman Lygin | Assigned To | bugmaster => Roman Lygin |
2013-05-20 10:56 | Roman Lygin | Status | tested => verified |
2013-05-20 10:56 | Roman Lygin | Resolution | open => fixed |
2013-05-20 16:50 | bugmaster | Target Version | => 6.7.0 |
2013-12-19 13:53 | bugmaster | Status | verified => closed |
2013-12-19 13:55 | bugmaster | Fixed in Version | => 6.7.0 |
2014-07-08 15:46 |
|
Relationship added | related to 0025057 |
2015-09-05 16:34 |
|
Relationship added | has duplicate 0022546 |