powered by Jive Software

Unwanted disconnection of client using BOSH

Hi

Im using a simple javascript client that talks to Openfires http-bind port. All is working well except that sometimes the clients disconnects and I couldnt find out why. Could there just be bad xmlhttp requests somtimes? Is it possible that the server will sometimes disconnect the clients? Maybe there is some property Im not aware of that I need to set. For example after setting “xmpp.session.conflict-limit = 0” my server is alot more stable.

Thanks

Are you using https or http?

I`m using http

Anything relevant in the server logs?

I`m trying to repredoce it again with a clear log.

Not sure if the previous log is relevant:

2007.08.31 19:10:10 [org.jivesoftware.util.log.util.CommonsLogFactory$1.fatal(CommonsLogFactory.jav a:95)

] The scratchDir you specified: C:\DOCUME1\dror\LOCALS1\Temp\Jetty_0_0_0_0_9090_webapp____-dnguxu\jsp is unusable.

2007.08.31 19:35:59 [org.jivesoftware.openfire.handler.IQHandler.process(IQHandler.java:68)

] Internal server error

java.lang.NullPointerException

at org.jivesoftware.openfire.handler.IQBindHandler.handleIQ(IQBindHandler.java:89)

at org.jivesoftware.openfire.handler.IQHandler.process(IQHandler.java:48)

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:104)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.SessionPacketRouter.route(SessionPacketRouter.java:11 0)

at org.jivesoftware.openfire.SessionPacketRouter.route(SessionPacketRouter.java:67 )

at org.jivesoftware.openfire.http.HttpSession.sendPendingPackets(HttpSession.java: 429)

at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.run(HttpSess ionManager.java:311)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2007.08.31 19:36:14 [org.jivesoftware.openfire.handler.IQHandler.process(IQHandler.java:68)

] Internal server error

java.lang.NullPointerException

at org.jivesoftware.openfire.handler.IQBindHandler.handleIQ(IQBindHandler.java:89)

at org.jivesoftware.openfire.handler.IQHandler.process(IQHandler.java:48)

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:104)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.openfire.SessionPacketRouter.route(SessionPacketRouter.java:11 0)

at org.jivesoftware.openfire.SessionPacketRouter.route(SessionPacketRouter.java:67 )

at org.jivesoftware.openfire.http.HttpSession.sendPendingPackets(HttpSession.java: 429)

at org.jivesoftware.openfire.http.HttpSessionManager$HttpPacketSender.run(HttpSess ionManager.java:311)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

That log indicates the server is running into a problem trying to process an iq, and the exception isn’t being handled properly further up the chain. I suggest looking at what you’re sending for your resource binding request.

Looks like the session you are attempting to bind on is not authenticated. Though the server should not throw an NPE in this case you must authenticate before you can bind. I would recommend reading the 1.5 version of the BOSH XEP before proceeding. A fix for the NPE has already been checked into Openfire and will be available in version 3.4.0.

For your reference:

JM-1097

Cheers,

Alex