You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Wayne W <wa...@gmail.com> on 2017/07/25 14:52:13 UTC

NPE in org.apache.wicket.request.http.handler.RedirectRequestHandler.respond

Hi,

I've got a strange issue I cannot get to the bottom of. Basically we have
our app deployed on jetty 9.2.1 with apache 2.4 in front. If I make calls
to stateless pages its all good. However as soon as I try to make a call to
a stateful page it does a 302 to the login page for our app, but then just
gets stuck in a 302 loop redirection loop. Looking at the server logs its
full of this with no other exception - each track trace corresponds to
another 302 redirect. Each redirect is trying to get to our login page:


2017-07-25 14:40:18,989 ERROR -
org.apache.wicket.DefaultExceptionMapper.internalMap(DefaultExceptionMapper.java:129)
129 DefaultExceptionMapper     - Unexpected error occurred
java.lang.NullPointerException
        at
org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(RedirectRequestHandler.java:99)
        at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
        at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
        at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:93)
        at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
        at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
        at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
        at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
        at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
        at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
        at
hub.app.servlet.RelativeUrlFilter.doFilter(RelativeUrlFilter.java:54)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1653)
        at
com.wideplay.warp.persist.PersistenceFilter$3.run(PersistenceFilter.java:141)
        at
com.wideplay.warp.persist.internal.Lifecycles.failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
        at
com.wideplay.warp.persist.PersistenceFilter.doFilter(PersistenceFilter.java:155)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1645)
        at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
        at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
        at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
        at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498)
        at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
        at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
        at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)
        at org.eclipse.jetty.server.Server.handle(Server.java:461)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284)
        at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
        at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
        at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
        at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
        at java.lang.Thread.run(Thread.java:745)
2017-07-25 14:40:19,076 ERROR -
org.apache.wicket.DefaultExceptionMapper.internalMap(DefaultExceptionMapper.java:129)
129 DefaultExceptionMapper     - Unexpected error occurred
java.lang.NullPointerException
        at
org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(RedirectRequestHandler.java:99)
        at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
        at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
etc




Does any one have any idea what is causing this? Its fine on my local
machine and fine if I used tomcat behind apache.


My apache cons looks like this:

<VirtualHost x.x.x.x:443>
 ServerName XXXXX.com

 RequestHeader set X_FORWARDED_PROTO "https"
 RequestHeader set X-Forwarded-Proto "https"

 ErrorLog /home/wayne/error_log
 CustomLog /home/wayne/access_log combined

 SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH

 SSLEngine On
 SSLCertificateFile      /ec/etc/apache/2.4/ssl/XXXX.crt
 SSLCertificateKeyfile   /ec/etc/apache/2.4/ssl/XXXX.key
 SSLCertificateChainFile /ec/etc/apache/2.4/ssl/XXXX.ca
 SSLProtocol all -SSLv2 -SSLv3 -TLSv1
 SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
 SSLHonorCipherOrder on
 SSLCompression off
 Header always set Strict-Transport-Security "max-age=63072000;
includeSubdomains; preload"
 Header always set X-Frame-Options DENY
 Header always set X-Content-Type-Options nosniff

 AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
application/javascript application/x-javascript


 ProxyPreserveHost On


 # ProxyPass / http://127.0.0.1:8080/
 ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid
nofailover=Off
 <Proxy balancer://cluster/>
      Order allow,deny
      Allow from all
      BalancerMember http://127.0.0.1:8080 route=jetty1
 </Proxy>
</VirtualHost>

Re: NPE in org.apache.wicket.request.http.handler.RedirectRequestHandler.respond

Posted by Wayne W <wa...@gmail.com>.
Thanks Martin,

I've put logging everywhere but still can't track it down. Its just this
jetty instance causing not, not sure why. I'm going to side step the issue
and upgrade to 7.8.10 as I need that replication fix live asap.

Many thanks

On Wed, Jul 26, 2017 at 11:51 AM, Martin Grigorov <mg...@apache.org>
wrote:

> I've added a check for 7.x and 8.x -
> https://git1-us-west.apache.org/repos/asf?p=wicket.git;a=
> commitdiff;h=5f3fc484;hp=3ec2c617f1e27f06df985032e233ca4799097b26
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Jul 26, 2017 at 1:48 PM, Martin Grigorov <mg...@apache.org>
> wrote:
>
> > https://github.com/apache/wicket/blob/wicket-6.17.0/
> > wicket-request/src/main/java/org/apache/wicket/request/http/handler/
> > RedirectRequestHandler.java#L99 says that getRedirectUrl() returns null.
> > So something calls RedirectRequestHandler's constructor with null url.
> > Wicket doesn't instantiate this class for its needs, so it should be your
> > application.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Wed, Jul 26, 2017 at 10:15 AM, Wayne W <wa...@gmail.com>
> > wrote:
> >
> >> Still on 6.17.0 Martin. Not had the time/resources to move to 6.18
> which I
> >> want because of that replication fix!!
> >>
> >> On Tue, Jul 25, 2017 at 7:55 PM, Martin Grigorov <mg...@apache.org>
> >> wrote:
> >>
> >> > Which version of Wicket do you use ?
> >> >
> >> > Martin Grigorov
> >> > Wicket Training and Consulting
> >> > https://twitter.com/mtgrigorov
> >> >
> >> > On Tue, Jul 25, 2017 at 5:52 PM, Wayne W <waynemailinglists@gmail.com
> >
> >> > wrote:
> >> >
> >> > > Hi,
> >> > >
> >> > > I've got a strange issue I cannot get to the bottom of. Basically we
> >> have
> >> > > our app deployed on jetty 9.2.1 with apache 2.4 in front. If I make
> >> calls
> >> > > to stateless pages its all good. However as soon as I try to make a
> >> call
> >> > to
> >> > > a stateful page it does a 302 to the login page for our app, but
> then
> >> > just
> >> > > gets stuck in a 302 loop redirection loop. Looking at the server
> logs
> >> its
> >> > > full of this with no other exception - each track trace corresponds
> to
> >> > > another 302 redirect. Each redirect is trying to get to our login
> >> page:
> >> > >
> >> > >
> >> > > 2017-07-25 14:40:18,989 ERROR -
> >> > > org.apache.wicket.DefaultExceptionMapper.internalMap(
> >> > > DefaultExceptionMapper.java:129)
> >> > > 129 DefaultExceptionMapper     - Unexpected error occurred
> >> > > java.lang.NullPointerException
> >> > >         at
> >> > > org.apache.wicket.request.http.handler.RedirectRequestHandle
> >> r.respond(
> >> > > RedirectRequestHandler.java:99)
> >> > >         at
> >> > > org.apache.wicket.request.cycle.RequestCycle$
> HandlerExecutor.respond(
> >> > > RequestCycle.java:862)
> >> > >         at
> >> > > org.apache.wicket.request.RequestHandlerStack.execute(
> >> > > RequestHandlerStack.java:64)
> >> > >         at
> >> > > org.apache.wicket.request.RequestHandlerStack.execute(
> >> > > RequestHandlerStack.java:93)
> >> > >         at
> >> > > org.apache.wicket.request.cycle.RequestCycle.execute(
> >> > > RequestCycle.java:261)
> >> > >         at
> >> > > org.apache.wicket.request.cycle.RequestCycle.
> >> > processRequest(RequestCycle.
> >> > > java:218)
> >> > >         at
> >> > > org.apache.wicket.request.cycle.RequestCycle.
> processRequestAndDetach(
> >> > > RequestCycle.java:289)
> >> > >         at
> >> > > org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(
> >> > > WicketFilter.java:259)
> >> > >         at
> >> > > org.apache.wicket.protocol.http.WicketFilter.
> >> > processRequest(WicketFilter.
> >> > > java:201)
> >> > >         at
> >> > > org.apache.wicket.protocol.http.WicketFilter.doFilter(
> >> > > WicketFilter.java:282)
> >> > >         at
> >> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> >> > > doFilter(ServletHandler.java:1653)
> >> > >         at
> >> > > hub.app.servlet.RelativeUrlFilter.doFilter(
> RelativeUrlFilter.java:54)
> >> > >         at
> >> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> >> > > doFilter(ServletHandler.java:1653)
> >> > >         at
> >> > > com.wideplay.warp.persist.PersistenceFilter$3.run(
> >> > > PersistenceFilter.java:141)
> >> > >         at
> >> > > com.wideplay.warp.persist.internal.Lifecycles.
> >> > > failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
> >> > >         at
> >> > > com.wideplay.warp.persist.PersistenceFilter.doFilter(
> >> > > PersistenceFilter.java:155)
> >> > >         at
> >> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> >> > > doFilter(ServletHandler.java:1645)
> >> > >         at
> >> > > org.eclipse.jetty.servlet.ServletHandler.doHandle(
> >> > ServletHandler.java:564)
> >> > >         at
> >> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> >> > > ScopedHandler.java:143)
> >> > >         at
> >> > > org.eclipse.jetty.security.SecurityHandler.handle(
> >> > > SecurityHandler.java:578)
> >> > >         at
> >> > > org.eclipse.jetty.server.session.SessionHandler.
> >> > > doHandle(SessionHandler.java:221)
> >> > >         at
> >> > > org.eclipse.jetty.server.handler.ContextHandler.
> >> > > doHandle(ContextHandler.java:1111)
> >> > >         at
> >> > > org.eclipse.jetty.servlet.ServletHandler.doScope(
> >> > ServletHandler.java:498)
> >> > >         at
> >> > > org.eclipse.jetty.server.session.SessionHandler.
> >> > > doScope(SessionHandler.java:183)
> >> > >         at
> >> > > org.eclipse.jetty.server.handler.ContextHandler.
> >> > > doScope(ContextHandler.java:1045)
> >> > >         at
> >> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> >> > > ScopedHandler.java:141)
> >> > >         at
> >> > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> >> > > ContextHandlerCollection.java:199)
> >> > >         at
> >> > > org.eclipse.jetty.server.handler.HandlerCollection.
> >> > > handle(HandlerCollection.java:109)
> >> > >         at
> >> > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> >> > > HandlerWrapper.java:98)
> >> > >         at org.eclipse.jetty.server.Server.handle(Server.java:461)
> >> > >         at org.eclipse.jetty.server.HttpChannel.handle(
> >> > > HttpChannel.java:284)
> >> > >         at
> >> > > org.eclipse.jetty.server.HttpConnection.onFillable(
> >> > > HttpConnection.java:244)
> >> > >         at
> >> > > org.eclipse.jetty.io.AbstractConnection$2.run(
> >> > AbstractConnection.java:534)
> >> > >         at
> >> > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> >> > > QueuedThreadPool.java:607)
> >> > >         at
> >> > > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
> >> > > QueuedThreadPool.java:536)
> >> > >         at java.lang.Thread.run(Thread.java:745)
> >> > > 2017-07-25 14:40:19,076 ERROR -
> >> > > org.apache.wicket.DefaultExceptionMapper.internalMap(
> >> > > DefaultExceptionMapper.java:129)
> >> > > 129 DefaultExceptionMapper     - Unexpected error occurred
> >> > > java.lang.NullPointerException
> >> > >         at
> >> > > org.apache.wicket.request.http.handler.RedirectRequestHandle
> >> r.respond(
> >> > > RedirectRequestHandler.java:99)
> >> > >         at
> >> > > org.apache.wicket.request.cycle.RequestCycle$
> HandlerExecutor.respond(
> >> > > RequestCycle.java:862)
> >> > >         at
> >> > > org.apache.wicket.request.RequestHandlerStack.execute(
> >> > > RequestHandlerStack.java:64)
> >> > > etc
> >> > >
> >> > >
> >> > >
> >> > >
> >> > > Does any one have any idea what is causing this? Its fine on my
> local
> >> > > machine and fine if I used tomcat behind apache.
> >> > >
> >> > >
> >> > > My apache cons looks like this:
> >> > >
> >> > > <VirtualHost x.x.x.x:443>
> >> > >  ServerName XXXXX.com
> >> > >
> >> > >  RequestHeader set X_FORWARDED_PROTO "https"
> >> > >  RequestHeader set X-Forwarded-Proto "https"
> >> > >
> >> > >  ErrorLog /home/wayne/error_log
> >> > >  CustomLog /home/wayne/access_log combined
> >> > >
> >> > >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
> >> > >
> >> > >  SSLEngine On
> >> > >  SSLCertificateFile      /ec/etc/apache/2.4/ssl/XXXX.crt
> >> > >  SSLCertificateKeyfile   /ec/etc/apache/2.4/ssl/XXXX.key
> >> > >  SSLCertificateChainFile /ec/etc/apache/2.4/ssl/XXXX.ca
> >> > >  SSLProtocol all -SSLv2 -SSLv3 -TLSv1
> >> > >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
> >> > >  SSLHonorCipherOrder on
> >> > >  SSLCompression off
> >> > >  Header always set Strict-Transport-Security "max-age=63072000;
> >> > > includeSubdomains; preload"
> >> > >  Header always set X-Frame-Options DENY
> >> > >  Header always set X-Content-Type-Options nosniff
> >> > >
> >> > >  AddOutputFilterByType DEFLATE text/html text/plain text/xml
> text/css
> >> > > application/javascript application/x-javascript
> >> > >
> >> > >
> >> > >  ProxyPreserveHost On
> >> > >
> >> > >
> >> > >  # ProxyPass / http://127.0.0.1:8080/
> >> > >  ProxyPass / balancer://cluster/ stickysession=JSESSIONID|
> jsessionid
> >> > > nofailover=Off
> >> > >  <Proxy balancer://cluster/>
> >> > >       Order allow,deny
> >> > >       Allow from all
> >> > >       BalancerMember http://127.0.0.1:8080 route=jetty1
> >> > >  </Proxy>
> >> > > </VirtualHost>
> >> > >
> >> >
> >>
> >
> >
>

