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

Re: [xmlblaster] dead lock



David Robison wrote:
Can you tell me a little more about the conditions that caused the dead lock? We are experiencing a problem that may be related (although it may be just my wacky code). Any additional information would be helpful.
This happens when:

1. No fail safe client connection (pubSessionId < 0) (Xavier, is this correct?)
2. Client is reconnecting
3. At the same time xmlBlaster's callback ping thread detects the lost client and wants to clean up


regards
Marcel


David Robison

    ------------------------------------------------------------------------
    *From:* Marcel Ruff [mailto:mr at marcelruff.info]
    *To:* xmlblaster at server.xmlBlaster.org
    *Sent:* Wed, 26 Sep 2007 07:03:15 -0400
    *Subject:* Re: [xmlblaster] dead lock

    Hi Xavier,

    the dead lock is now fixed, the code is available with svn.

    thanks for reporting,
    Marcel


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 ? > > 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




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