Concurrent Modification of the Map Variable "Tms" (Target Module States) in DeploymentState
(Doc ID 2119093.1)
Last updated on JUNE 13, 2023
Applies to:
Oracle WebLogic Server - Version 12.1.2.0.0 and laterInformation in this document applies to any platform.
Symptoms
You have observed occasional failures during application deployment on WLS 12c which results in:
- a) OutOfMemoryError from Arrays.copyOf method
- b) hanging threads in HashMap.put method or
- c) server failed to 'ADMIN' state without any relevant error or exception in log.
In all these cases, the Java Heap Dump shows broken HashMap stored in field 'tms' of class 'weblogic.deploy.internal.targetserver.server.state.DeploymentState' - some of its entries are cycled (see screenshot 'Broken-Hashmap.png' from Eclipse Memory Analyzer).
Such situation is usually a result of non-synchronized concurrent access to HashMap. As result of this issue, the server or application becomes completely unusable and need to be recycled. This problem is not easily reproducible.
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |