We use Jacorb 2.2.3 implementation of Corba. Everything works fine most of the times, in some concurrent scenario Jacorb hangs intermittently upon calling an API on Corba server object.
I have tried to recreate it by tuning Jacorb.properties. And even attempting to work with closed objects at server side but in vain.
From server thread dump, observed that RequestProcessor threads, which Jacorb used to handle concurrent requests, are locked as shown below
"RequestProcessor-26" ... nid=0x25cc in Object.wait() [0x000000004237f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:700)
- locked <0x0000000150714178> (a org.jacorb.poa.RequestProcessor)
"RequestProcessor-25" ...nid=0x3250 in Object.wait() [0x000000004227f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:700)
- locked <0x0000000150e90748> (a org.jacorb.poa.RequestProcessor)
I'm looking for two things
- Is there any known issue in Jacorb 2.2.3 that client goes into hanging state while invoking an API on server side object?
- I tried to recreate locked state of RequestProcessor by launching multiple concurrent sessions but I didn't see "locked" for RequestProcessor in thread dump