My Oracle Support Banner

Corba-based Java Application Accumulates Threads Waiting for CorbaInboundConnectionCacheImpl Objects (Doc ID 1598451.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Java SE JDK and JRE - Version 1.6.0 and later
Linux x86-64

Symptoms

Corba-based Java SE application is accumulating threads waiting to lock object com.sun.corba.se.impl.transport.CorbaInboundConnectionCacheImpl.

The thread dump showed that no deadlock was detected.
A total of 260 threads out of 578 threads were waiting to lock the above object:

% grep "waiting to lock" td20130530T123020.td | grep "com.sun.corba.se.impl.transport.CorbaInboundConnectionCacheImpl" | wc
  260 1820 28080


Java SE used:
Java SE 1.6.0_34
Java HotSpot(TM) 64-Bit Server VM (20.9-b04 mixed mode)

Operating System used:
Ubuntu Linux x86_64

The thread that held the lock com.sun.corba.se.impl.transport.CorbaInboundConnectionCacheImpl was thread nid=0x7ae8:

% grep "locked" td20130530T123020.td | grep "com.sun.corba.se.impl.transport.CorbaInboundConnectionCacheImpl"
  - locked <0x000000068814b9a0> (a com.sun.corba.se.impl.transport.CorbaInboundConnectionCacheImpl)


Thread nid=0x7ae8, that held the lock for <0x000000068814b9a0>, in turn was waiting to lock object <0x00000006b3454a50>:

"p: default-threadpool; w: Idle" daemon prio=10 tid=0x00000000424e4800 nid=0x7ae8 waiting for monitor entry [0x00007f684493a000]
  java.lang.Thread.State: BLOCKED (on object monitor)
  at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1179)
  - waiting to lock <0x00000006b3454a50> (a java.lang.Object)
  at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:654)
  at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:100)
  - locked <0x00000006b3454b10> (a com.sun.net.ssl.internal.ssl.AppOutputStream)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.write(SocketOrChannelConnectionImpl.java:724)
  at com.sun.corba.se.impl.encoding.CDROutputObject.writeTo(CDROutputObject.java:174)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.sendHelper(SocketOrChannelConnectionImpl.java:1578)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.sendCloseConnection(SocketOrChannelConnectionImpl.java:1546)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.close(SocketOrChannelConnectionImpl.java:761)
  - locked <0x00000006b7f96ac8> (a com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl)
  at com.sun.corba.se.impl.transport.CorbaConnectionCacheBase.reclaim(CorbaConnectionCacheBase.java:175)
  - locked <0x000000068814d598> (a java.util.ArrayList)
  - locked <0x000000068814b9a0> (a com.sun.corba.se.impl.transport.CorbaInboundConnectionCacheImpl)
  at com.sun.corba.se.impl.transport.SocketOrChannelAcceptorImpl.accept(SocketOrChannelAcceptorImpl.java:245)
  at com.sun.corba.se.impl.transport.ListenerThreadImpl.doWork(ListenerThreadImpl.java:79)
  at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:471)
  at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:500)

Object <0x00000006b3454a50> was locked by the following thread:

"p: default-threadpool; w: Idle" daemon prio=10 tid=0x00007f685c2d0000 nid=0x7ad2 runnable [0x00007f6847550000]
  java.lang.Thread.State: RUNNABLE
  at java.net.SocketInputStream.socketRead0(Native Method)
  at java.net.SocketInputStream.read(SocketInputStream.java:129)
  at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
  at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
  at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863)
  - locked <0x00000006b3454a80> (a java.lang.Object)
  at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1203)
  - locked <0x00000006b3454a50> (a java.lang.Object)
  at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:818)
  at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
  - locked <0x00000006b3454af8> (a com.sun.net.ssl.internal.ssl.AppInputStream)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.readFully(SocketOrChannelConnectionImpl.java:664)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:527)
  at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.readGIOPHeader(MessageBase.java:112)
  at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.readGIOPMessage(MessageBase.java:98)
  at com.sun.corba.se.impl.transport.CorbaContactInfoBase.createMessageMediator(CorbaContactInfoBase.java:153)
  at com.sun.corba.se.impl.transport.SocketOrChannelAcceptorImpl.createMessageMediator(SocketOrChannelAcceptorImpl.java:488)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.readBits(SocketOrChannelConnectionImpl.java:317)
  at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:289)
  at com.sun.corba.se.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:80)
  at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:471)
  at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:500)

This thread was active.
=> no deadlock was detected.
 

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
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.