We're updating the issue view to help you get more done. 

RepositoryBase.initialize() using doublecheck lock pattern in broken way

Description

See http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html. Suggested fixes are either volatile keyword on variable, or switching to a 32-bit int. Related: RepositoryBase.isInitialized() synchronizes on this, rather than the internal lock object in the other places the variable is referenced.

Environment

None

Status

Assignee

Dale W. Visser

Reporter

Dale W. Visser

Labels

Components

Fix versions

Affects versions

2.7.14

Priority

Major