Concurrent Modification of the Map Variable "Tms" (Target Module States) in DeploymentState
Last updated on NOVEMBER 05, 2016
Applies to:Oracle WebLogic Server - Version 184.108.40.206.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.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms