Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Bug
-
3.1.8, 3.1.10, 3.0.13, 3.2.0
-
None
-
Unknown
Description
Method createEndpointPolicyInfo() in rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java contains a classic instance of the double checked locking pattern, which may cause an object to become visible to a different thread in a partially initialized state.
Please see The "Double-Checked Locking is Broken" Declaration (https://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html) to understand why this happens. A quick Google search should return several possible solutions.