[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmlblaster] dead lock



Xavier Roques wrote:
Hi,

I'm using Xmlblaster 1.6.

I restarted, some connected clients and unfortunately one of my client
never connects back :(

Even if I restart several times this client, it never successes to
connect.

That's why I dumped the threads' stack on the server side and I found
the following dead lock (see below)

Is there a way to avoid it ?
Yes, this is a dead lock,
i have coded now a lock free variant but i need some more testing if the
auto-disconnect (from ping timer) and reconnect (from your client)
simultaneously have other impacts ...
I'll send a followup as soon as the fix is committed,

Marcel
Thanks,

Xavier.


"XmlBlaster.ssl_socket.SSL.tcpListener-alouettebench17-agent": INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchManager.getConnectionStatusListener s(DispatchManager.java:206) INFO | jvm 1 | 2007/09/25 11:31:29 | - waiting to lock <0xdb74d9c0> (a org.xmlBlaster.util.dispatch.DispatchManager) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchManager.toAlive(DispatchManager.jav a:293) INFO | jvm 1 | 2007/09/25 11:31:29 | - locked <0xdb7a0930> (a java.lang.Object) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.updateState(Disp atchConnectionsHandler.java:332) INFO | jvm 1 | 2007/09/25 11:31:29 | - locked <0xdb7a0f28> (a java.util.ArrayList) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.toAlive(Dispatch ConnectionsHandler.java:302) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnection.handleTransition(Dispatc hConnection.java:575) INFO | jvm 1 | 2007/09/25 11:31:29 | - locked <0xdb7b2838> (a org.xmlBlaster.engine.dispatch.CbDispatchConnection) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnection.initialize(DispatchConne ction.java:132) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.initialize(Dispa tchConnectionsHandler.java:179) INFO | jvm 1 | 2007/09/25 11:31:29 | - locked <0xdb7a0f28> (a java.util.ArrayList) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchManager.updateProperty(DispatchMana ger.java:160) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.authentication.SessionInfo.updateConnectQos(SessionInfo.j ava:513) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.authentication.Authenticate.connect(Authenticate.java:276 ) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.authentication.AuthenticateProtector.connect(Authenticate Protector.java:74) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.authentication.AuthenticateProtector.connect(Authenticate Protector.java:62) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.protocol.socket.HandleClient.handleMessage(HandleClient.j ava:266) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.protocol.socket.HandleClient$1.run(HandleClient.java:379) INFO | jvm 1 | 2007/09/25 11:31:29 | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker .runTask(ThreadPoolExecutor.java:665) INFO | jvm 1 | 2007/09/25 11:31:29 | at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker .run(ThreadPoolExecutor.java:690) INFO | jvm 1 | 2007/09/25 11:31:29 | at java.lang.Thread.run(Thread.java:619) INFO | jvm 1 | 2007/09/25 11:31:29 | "XmlBlaster.PingTimer": INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.shutdown(Dispatc hConnectionsHandler.java:486) INFO | jvm 1 | 2007/09/25 11:31:29 | - waiting to lock <0xdb7a0f28> (a java.util.ArrayList) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchManager.shutdown(DispatchManager.ja va:954) INFO | jvm 1 | 2007/09/25 11:31:29 | - locked <0xdb74d9c0> (a org.xmlBlaster.util.dispatch.DispatchManager) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchManager.givingUpDelivery(DispatchMa nager.java:364) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchManager.toDead(DispatchManager.java :356) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.updateState(Disp atchConnectionsHandler.java:348) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.toDead(DispatchC onnectionsHandler.java:315) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnection.handleTransition(Dispatc hConnection.java:632) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnection.ping(DispatchConnection. java:359) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.dispatch.DispatchConnection.timeout(DispatchConnecti on.java:423) INFO | jvm 1 | 2007/09/25 11:31:29 | at org.xmlBlaster.util.Timeout.run(Timeout.java:189)





--
Marcel Ruff
http://www.xmlBlaster.org