Re: NPE in org.apache.wicket.request.http.handler.RedirectRequestHandler.respond

Posted by Martin Grigorov <mg...@apache.org>.
I've added a check for 7.x and 8.x -
https://git1-us-west.apache.org/repos/asf?p=wicket.git;a=commitdiff;h=5f3fc484;hp=3ec2c617f1e27f06df985032e233ca4799097b26

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Jul 26, 2017 at 1:48 PM, Martin Grigorov <mg...@apache.org>
wrote:

> https://github.com/apache/wicket/blob/wicket-6.17.0/
> wicket-request/src/main/java/org/apache/wicket/request/http/handler/
> RedirectRequestHandler.java#L99 says that getRedirectUrl() returns null.
> So something calls RedirectRequestHandler's constructor with null url.
> Wicket doesn't instantiate this class for its needs, so it should be your
> application.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Jul 26, 2017 at 10:15 AM, Wayne W <wa...@gmail.com>
> wrote:
>
>> Still on 6.17.0 Martin. Not had the time/resources to move to 6.18 which I
>> want because of that replication fix!!
>>
>> On Tue, Jul 25, 2017 at 7:55 PM, Martin Grigorov <mg...@apache.org>
>> wrote:
>>
>> > Which version of Wicket do you use ?
>> >
>> > Martin Grigorov
>> > Wicket Training and Consulting
>> > https://twitter.com/mtgrigorov
>> >
>> > On Tue, Jul 25, 2017 at 5:52 PM, Wayne W <wa...@gmail.com>
>> > wrote:
>> >
>> > > Hi,
>> > >
>> > > I've got a strange issue I cannot get to the bottom of. Basically we
>> have
>> > > our app deployed on jetty 9.2.1 with apache 2.4 in front. If I make
>> calls
>> > > to stateless pages its all good. However as soon as I try to make a
>> call
>> > to
>> > > a stateful page it does a 302 to the login page for our app, but then
>> > just
>> > > gets stuck in a 302 loop redirection loop. Looking at the server logs
>> its
>> > > full of this with no other exception - each track trace corresponds to
>> > > another 302 redirect. Each redirect is trying to get to our login
>> page:
>> > >
>> > >
>> > > 2017-07-25 14:40:18,989 ERROR -
>> > > org.apache.wicket.DefaultExceptionMapper.internalMap(
>> > > DefaultExceptionMapper.java:129)
>> > > 129 DefaultExceptionMapper     - Unexpected error occurred
>> > > java.lang.NullPointerException
>> > >         at
>> > > org.apache.wicket.request.http.handler.RedirectRequestHandle
>> r.respond(
>> > > RedirectRequestHandler.java:99)
>> > >         at
>> > > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
>> > > RequestCycle.java:862)
>> > >         at
>> > > org.apache.wicket.request.RequestHandlerStack.execute(
>> > > RequestHandlerStack.java:64)
>> > >         at
>> > > org.apache.wicket.request.RequestHandlerStack.execute(
>> > > RequestHandlerStack.java:93)
>> > >         at
>> > > org.apache.wicket.request.cycle.RequestCycle.execute(
>> > > RequestCycle.java:261)
>> > >         at
>> > > org.apache.wicket.request.cycle.RequestCycle.
>> > processRequest(RequestCycle.
>> > > java:218)
>> > >         at
>> > > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(
>> > > RequestCycle.java:289)
>> > >         at
>> > > org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(
>> > > WicketFilter.java:259)
>> > >         at
>> > > org.apache.wicket.protocol.http.WicketFilter.
>> > processRequest(WicketFilter.
>> > > java:201)
>> > >         at
>> > > org.apache.wicket.protocol.http.WicketFilter.doFilter(
>> > > WicketFilter.java:282)
>> > >         at
>> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>> > > doFilter(ServletHandler.java:1653)
>> > >         at
>> > > hub.app.servlet.RelativeUrlFilter.doFilter(RelativeUrlFilter.java:54)
>> > >         at
>> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>> > > doFilter(ServletHandler.java:1653)
>> > >         at
>> > > com.wideplay.warp.persist.PersistenceFilter$3.run(
>> > > PersistenceFilter.java:141)
>> > >         at
>> > > com.wideplay.warp.persist.internal.Lifecycles.
>> > > failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
>> > >         at
>> > > com.wideplay.warp.persist.PersistenceFilter.doFilter(
>> > > PersistenceFilter.java:155)
>> > >         at
>> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
>> > > doFilter(ServletHandler.java:1645)
>> > >         at
>> > > org.eclipse.jetty.servlet.ServletHandler.doHandle(
>> > ServletHandler.java:564)
>> > >         at
>> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(
>> > > ScopedHandler.java:143)
>> > >         at
>> > > org.eclipse.jetty.security.SecurityHandler.handle(
>> > > SecurityHandler.java:578)
>> > >         at
>> > > org.eclipse.jetty.server.session.SessionHandler.
>> > > doHandle(SessionHandler.java:221)
>> > >         at
>> > > org.eclipse.jetty.server.handler.ContextHandler.
>> > > doHandle(ContextHandler.java:1111)
>> > >         at
>> > > org.eclipse.jetty.servlet.ServletHandler.doScope(
>> > ServletHandler.java:498)
>> > >         at
>> > > org.eclipse.jetty.server.session.SessionHandler.
>> > > doScope(SessionHandler.java:183)
>> > >         at
>> > > org.eclipse.jetty.server.handler.ContextHandler.
>> > > doScope(ContextHandler.java:1045)
>> > >         at
>> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(
>> > > ScopedHandler.java:141)
>> > >         at
>> > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
>> > > ContextHandlerCollection.java:199)
>> > >         at
>> > > org.eclipse.jetty.server.handler.HandlerCollection.
>> > > handle(HandlerCollection.java:109)
>> > >         at
>> > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
>> > > HandlerWrapper.java:98)
>> > >         at org.eclipse.jetty.server.Server.handle(Server.java:461)
>> > >         at org.eclipse.jetty.server.HttpChannel.handle(
>> > > HttpChannel.java:284)
>> > >         at
>> > > org.eclipse.jetty.server.HttpConnection.onFillable(
>> > > HttpConnection.java:244)
>> > >         at
>> > > org.eclipse.jetty.io.AbstractConnection$2.run(
>> > AbstractConnection.java:534)
>> > >         at
>> > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
>> > > QueuedThreadPool.java:607)
>> > >         at
>> > > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
>> > > QueuedThreadPool.java:536)
>> > >         at java.lang.Thread.run(Thread.java:745)
>> > > 2017-07-25 14:40:19,076 ERROR -
>> > > org.apache.wicket.DefaultExceptionMapper.internalMap(
>> > > DefaultExceptionMapper.java:129)
>> > > 129 DefaultExceptionMapper     - Unexpected error occurred
>> > > java.lang.NullPointerException
>> > >         at
>> > > org.apache.wicket.request.http.handler.RedirectRequestHandle
>> r.respond(
>> > > RedirectRequestHandler.java:99)
>> > >         at
>> > > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
>> > > RequestCycle.java:862)
>> > >         at
>> > > org.apache.wicket.request.RequestHandlerStack.execute(
>> > > RequestHandlerStack.java:64)
>> > > etc
>> > >
>> > >
>> > >
>> > >
>> > > Does any one have any idea what is causing this? Its fine on my local
>> > > machine and fine if I used tomcat behind apache.
>> > >
>> > >
>> > > My apache cons looks like this:
>> > >
>> > > <VirtualHost x.x.x.x:443>
>> > >  ServerName XXXXX.com
>> > >
>> > >  RequestHeader set X_FORWARDED_PROTO "https"
>> > >  RequestHeader set X-Forwarded-Proto "https"
>> > >
>> > >  ErrorLog /home/wayne/error_log
>> > >  CustomLog /home/wayne/access_log combined
>> > >
>> > >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
>> > >
>> > >  SSLEngine On
>> > >  SSLCertificateFile      /ec/etc/apache/2.4/ssl/XXXX.crt
>> > >  SSLCertificateKeyfile   /ec/etc/apache/2.4/ssl/XXXX.key
>> > >  SSLCertificateChainFile /ec/etc/apache/2.4/ssl/XXXX.ca
>> > >  SSLProtocol all -SSLv2 -SSLv3 -TLSv1
>> > >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
>> > >  SSLHonorCipherOrder on
>> > >  SSLCompression off
>> > >  Header always set Strict-Transport-Security "max-age=63072000;
>> > > includeSubdomains; preload"
>> > >  Header always set X-Frame-Options DENY
>> > >  Header always set X-Content-Type-Options nosniff
>> > >
>> > >  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
>> > > application/javascript application/x-javascript
>> > >
>> > >
>> > >  ProxyPreserveHost On
>> > >
>> > >
>> > >  # ProxyPass / http://127.0.0.1:8080/
>> > >  ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid
>> > > nofailover=Off
>> > >  <Proxy balancer://cluster/>
>> > >       Order allow,deny
>> > >       Allow from all
>> > >       BalancerMember http://127.0.0.1:8080 route=jetty1
>> > >  </Proxy>
>> > > </VirtualHost>
>> > >
>> >
>>
>
>

