synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <j...@apache.org>
Subject [jira] Created: (SYNAPSE-205) NPE in HttpCoreNIOSender and "I/O reactor has been shut down"
Date Thu, 20 Dec 2007 14:39:47 GMT
NPE in HttpCoreNIOSender and "I/O reactor has been shut down"
-------------------------------------------------------------

                 Key: SYNAPSE-205
                 URL: https://issues.apache.org/jira/browse/SYNAPSE-205
             Project: Synapse
          Issue Type: Bug
          Components: Transports
    Affects Versions: NIGHTLY
            Reporter: Andreas Veithen
            Priority: Critical


When the target service is not available, a request to the proxy service causes the following
exception:

Exception in thread "HttpCoreNIOSender" java.lang.NullPointerException
	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.handleError(HttpCoreNIOSender.java:460)
	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender$3.timeout(HttpCoreNIOSender.java:439)
	at org.apache.http.impl.nio.reactor.SessionRequestImpl.timeout(SessionRequestImpl.java:151)
	at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processTimeouts(DefaultConnectingIOReactor.java:152)
	at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:96)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:158)
	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.executeClientEngine(HttpCoreNIOSender.java:139)
	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.access$000(HttpCoreNIOSender.java:68)
	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender$1.run(HttpCoreNIOSender.java:101)
	at java.lang.Thread.run(Thread.java:613)

Any further request then fails with "java.lang.IllegalStateException: I/O reactor has been
shut down".

The instruction in HttpCoreNIOSender that causes the NPE is as follows:

MessageContext nioFaultMessageContext =
    MessageContextBuilder.createFaultMessageContext(
        mc, new AxisFault(exception.toString(), exception));

Probably, when handleError is called by the timeout (rather than the failed) method, as is
the case here (see stacktrace), exception is null. The handleError method doesn't handle this
situation appropriately.

Note that this issue is similar but not identical to the one described in SYNAPSE-168.

-- 
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: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org


Mime
View raw message