On Aug 21, 2013, at 3:41 AM, Jeewantha Dharmaparakrama <[email protected]> 
wrote:

> Hi Hiranya,
> 
> This exception was thrown from an internal version of Synapse at WSO2 used in 
> WSO2 ELB. It is slightly different from what we have in Apache svn trunk. 
> Internally we migrated to HTTP core 4.3 as well, but we still have 
> ServerIODispatch which is passed to ioReactor.execute(...). And this error 
> occurs when a browser client (ELB management console) makes HTTP/HTTPS 
> requests to Passthru listener in synapse. Apparently an already closed 
> connection is still being used from Synapse end. BTW can you tell me why 
> ServerIODispatch was removed from trunk when migrating to HTTPCore 4.3 ?

Once the transport was migrated off all the deprecated Http Core APIs, this no 
longer was required. There are better and more up-to-date APIs to obtain the 
same functionality.

Thanks,
Hiranya

> 
> Jeewantha.
> 
> 
> 
> On Mon, Aug 19, 2013 at 11:21 PM, Hiranya Jayathilaka <[email protected]> 
> wrote:
> I just noticed that this is from a slightly older revision of Synapse. Line 
> numbers in the stack trace are off. Also the stack trace mentions the class 
> ServerIODispatch, which is no longer in the code base. It was removed during 
> the migration to HTTP Core 4.3. 
> 
> Can you try your scenario with a latest snapshot build and see if the problem 
> occurs there, before trying out anything else.
> 
> Thanks,
> Hiranya
> 
> On Aug 19, 2013, at 10:46 AM, Hiranya Jayathilaka <[email protected]> 
> wrote:
> 
>> [Dropped hc list]
>> 
>> Hi Jeewantha,
>> 
>> What's your Synapse configuration? What steps did you have to go through to 
>> get this error? Please specify the exact details, so we can try to reproduce 
>> the problem.
>> 
>> Also as Oleg has mentioned, a wire-level log would be very helpful. Enable 
>> DEBUG for the org.apache.synapse.transports package in the log4j.properties 
>> to enable this.
>> 
>> Thanks,
>> Hiranya
>> 
>> On Aug 19, 2013, at 1:48 AM, Jeewantha Dharmaparakrama 
>> <[email protected]> wrote:
>> 
>>> Hi All,
>>> 
>>> I have an intermittent issue with Synapse where it prints the following 
>>> exception in its Error logs.
>>> [2013-08-15 16:57:28,710] ERROR - SourceHandler Unexpected I/O error: 
>>> java.nio.channels.ClosedChannelException
>>> 
>>> 
>>> java.nio.channels.ClosedChannelException
>>> 
>>> 
>>> at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:135)
>>> at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:326)
>>> at 
>>> org.apache.http.impl.nio.reactor.SessionOutputBufferImpl.flush(SessionOutputBufferImpl.java:167)
>>> at 
>>> org.apache.http.impl.nio.DefaultNHttpServerConnection.produceOutput(DefaultNHttpServerConnection.java:323)
>>> at 
>>> org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection.produceOutput(LoggingNHttpServerConnection.java:112)
>>> at 
>>> org.apache.synapse.transport.passthru.ServerIODispatch.onOutputReady(ServerIODispatch.java:87)
>>> at 
>>> org.apache.synapse.transport.passthru.ServerIODispatch.onOutputReady(ServerIODispatch.java:39)
>>> at 
>>> org.apache.http.impl.nio.reactor.AbstractIODispatch.outputReady(AbstractIODispatch.java:143)
>>> at 
>>> org.apache.http.impl.nio.reactor.BaseIOReactor.writable(BaseIOReactor.java:180)
>>> at 
>>> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342)
>>> at 
>>> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
>>> at 
>>> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
>>> at 
>>> org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
>>> at 
>>> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:584)
>>> at java.lang.Thread.run(Thread.java:662)
>>> 
>>> 
>>> 
>>> What happens is for some reason, the corresponding SocketChannel is closed 
>>> but still some IO operation is done on it. Once this exception is caught 
>>> from httpcore-nio, it will be passed to 
>>> org.apache.http.nio.NHttpServerEventHandler implementation ( 
>>> org.apache.synapse.transport.passthru.SourceHandler ) and will be printed 
>>> on Synapse Error logs. Since this is an intermittent issue,
>>> I tried to reproduce this programmatically but failed [1]. What can be the 
>>> practical reason for this Error? Can this be deliberately reproduced with 
>>> Synapse?
>>> 
>>> [1] http://stackoverflow.com/q/18309283/1411653 
>>> 
>>> Thanks in advance,
>>> Jeewantha.
>> 
>> --
>> Hiranya Jayathilaka
>> Mayhem Lab/RACE Lab;
>> Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
>> E-mail: [email protected];  Mobile: +1 (805) 895-7443
>> Blog: http://techfeast-hiranya.blogspot.com
>> 
> 
> --
> Hiranya Jayathilaka
> Mayhem Lab/RACE Lab;
> Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
> E-mail: [email protected];  Mobile: +1 (805) 895-7443
> Blog: http://techfeast-hiranya.blogspot.com
> 
> 

--
Hiranya Jayathilaka
Mayhem Lab/RACE Lab;
Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
E-mail: [email protected];  Mobile: +1 (805) 895-7443
Blog: http://techfeast-hiranya.blogspot.com

Reply via email to