Re: NPE in org.apache.wicket.request.http.handler.RedirectRequestHandler.respond

Posted by Martin Grigorov <mg...@apache.org>.
https://github.com/apache/wicket/blob/wicket-6.17.0/wicket-request/src/main/java/org/apache/wicket/request/http/handler/RedirectRequestHandler.java#L99
says that getRedirectUrl() returns null.
So something calls RedirectRequestHandler's constructor with null url.
Wicket doesn't instantiate this class for its needs, so it should be your
application.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Jul 26, 2017 at 10:15 AM, Wayne W <wa...@gmail.com>
wrote:

> Still on 6.17.0 Martin. Not had the time/resources to move to 6.18 which I
> want because of that replication fix!!
>
> On Tue, Jul 25, 2017 at 7:55 PM, Martin Grigorov <mg...@apache.org>
> wrote:
>
> > Which version of Wicket do you use ?
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Tue, Jul 25, 2017 at 5:52 PM, Wayne W <wa...@gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > > I've got a strange issue I cannot get to the bottom of. Basically we
> have
> > > our app deployed on jetty 9.2.1 with apache 2.4 in front. If I make
> calls
> > > to stateless pages its all good. However as soon as I try to make a
> call
> > to
> > > a stateful page it does a 302 to the login page for our app, but then
> > just
> > > gets stuck in a 302 loop redirection loop. Looking at the server logs
> its
> > > full of this with no other exception - each track trace corresponds to
> > > another 302 redirect. Each redirect is trying to get to our login page:
> > >
> > >
> > > 2017-07-25 14:40:18,989 ERROR -
> > > org.apache.wicket.DefaultExceptionMapper.internalMap(
> > > DefaultExceptionMapper.java:129)
> > > 129 DefaultExceptionMapper     - Unexpected error occurred
> > > java.lang.NullPointerException
> > >         at
> > > org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(
> > > RedirectRequestHandler.java:99)
> > >         at
> > > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
> > > RequestCycle.java:862)
> > >         at
> > > org.apache.wicket.request.RequestHandlerStack.execute(
> > > RequestHandlerStack.java:64)
> > >         at
> > > org.apache.wicket.request.RequestHandlerStack.execute(
> > > RequestHandlerStack.java:93)
> > >         at
> > > org.apache.wicket.request.cycle.RequestCycle.execute(
> > > RequestCycle.java:261)
> > >         at
> > > org.apache.wicket.request.cycle.RequestCycle.
> > processRequest(RequestCycle.
> > > java:218)
> > >         at
> > > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(
> > > RequestCycle.java:289)
> > >         at
> > > org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(
> > > WicketFilter.java:259)
> > >         at
> > > org.apache.wicket.protocol.http.WicketFilter.
> > processRequest(WicketFilter.
> > > java:201)
> > >         at
> > > org.apache.wicket.protocol.http.WicketFilter.doFilter(
> > > WicketFilter.java:282)
> > >         at
> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > > doFilter(ServletHandler.java:1653)
> > >         at
> > > hub.app.servlet.RelativeUrlFilter.doFilter(RelativeUrlFilter.java:54)
> > >         at
> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > > doFilter(ServletHandler.java:1653)
> > >         at
> > > com.wideplay.warp.persist.PersistenceFilter$3.run(
> > > PersistenceFilter.java:141)
> > >         at
> > > com.wideplay.warp.persist.internal.Lifecycles.
> > > failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
> > >         at
> > > com.wideplay.warp.persist.PersistenceFilter.doFilter(
> > > PersistenceFilter.java:155)
> > >         at
> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > > doFilter(ServletHandler.java:1645)
> > >         at
> > > org.eclipse.jetty.servlet.ServletHandler.doHandle(
> > ServletHandler.java:564)
> > >         at
> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > > ScopedHandler.java:143)
> > >         at
> > > org.eclipse.jetty.security.SecurityHandler.handle(
> > > SecurityHandler.java:578)
> > >         at
> > > org.eclipse.jetty.server.session.SessionHandler.
> > > doHandle(SessionHandler.java:221)
> > >         at
> > > org.eclipse.jetty.server.handler.ContextHandler.
> > > doHandle(ContextHandler.java:1111)
> > >         at
> > > org.eclipse.jetty.servlet.ServletHandler.doScope(
> > ServletHandler.java:498)
> > >         at
> > > org.eclipse.jetty.server.session.SessionHandler.
> > > doScope(SessionHandler.java:183)
> > >         at
> > > org.eclipse.jetty.server.handler.ContextHandler.
> > > doScope(ContextHandler.java:1045)
> > >         at
> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > > ScopedHandler.java:141)
> > >         at
> > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> > > ContextHandlerCollection.java:199)
> > >         at
> > > org.eclipse.jetty.server.handler.HandlerCollection.
> > > handle(HandlerCollection.java:109)
> > >         at
> > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> > > HandlerWrapper.java:98)
> > >         at org.eclipse.jetty.server.Server.handle(Server.java:461)
> > >         at org.eclipse.jetty.server.HttpChannel.handle(
> > > HttpChannel.java:284)
> > >         at
> > > org.eclipse.jetty.server.HttpConnection.onFillable(
> > > HttpConnection.java:244)
> > >         at
> > > org.eclipse.jetty.io.AbstractConnection$2.run(
> > AbstractConnection.java:534)
> > >         at
> > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> > > QueuedThreadPool.java:607)
> > >         at
> > > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
> > > QueuedThreadPool.java:536)
> > >         at java.lang.Thread.run(Thread.java:745)
> > > 2017-07-25 14:40:19,076 ERROR -
> > > org.apache.wicket.DefaultExceptionMapper.internalMap(
> > > DefaultExceptionMapper.java:129)
> > > 129 DefaultExceptionMapper     - Unexpected error occurred
> > > java.lang.NullPointerException
> > >         at
> > > org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(
> > > RedirectRequestHandler.java:99)
> > >         at
> > > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
> > > RequestCycle.java:862)
> > >         at
> > > org.apache.wicket.request.RequestHandlerStack.execute(
> > > RequestHandlerStack.java:64)
> > > etc
> > >
> > >
> > >
> > >
> > > Does any one have any idea what is causing this? Its fine on my local
> > > machine and fine if I used tomcat behind apache.
> > >
> > >
> > > My apache cons looks like this:
> > >
> > > <VirtualHost x.x.x.x:443>
> > >  ServerName XXXXX.com
> > >
> > >  RequestHeader set X_FORWARDED_PROTO "https"
> > >  RequestHeader set X-Forwarded-Proto "https"
> > >
> > >  ErrorLog /home/wayne/error_log
> > >  CustomLog /home/wayne/access_log combined
> > >
> > >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
> > >
> > >  SSLEngine On
> > >  SSLCertificateFile      /ec/etc/apache/2.4/ssl/XXXX.crt
> > >  SSLCertificateKeyfile   /ec/etc/apache/2.4/ssl/XXXX.key
> > >  SSLCertificateChainFile /ec/etc/apache/2.4/ssl/XXXX.ca
> > >  SSLProtocol all -SSLv2 -SSLv3 -TLSv1
> > >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
> > >  SSLHonorCipherOrder on
> > >  SSLCompression off
> > >  Header always set Strict-Transport-Security "max-age=63072000;
> > > includeSubdomains; preload"
> > >  Header always set X-Frame-Options DENY
> > >  Header always set X-Content-Type-Options nosniff
> > >
> > >  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
> > > application/javascript application/x-javascript
> > >
> > >
> > >  ProxyPreserveHost On
> > >
> > >
> > >  # ProxyPass / http://127.0.0.1:8080/
> > >  ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid
> > > nofailover=Off
> > >  <Proxy balancer://cluster/>
> > >       Order allow,deny
> > >       Allow from all
> > >       BalancerMember http://127.0.0.1:8080 route=jetty1
> > >  </Proxy>
> > > </VirtualHost>
> > >
> >
>

