Hi Danile/Mike,

I had a look at the issue and I think Daniels suggestion will work. I will
fix this soon on the 1.3 branch.

Thanks,
Ruwan

On Sat, Sep 26, 2009 at 4:38 AM, Obendorf, Mike <[email protected]
> wrote:

> Daniel -
>
> Did you get a fix from Ruwan for this? We're now seeing the same error in
> one of our deployments and would like to patch that build until 1.3 is
> officially released. BTW, I just downloaded the latest 1.3 source and get
> the same error as well...
>
> Thanks,
> Mike
>
> -----Original Message-----
> From: Moise, Daniel [mailto:[email protected]]
> Sent: Thursday, September 24, 2009 11:02 AM
> To: [email protected]
> Subject: RE: HttpCoreNIOListener$1 - System may be unstable: IOReactor
> encountered a runtime exception : null
>
> The file that contains the error is
> synapse-nhttp-transport/ServerHandler.java:209
> int bytesWritten = outBuf.produceContent(encoder);
> where the outBuf is
> ContentOutputBuffer outBuf = (ContentOutputBuffer)
> context.getAttribute(RESPONSE_SOURCE_BUFFER);
>
> In this case when the outBuf is null, I think a possible solution to fix
> this is to just close the connection.
> What do you think?
>
> Thanks,
> Daniel
>
>
> -----Original Message-----
> From: Ruwan Linton [mailto:[email protected]]
> Sent: Thursday, September 24, 2009 11:53 AM
> To: [email protected]
> Subject: Re: HttpCoreNIOListener$1 - System may be unstable: IOReactor
> encountered a runtime exception : null
>
> Let me get back to you after testing this scenario. Thanks for the input
> Daniel. You may also raise a JIRA issue for this.
>
> Thanks,
> Ruwan
>
> On Thu, Sep 24, 2009 at 10:31 PM, Moise, Daniel
> <[email protected]>wrote:
>
> > Hi Ruwan,
> >
> > I've tried the last changes in the 1.3 branch, and the problem is
> still
> > there. To test it, we've just run a 'telnet localhost 8280'.
> > Based on your answer, it seems that you guys have a solution for this.
> > Could you send me a patch or the changes for that. You don't have to
> > necessarily check them in the branch for now.
> >
> > Thanks,
> > Daniel
> >
> > -----Original Message-----
> > From: Ruwan Linton [mailto:[email protected]]
> > Sent: Wednesday, September 23, 2009 6:04 PM
> > To: [email protected]
> > Subject: Re: HttpCoreNIOListener$1 - System may be unstable: IOReactor
> > encountered a runtime exception : null
> >
> > Hi Daniel,
> >
> > This should be fixed now on the trunk, were you trying this on the
> > trunk?
> > Can you please verify this on a SNAPSHOT build?
> >
> > This will be available with the 1.3 release.
> >
> > Thanks,
> > Ruwan
> >
> > On Wed, Sep 23, 2009 at 11:24 PM, Moise, Daniel
> > <[email protected]>wrote:
> >
> > > Hi,
> > >
> > > I've found the same problem as the one listed below - every time a
> > > malformed request is given to Synapse, an infinite loop will be
> > > triggered making the Synapse server sluggish, and consuming the
> entire
> > > log file (in case the output is redirected). I've noticed that the
> > > problem might get fixed. Could you please let me know if the problem
> > was
> > > fixes, and if yes in which release.
> > >
> > > Thanks,
> > > Daniel
> > >
> > >
> > >                Hi All
> > >
> > >                I guess this boils down to how we deal with broken,
> > > partial, and even
> > >                possibly malicious requests in the NIO transport.. I
> > > will fix the issue
> > >                pointed to by Andreas and Murali ASAP as I consider
> > this
> > > critical.
> > >
> > >                Murali - I believe you should plan on updating to
> > > Synapse 1.3 in the
> > >                near future. There are a few issues we have fixed
> over
> > > the past year
> > >                that should be very important for any production
> > > deployment. As I
> > >                believe your environment / configuration is
> > > straightforward, so the
> > >                migration should be quite trivial too - Could you
> also
> > > raise an issue on
> > >                the JIRA?
> > >
> > >                This runtime exception is caught in
> > > BaseIOReactor#writable and delegated to the
> > >                registered exception handler (in our case an
> anonymous
> > > inner class of
> > >                HttpCoreNIOListener with the following
> implementation:
> > >
> > >                ioReactor.setExceptionHandler(new
> > > IOReactorExceptionHandler() {
> > >                                public boolean handle(IOException
> > > ioException) {
> > >                                    log.warn("System may be unstable:
> > > IOReactor encountered a
> > >                checked exception : "
> > >                                            +
> ioException.getMessage(),
> > > ioException);
> > >                                    return true;
> > >                                }
> > >
> > >                                public boolean
> handle(RuntimeException
> > > runtimeException) {
> > >                                    log.warn("System may be unstable:
> > > IOReactor encountered a
> > >                runtime exception : "
> > >                                            +
> > > runtimeException.getMessage(), runtimeException);
> > >                                    return true;
> > >                                }
> > >                            });
> > >
> > >                I wondering a bit about the return value. Taken from
> > the
> > > JavaDoc of the
> > >                interface IOReactorExceptionHandler#handle
> > >
> > >                True if it is safe to ignore the exception and
> continue
> > > execution of the I/O
> > >                reactor; if the I/O reactor must throw {...@link
> > > RuntimeException} and terminate
> > >
> > >                Hmm, is it really safe to proceed here? We do not
> test
> > > any detail of the
> > >                RuntimeException. To me this looks wrong.
> > >
> > >                Yes, we return true since the later versions of
> > HttpCore
> > > dump some
> > >                information and try to continue in the face of RT
> > > exceptions. What I
> > >                feel is that we need to enhance the NIO transport to
> be
> > > stable in the
> > >                face of broken, partial and malicious requests so
> that
> > > RT exceptions
> > >                will not be thrown in such cases, and we will drop
> the
> > > connection with a
> > >                WARN
> > >
> > >                cheers
> > >                asankha
> > >
> > >                --
> > >                Asankha C. Perera
> > >                AdroitLogic, http://adroitlogic.org
> > >
> > >                http://esbmagic.blogspot.com
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > >                To unsubscribe, e-mail: [email protected]
> > >                For additional commands, e-mail:
> > > [email protected]
> > >
> > >
> >
> >
> > --
> > Ruwan Linton
> > Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb
> > WSO2 <http://wso2.org/esb%0AWSO2> Inc.; http://wso2.org
> > email: [email protected]; cell: +94 77 341 3097
> > blog: http://ruwansblog.blogspot.com
> >
>
>
>
> --
> Ruwan Linton
> Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb
> WSO2 <http://wso2.org/esb%0AWSO2> Inc.; http://wso2.org
> email: [email protected]; cell: +94 77 341 3097
> blog: http://ruwansblog.blogspot.com
>



-- 
Ruwan Linton
Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: [email protected]; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com

Reply via email to