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 Inc.; http://wso2.org
email: [email protected]; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com

Reply via email to