The stack trace doesn't have any JSecurity components in it other than the
the Filter chain wrapper, which is very thin and doesn't implement much
logic - certainly no redirect logic.

The exception doesn't stem from any of JSecurity's Request classes or other
HTTP-specific components.  It looks like this might be a Jetty issue based
on the top-most parts of the stack trace.

Have you tried deploying to Tomcat and seeing what happens?

On Fri, Feb 20, 2009 at 8:46 PM, Les Hazlewood <[email protected]>wrote:

> Ok, thanks for the stack trace - I'll see if I can find something...
>
>
> On Fri, Feb 20, 2009 at 7:04 PM, Razvan Dragut 
> <[email protected]>wrote:
>
>> Hi again,
>>
>> i just got those errors i was talking about in point 2) again. Note that I
>> am getting these exceptions when jsecurity filter is _before_ wicket filter
>> ( the case that fixes 1)  ).
>>
>> So, when wicket filter is first i get the error with security manager.
>> When jsecurity filter is first, it fixes the security manager binding, but I
>> get into this :
>>
>>  Here's the exception :
>>
>> 2009-02-20 23:51:25,750 ERROR [4070...@qtp0-2] o.a.w.p.h.WicketFilter
>> [WicketFilter.java : 476] closing the buffer error
>> java.lang.ArrayIndexOutOfBoundsException: 4096
>>     at org.mortbay.io.ByteArrayBuffer.poke(ByteArrayBuffer.java:268)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.io.AbstractBuffer.put(AbstractBuffer.java:456)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpFields$Field.put(HttpFields.java:1403)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpGenerator.completeHeader(HttpGenerator.java:523)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpConnection.completeResponse(HttpConnection.java:622)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.Response.complete(Response.java:1096)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.Response.sendRedirect(Response.java:408)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:125)
>> [selenium-server-1.0-beta-1-standalone.jar:na]
>>     at
>> org.apache.wicket.protocol.http.WebResponse.redirect(WebResponse.java:237)
>> [wicket-1.4-rc2.jar:1.4-rc2]
>>     at
>> org.apache.wicket.protocol.http.BufferedWebResponse.close(BufferedWebResponse.java:66)
>> [wicket-1.4-rc2.jar:1.4-rc2]
>>     at
>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:471)
>> [wicket-1.4-rc2.jar:1.4-rc2]
>>     at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:288)
>> [wicket-1.4-rc2.jar:1.4-rc2]
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:384)
>> [classes/:na]
>>     at
>> org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:183)
>> [classes/:na]
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.Server.handle(Server.java:324)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>> [jetty-util-6.1.14.jar:6.1.14]
>> 2009-02-20 23:51:25,765 ERROR [4070...@qtp0-2] o.m.log
>> [NativeMethodAccessorImpl.java : -2] handle failed
>> java.lang.ArrayIndexOutOfBoundsException: 4096
>>     at org.mortbay.io.ByteArrayBuffer.poke(ByteArrayBuffer.java:268)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.io.AbstractBuffer.put(AbstractBuffer.java:456)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpFields$Field.put(HttpFields.java:1384)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpGenerator.completeHeader(HttpGenerator.java:523)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpConnection.completeResponse(HttpConnection.java:622)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.Response.complete(Response.java:1096)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:592)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>> [jetty-6.1.14.jar:6.1.14]
>>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>> [jetty-6.1.14.jar:6.1.14]
>>     at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>> [jetty-util-6.1.14.jar:6.1.14]
>>
>>
>> Best Regards,
>>
>> Razvan
>>
>>
>> On Fri, Feb 20, 2009 at 11:47 PM, Razvan Dragut <
>> [email protected]> wrote:
>>
>>> Hi everyone,
>>>
>>> did anyone encounter the following situation ? :
>>>
>>> 1. If you have wicket filter and jsecurity filter in your web.xml , you
>>> need to declare the jsecurity filter mapping _before_ the wicket filter
>>> mapping. Otherwise, you will get the error about your security manager not
>>> being bound to thread context or jvm. I suspect a bug in the wicket filter
>>> that prevents it from passing the filter execution to the next filters in
>>> the chain because once I swap them and let the jsecurity filter before the
>>> wicket filter all is ok.
>>>
>>> 2. I also got some jetty/jsecurityfilter exceptions while swapping these
>>> 2 filters but they are inconsistent because I do not get them now, at all.
>>> Will post them when I'll get them again.
>>>
>>> Anyway, did you meet the situation described at 1) ?
>>>
>>> I can consistently reproduce 1) with Wicket-1.4-rc1 and rc2 , JSecurity
>>> trunk sources , Spring 2.5.6, Jetty 6.1.14.
>>>
>>> Regards,
>>>
>>> Razvan
>>>
>>
>>
>

Reply via email to