"I/O dispatch worker terminated abnormally" casued by NPE with extremely low 
timeout settings
---------------------------------------------------------------------------------------------

                 Key: HTTPCORE-180
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-180
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.0-beta3, 4.0-beta2
         Environment: java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)


            Reporter: Chas W
            Priority: Minor


I'm running a high throughput nio http client (essentially a small webcrawler) 
through the apache HttpCore NIO extensions -- my code is based largely off the 
sample client at 
http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/module-nio/src/examples/org/apache/http/examples/nio/NHttpClient.java.

    I've manually set both the 'connection timeout' and 'socket timeout' limits 
to 1ms, in order to force timeouts to test a portion of my code.

    After doing so, I repeatedly get the following error: "I/O dispatch worker 
terminated abnormally"; it's an IOException thrown from the 'ioReactor.execute' 
part of the sample code mentioned above. I get it when requesting high volumes 
of URLs -- it sometimes occours very quickly, or other times won't happen for 
up to 10 minutes or so.

    Here's the printStackTrack output for the 'getCause()' method on the 
IOexception:

java.lang.NullPointerException
        at 
org.apache.http.nio.protocol.AsyncNHttpClientHandler.closed(AsyncNHttpClientHandler.java:115)
        at 
org.apache.http.nio.protocol.BufferingHttpClientHandler.closed(BufferingHttpClientHandler.java:98)
        at 
org.apache.http.impl.nio.DefaultClientIOEventDispatch.disconnected(DefaultClientIOEventDispatch.java:93)
        at 
org.apache.http.impl.nio.reactor.BaseIOReactor.sessionClosed(BaseIOReactor.java:222)
        at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.processClosedSessions(AbstractIOReactor.java:277)
        at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:150)
        at 
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:70)
        at 
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:362)
        at java.lang.Thread.run(Thread.java:619)


      Even though the error seems to stem from the httpcore library, I've 
commented out all of my code to see if it fixes the problem -- it doesn't. I 
tried upgrading from the 4.0-beta2 to the 4.0-beta3 release -- this also does 
not solve the problem.

       Again, this problem only occours when connection timeout and socket 
timeout are set extremely low (1ms), and does not seem to occour with normal 
timeout values.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to