WLS High CPU Usage Caused By An Unsynchronized HashSet

(Doc ID 1438266.1)

Last updated on JANUARY 29, 2016

Applies to:

Oracle Weblogic Server - Version 10.3.5 and later
Information in this document applies to any platform.

Symptoms

WebLogic Server threads going into STUCK which take more CPU from using the top (top -Hp <PID> -d 1 -n 1) command:

"[STUCK] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'" id=59 idx=0xd8 tid=25786 prio=1 alive, native_blocked, daemon
at java/util/HashMap.put(HashMap.java:468)[optimized]
at java/util/HashSet.add(HashSet.java:200)[optimized]
at weblogic/wsee/jaxws/ServerLateInitTube.initializeCopy(ServerLateInitTube.java:47)[inlined]
at weblogic/wsee/jaxws/ServerLateInitTube.copy(ServerLateInitTube.java:36)[inlined]
at weblogic/wsee/jaxws/ServerLateInitTube.copy(ServerLateInitTube.java:15)[optimized]
at com/sun/xml/ws/api/pipe/PipeClonerImpl.copy(PipeClonerImpl.java:120)[inlined]
at com/sun/xml/ws/api/pipe/helper/AbstractFilterTubeImpl.<init>(AbstractFilterTubeImpl.java:65)[optimized]
at weblogic/wsee/jaxws/tubeline/standard/WseeServerTube.<init>(WseeServerTube.java:95)
at weblogic/wsee/jaxws/tubeline/standard/WseeServerTube.copy(WseeServerTube.java:102)
at weblogic/wsee/jaxws/tubeline/standard/WseeServerTube.copy(WseeServerTube.java:27)
at com/sun/xml/ws/api/pipe/PipeClonerImpl.copy(PipeClonerImpl.java:120)[optimized]
at com/sun/xml/ws/api/pipe/TubeCloner.clone(TubeCloner.java:77)
at com/sun/xml/ws/server/WSEndpointImpl$2.<init>(WSEndpointImpl.java:372)
at com/sun/xml/ws/server/WSEndpointImpl.createPipeHead(WSEndpointImpl.java:371)
......

"[STUCK] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'" id=61 idx=0xe0 tid=26178 prio=1 alive, native_blocked, daemon
at java/lang/Object.equals(Object.java:134)[optimized]
at java/util/HashMap.put(HashMap.java:468)[optimized]
at java/util/HashSet.add(HashSet.java:200)[optimized]
at weblogic/wsee/jaxws/ServerLateInitTube.initializeCopy(ServerLateInitTube.java:47)[inlined]
at weblogic/wsee/jaxws/ServerLateInitTube.copy(ServerLateInitTube.java:36)[optimized]
at weblogic/wsee/jaxws/ServerLateInitTube.copy(ServerLateInitTube.java:15)
at com/sun/xml/ws/api/pipe/PipeClonerImpl.copy(PipeClonerImpl.java:120)
at com/sun/xml/ws/api/pipe/helper/AbstractFilterTubeImpl.<init>(AbstractFilterTubeImpl.java:65)
at weblogic/wsee/jaxws/tubeline/standard/WseeServerTube.<init>(WseeServerTube.java:95)
at weblogic/wsee/jaxws/tubeline/standard/WseeServerTube.copy(WseeServerTube.java:102)
at weblogic/wsee/jaxws/tubeline/standard/WseeServerTube.copy(WseeServerTube.java:27)
at com/sun/xml/ws/api/pipe/PipeClonerImpl.copy(PipeClonerImpl.java:120)
at com/sun/xml/ws/api/pipe/TubeCloner.clone(TubeCloner.java:77)
at com/sun/xml/ws/server/WSEndpointImpl$2.<init>(WSEndpointImpl.java:372)
at com/sun/xml/ws/server/WSEndpointImpl.createPipeHead(WSEndpointImpl.java:371)
at com/sun/xml/ws/api/server/Adapter$Toolkit.<init>(Adapter.java:109)

Cause

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