cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements
Walkthrough Wednesdays

JTAPI deadlock

188
Views
0
Helpful
0
Comments
This document was generated from CDN thread

Created by: Roland Russwurm on 02-11-2010 12:24:19 PM
Hi,
 
I got the following deadlock report from JVM. There is one thread unregistering a CTI-Routepoint while another thread is currently adding an observer to the address of the same CTI-Routepoint. It looks as one thread is locking the terminal and afterwards wants to lock the address while the other thread is trying to do it in the opposite directrion.
 
Regards,
Roland
 

Java stack information for the threads listed above:
===================================================
"ObserverThread(com.andtek.andphone.partner.acd.RPCallObserver@69b09ef0)":
        at com.cisco.jtapi.TerminalImpl.I(CTQF)
        - waiting to lock <0x00002aaac0afd818> (a com.cisco.jtapi.RouteTerminalImpl)
        at com.cisco.jtapi.IntraProviderAddress.Z(CTQF)
        - locked <0x00002aaac0b0a260> (a com.cisco.jtapi.RouteAddressImpl)
        at com.cisco.jtapi.IntraProviderAddress.A(CTQF)
        at com.cisco.jtapi.IntraProviderAddress.booleanValue(CTQF)
        at com.cisco.jtapi.IntraProviderAddress.addCallObserver(CTQF)
        - locked <0x00002aaac0b65a40> (a java.lang.Object)
        at com.andtek.andphone.partner.acd.RPCallObserver.addressChangedEvent(RPCallObserver.java:158)
        at com.cisco.jtapi.ObserverProxy.Z(CTQF)
        at com.cisco.jtapi.ObserverThread.messageReceived(CTQF)
        at com.cisco.cti.util.MessageThread.append(CTQF)
        at com.cisco.cti.util.MessageThread.CTQF(CTQF)
        at com.cisco.cti.util.MessageThread.run(CTQF)
"http-8443-Processor18":
        at com.cisco.jtapi.IntraProviderAddress.Z(CTQF)
        - waiting to lock <0x00002aaac0b0a260> (a com.cisco.jtapi.RouteAddressImpl)
        at com.cisco.jtapi.TerminalImpl.Open(CTQF)
        at com.cisco.jtapi.TerminalImpl.I(CTQF)
        at com.cisco.jtapi.TerminalImpl.E(CTQF)
        at com.cisco.jtapi.BaseMediaTerminalImpl.DeviceOutOfService(CTQF)
        at com.cisco.jtapi.BaseMediaTerminalImpl.unregister(CTQF)
        - locked <0x00002aaac0afd818> (a com.cisco.jtapi.RouteTerminalImpl)
        at com.andtek.andphone.partner.acd.Module.removeRouteCallBack(Module.java:303)
        at com.andtek.andphone.partner.acd.Module.reInitAddress(Module.java:146)
        at com.andtek.andphone.partner.acd.Module.reInitPilot(Module.java:380)
        at com.andtek.andphone.partner.gwtapp.server.RPCpartnerServiceImpl.RemoteResetPilot(RPCpartnerServiceImpl.java:2704)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
        at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.securityfilter.filter.SecurityFilter.doFilter(SecurityFilter.java:188)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java.lang.Thread.run(Thread.java:619)
 
Found 1 deadlock.

Subject: RE: JTAPI deadlock
Replied by: Mohan Potluri on 05-11-2010 11:26:46 PM
What is the JTAPI version?
 
Content for Community-Ad

This widget could not be displayed.