Concurrent Modification of the Map Variable "Tms" (Target Module States) in DeploymentState
(Doc ID 2119093.1)
Last updated on MARCH 05, 2021
Applies to:Oracle WebLogic Server - Version 22.214.171.124.0 and later
Information in this document applies to any platform.
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.
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