Re: NPE in org.apache.wicket.request.http.handler.RedirectRequestHandler.respond

Posted by Wayne W <wa...@gmail.com>.
Still on 6.17.0 Martin. Not had the time/resources to move to 6.18 which I
want because of that replication fix!!

On Tue, Jul 25, 2017 at 7:55 PM, Martin Grigorov <mg...@apache.org>
wrote:

> Which version of Wicket do you use ?
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Tue, Jul 25, 2017 at 5:52 PM, Wayne W <wa...@gmail.com>
> wrote:
>
> > Hi,
> >
> > I've got a strange issue I cannot get to the bottom of. Basically we have
> > our app deployed on jetty 9.2.1 with apache 2.4 in front. If I make calls
> > to stateless pages its all good. However as soon as I try to make a call
> to
> > a stateful page it does a 302 to the login page for our app, but then
> just
> > gets stuck in a 302 loop redirection loop. Looking at the server logs its
> > full of this with no other exception - each track trace corresponds to
> > another 302 redirect. Each redirect is trying to get to our login page:
> >
> >
> > 2017-07-25 14:40:18,989 ERROR -
> > org.apache.wicket.DefaultExceptionMapper.internalMap(
> > DefaultExceptionMapper.java:129)
> > 129 DefaultExceptionMapper     - Unexpected error occurred
> > java.lang.NullPointerException
> >         at
> > org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(
> > RedirectRequestHandler.java:99)
> >         at
> > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
> > RequestCycle.java:862)
> >         at
> > org.apache.wicket.request.RequestHandlerStack.execute(
> > RequestHandlerStack.java:64)
> >         at
> > org.apache.wicket.request.RequestHandlerStack.execute(
> > RequestHandlerStack.java:93)
> >         at
> > org.apache.wicket.request.cycle.RequestCycle.execute(
> > RequestCycle.java:261)
> >         at
> > org.apache.wicket.request.cycle.RequestCycle.
> processRequest(RequestCycle.
> > java:218)
> >         at
> > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(
> > RequestCycle.java:289)
> >         at
> > org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(
> > WicketFilter.java:259)
> >         at
> > org.apache.wicket.protocol.http.WicketFilter.
> processRequest(WicketFilter.
> > java:201)
> >         at
> > org.apache.wicket.protocol.http.WicketFilter.doFilter(
> > WicketFilter.java:282)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > doFilter(ServletHandler.java:1653)
> >         at
> > hub.app.servlet.RelativeUrlFilter.doFilter(RelativeUrlFilter.java:54)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > doFilter(ServletHandler.java:1653)
> >         at
> > com.wideplay.warp.persist.PersistenceFilter$3.run(
> > PersistenceFilter.java:141)
> >         at
> > com.wideplay.warp.persist.internal.Lifecycles.
> > failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
> >         at
> > com.wideplay.warp.persist.PersistenceFilter.doFilter(
> > PersistenceFilter.java:155)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> > doFilter(ServletHandler.java:1645)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(
> ServletHandler.java:564)
> >         at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > ScopedHandler.java:143)
> >         at
> > org.eclipse.jetty.security.SecurityHandler.handle(
> > SecurityHandler.java:578)
> >         at
> > org.eclipse.jetty.server.session.SessionHandler.
> > doHandle(SessionHandler.java:221)
> >         at
> > org.eclipse.jetty.server.handler.ContextHandler.
> > doHandle(ContextHandler.java:1111)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(
> ServletHandler.java:498)
> >         at
> > org.eclipse.jetty.server.session.SessionHandler.
> > doScope(SessionHandler.java:183)
> >         at
> > org.eclipse.jetty.server.handler.ContextHandler.
> > doScope(ContextHandler.java:1045)
> >         at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> > ScopedHandler.java:141)
> >         at
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> > ContextHandlerCollection.java:199)
> >         at
> > org.eclipse.jetty.server.handler.HandlerCollection.
> > handle(HandlerCollection.java:109)
> >         at
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> > HandlerWrapper.java:98)
> >         at org.eclipse.jetty.server.Server.handle(Server.java:461)
> >         at org.eclipse.jetty.server.HttpChannel.handle(
> > HttpChannel.java:284)
> >         at
> > org.eclipse.jetty.server.HttpConnection.onFillable(
> > HttpConnection.java:244)
> >         at
> > org.eclipse.jetty.io.AbstractConnection$2.run(
> AbstractConnection.java:534)
> >         at
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> > QueuedThreadPool.java:607)
> >         at
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
> > QueuedThreadPool.java:536)
> >         at java.lang.Thread.run(Thread.java:745)
> > 2017-07-25 14:40:19,076 ERROR -
> > org.apache.wicket.DefaultExceptionMapper.internalMap(
> > DefaultExceptionMapper.java:129)
> > 129 DefaultExceptionMapper     - Unexpected error occurred
> > java.lang.NullPointerException
> >         at
> > org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(
> > RedirectRequestHandler.java:99)
> >         at
> > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
> > RequestCycle.java:862)
> >         at
> > org.apache.wicket.request.RequestHandlerStack.execute(
> > RequestHandlerStack.java:64)
> > etc
> >
> >
> >
> >
> > Does any one have any idea what is causing this? Its fine on my local
> > machine and fine if I used tomcat behind apache.
> >
> >
> > My apache cons looks like this:
> >
> > <VirtualHost x.x.x.x:443>
> >  ServerName XXXXX.com
> >
> >  RequestHeader set X_FORWARDED_PROTO "https"
> >  RequestHeader set X-Forwarded-Proto "https"
> >
> >  ErrorLog /home/wayne/error_log
> >  CustomLog /home/wayne/access_log combined
> >
> >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
> >
> >  SSLEngine On
> >  SSLCertificateFile      /ec/etc/apache/2.4/ssl/XXXX.crt
> >  SSLCertificateKeyfile   /ec/etc/apache/2.4/ssl/XXXX.key
> >  SSLCertificateChainFile /ec/etc/apache/2.4/ssl/XXXX.ca
> >  SSLProtocol all -SSLv2 -SSLv3 -TLSv1
> >  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
> >  SSLHonorCipherOrder on
> >  SSLCompression off
> >  Header always set Strict-Transport-Security "max-age=63072000;
> > includeSubdomains; preload"
> >  Header always set X-Frame-Options DENY
> >  Header always set X-Content-Type-Options nosniff
> >
> >  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
> > application/javascript application/x-javascript
> >
> >
> >  ProxyPreserveHost On
> >
> >
> >  # ProxyPass / http://127.0.0.1:8080/
> >  ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid
> > nofailover=Off
> >  <Proxy balancer://cluster/>
> >       Order allow,deny
> >       Allow from all
> >       BalancerMember http://127.0.0.1:8080 route=jetty1
> >  </Proxy>
> > </VirtualHost>
> >
>

