View Issue Details

IDProjectCategoryView StatusLast Update
0027254CommunityOCCT:Foundation Classespublic2016-04-20 15:49
ReporterRoman Lygin Assigned Toabv  
PrioritynormalSeveritycrash 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2013 
Product Version7.0.0 
Target Version7.0.0Fixed in Version7.0.0 
Summary0027254: [Regression] 7.0 types initialization mechanism is not thread-safe on VS2013
DescriptionThe code in Standard_Type::type_instance<T>::get() distinguishes between compilers supporting and not supporting N2660. VS2013 was incorrectly considered as supporting, although the comment stated the opposite.

The fix makes VS2013 treated as not supporting N2660.
Steps To ReproduceBuild the reproducer with VS2013 in debug mode.
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • main.cxx (1,138 bytes)

Relationships

related to 0027016 closedbugmaster Open CASCADE Restore global type descriptors for old compilers 
has duplicate 0027259 closedabv Community crash intersecting simple objects in occ7.0.0rc 

Activities

Roman Lygin

2016-03-11 17:39

developer  

main.cxx (1,138 bytes)

git

2016-03-11 17:48

administrator   ~0051564

Branch CR27254 has been created by Roman Lygin.

SHA-1: aa09bae5cccd31ed683d585c89586a28de7a4ba9


Detailed log of new commits:

Author: Roman Lygin
Date: Fri Mar 11 17:44:55 2016 +0400

    27254: [Regression] 7.0 handle types initialization mechanism breaks thread-safety on VS2013

abv

2016-03-11 21:40

manager   ~0051569

No remarks, ready for testing

apv

2016-03-15 12:10

tester   ~0051623

Dear BugMaster,

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

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MacOS: 0 (0 on master)
products component:
   Linux: 41 (41 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 90016478 / 89836673 [+0.20%]
Total CPU difference: 19202.64999999998 / 19349.539999999997 [-0.76%]

Testing on Windows:
Total MEMORY difference: 57955385 / 58016054 [-0.10%]
Total CPU difference: 18184.256564999003 / 18103.463647098837 [+0.45%]

git

2016-04-17 13:07

administrator   ~0052825

Branch CR27254 has been deleted by kgv.

SHA-1: aa09bae5cccd31ed683d585c89586a28de7a4ba9

Related Changesets

occt: master 60a6678e

2016-03-11 13:44:55

abv


Committer: abv Details Diff
0027254: [Regression] 7.0 types initialization mechanism is not thread-safe on VS2013

The code in Standard_Type::type_instance<T>::get() distinguishes between compilers supporting and not supporting N2660. VS2013 was incorrectly considered as supporting, although the comment stated the opposite.

The fix makes VS2013 treated as not supporting N2660.
Affected Issues
0027254
mod - src/Standard/Standard_Type.hxx Diff File

Issue History

Date Modified Username Field Change
2016-03-11 17:39 Roman Lygin New Issue
2016-03-11 17:39 Roman Lygin Assigned To => abv
2016-03-11 17:39 Roman Lygin File Added: main.cxx
2016-03-11 17:40 Roman Lygin Assigned To abv => Roman Lygin
2016-03-11 17:40 Roman Lygin Status new => assigned
2016-03-11 17:44 Roman Lygin Relationship added related to 0027016
2016-03-11 17:48 git Note Added: 0051564
2016-03-11 17:48 Roman Lygin Assigned To Roman Lygin => abv
2016-03-11 17:48 Roman Lygin Status assigned => resolved
2016-03-11 21:40 abv Note Added: 0051569
2016-03-11 21:40 abv Assigned To abv => bugmaster
2016-03-11 21:40 abv Status resolved => reviewed
2016-03-12 08:48 abv Summary [Regression] 7.0 handle types initialization mechanism breaks thread-safety on VS2013 => [Regression] 7.0 types initialization mechanism is not thread-safe on VS2013
2016-03-14 10:31 apv Assigned To bugmaster => apv
2016-03-15 11:21 abv Relationship added has duplicate 0027259
2016-03-15 12:08 apv Test case number => Not needed
2016-03-15 12:10 apv Note Added: 0051623
2016-03-15 12:10 apv Assigned To apv => bugmaster
2016-03-15 12:10 apv Status reviewed => tested
2016-03-21 14:58 abv Changeset attached => occt master 60a6678e
2016-03-21 14:58 abv Assigned To bugmaster => abv
2016-03-21 14:58 abv Status tested => verified
2016-03-21 14:58 abv Resolution open => fixed
2016-04-17 13:07 git Note Added: 0052825
2016-04-20 15:43 aiv Fixed in Version => 7.0.0
2016-04-20 15:49 aiv Status verified => closed