Hi Oleg, Thanks for the quick response as always!
I should point out that the client causing this exception is outside of our control (indeed I have no idea who rl143.1blu.de is, or what data they're sending). They could well be sending an entity enclosing request without an entity. I'll try to find a reproducable test case for this using the logging examples you mentioned. We see it every couple of days. Thanks, Sam On 11 June 2010 11:58, Oleg Kalnichevski <[email protected]> wrote: > On Fri, 2010-06-11 at 11:33 +0100, Sam Crawford wrote: >> Morning, >> >> We've just put together our first HttpCore-based server and we're >> intermittently seeing an exception in our logs which is causing the >> entire server to shutdown. >> >> INFO com.acmecorp.proj.http.HttpSSLServer: Connection open: >> [rl143.1blu.de/82.98.78.94:40892] >> ERROR com.acmecorp.proj.http.HttpSSLServer: I/O error >> org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker >> terminated abnormally >> at >> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:326) >> at com.acmecorp.proj.http.HttpSSLServer$1.run(HttpSSLServer.java:162) >> Caused by: java.lang.NullPointerException >> at >> org.apache.http.nio.protocol.AsyncNHttpServiceHandler.inputReady(AsyncNHttpServiceHandler.java:317) >> at >> org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:179) >> at >> org.apache.http.impl.nio.SSLServerIOEventDispatch.inputReady(SSLServerIOEventDispatch.java:225) >> at >> org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:153) >> at >> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:314) >> at >> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:294) >> at >> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:256) >> at >> org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:96) >> at >> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:556) >> at java.lang.Thread.run(Thread.java:619) >> INFO com.acmecorp.proj.http.HttpSSLServer: Shutdown HTTP server >> >> Can you advise if this is related to the item discussed in >> http://hc.apache.org/httpcomponents-core-4.0.1/tutorial/html/nio.html#d0e1240, >> or is it likely to be an unrelated issue with our code? The NPE >> suggests to me that it's more likely to be our code. >> >> Thanks, >> >> Sam >> > > NPE is thrown because the consuming entity is null, which should never > be the case for entity enclosing requests, so this is likely to be a bug > in AsyncNHttpServiceHandler. > > Could you please try to put together a test case that reproduces the > problem? > > You may also want to take a look at the logging extensions in the > contrib package that generally make debugging somewhat easier > > http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/ > > One indeed can work this problem around by preventing the I/O reactor > form shutting itself down in case of a runtime exception. We should > however rather try to find out why NPE is thrown in the first place. > > Oleg > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