Re: NPE in org.apache.wicket.request.http.handler.RedirectRequestHandler.respond

Posted by Martin Grigorov <mg...@apache.org>.
Which version of Wicket do you use ?

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Jul 25, 2017 at 5:52 PM, Wayne W <wa...@gmail.com>
wrote:

> Hi,
>
> I've got a strange issue I cannot get to the bottom of. Basically we have
> our app deployed on jetty 9.2.1 with apache 2.4 in front. If I make calls
> to stateless pages its all good. However as soon as I try to make a call to
> a stateful page it does a 302 to the login page for our app, but then just
> gets stuck in a 302 loop redirection loop. Looking at the server logs its
> full of this with no other exception - each track trace corresponds to
> another 302 redirect. Each redirect is trying to get to our login page:
>
>
> 2017-07-25 14:40:18,989 ERROR -
> org.apache.wicket.DefaultExceptionMapper.internalMap(
> DefaultExceptionMapper.java:129)
> 129 DefaultExceptionMapper     - Unexpected error occurred
> java.lang.NullPointerException
>         at
> org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(
> RedirectRequestHandler.java:99)
>         at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
> RequestCycle.java:862)
>         at
> org.apache.wicket.request.RequestHandlerStack.execute(
> RequestHandlerStack.java:64)
>         at
> org.apache.wicket.request.RequestHandlerStack.execute(
> RequestHandlerStack.java:93)
>         at
> org.apache.wicket.request.cycle.RequestCycle.execute(
> RequestCycle.java:261)
>         at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.
> java:218)
>         at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(
> RequestCycle.java:289)
>         at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(
> WicketFilter.java:259)
>         at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.
> java:201)
>         at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(
> WicketFilter.java:282)
>         at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1653)
>         at
> hub.app.servlet.RelativeUrlFilter.doFilter(RelativeUrlFilter.java:54)
>         at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1653)
>         at
> com.wideplay.warp.persist.PersistenceFilter$3.run(
> PersistenceFilter.java:141)
>         at
> com.wideplay.warp.persist.internal.Lifecycles.
> failEarlyAndLeaveNoOneBehind(Lifecycles.java:29)
>         at
> com.wideplay.warp.persist.PersistenceFilter.doFilter(
> PersistenceFilter.java:155)
>         at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1645)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:143)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:578)
>         at
> org.eclipse.jetty.server.session.SessionHandler.
> doHandle(SessionHandler.java:221)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.
> doHandle(ContextHandler.java:1111)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498)
>         at
> org.eclipse.jetty.server.session.SessionHandler.
> doScope(SessionHandler.java:183)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.
> doScope(ContextHandler.java:1045)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:141)
>         at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> ContextHandlerCollection.java:199)
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.
> handle(HandlerCollection.java:109)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:98)
>         at org.eclipse.jetty.server.Server.handle(Server.java:461)
>         at org.eclipse.jetty.server.HttpChannel.handle(
> HttpChannel.java:284)
>         at
> org.eclipse.jetty.server.HttpConnection.onFillable(
> HttpConnection.java:244)
>         at
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> QueuedThreadPool.java:607)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
> QueuedThreadPool.java:536)
>         at java.lang.Thread.run(Thread.java:745)
> 2017-07-25 14:40:19,076 ERROR -
> org.apache.wicket.DefaultExceptionMapper.internalMap(
> DefaultExceptionMapper.java:129)
> 129 DefaultExceptionMapper     - Unexpected error occurred
> java.lang.NullPointerException
>         at
> org.apache.wicket.request.http.handler.RedirectRequestHandler.respond(
> RedirectRequestHandler.java:99)
>         at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(
> RequestCycle.java:862)
>         at
> org.apache.wicket.request.RequestHandlerStack.execute(
> RequestHandlerStack.java:64)
> etc
>
>
>
>
> Does any one have any idea what is causing this? Its fine on my local
> machine and fine if I used tomcat behind apache.
>
>
> My apache cons looks like this:
>
> <VirtualHost x.x.x.x:443>
>  ServerName XXXXX.com
>
>  RequestHeader set X_FORWARDED_PROTO "https"
>  RequestHeader set X-Forwarded-Proto "https"
>
>  ErrorLog /home/wayne/error_log
>  CustomLog /home/wayne/access_log combined
>
>  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
>
>  SSLEngine On
>  SSLCertificateFile      /ec/etc/apache/2.4/ssl/XXXX.crt
>  SSLCertificateKeyfile   /ec/etc/apache/2.4/ssl/XXXX.key
>  SSLCertificateChainFile /ec/etc/apache/2.4/ssl/XXXX.ca
>  SSLProtocol all -SSLv2 -SSLv3 -TLSv1
>  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
>  SSLHonorCipherOrder on
>  SSLCompression off
>  Header always set Strict-Transport-Security "max-age=63072000;
> includeSubdomains; preload"
>  Header always set X-Frame-Options DENY
>  Header always set X-Content-Type-Options nosniff
>
>  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
> application/javascript application/x-javascript
>
>
>  ProxyPreserveHost On
>
>
>  # ProxyPass / http://127.0.0.1:8080/
>  ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid
> nofailover=Off
>  <Proxy balancer://cluster/>
>       Order allow,deny
>       Allow from all
>       BalancerMember http://127.0.0.1:8080 route=jetty1
>  </Proxy>
> </VirtualHost>
>