Unable to decode the url: 'servoy-webclient'

Questions and answers for all installation-related topics for Servoy products

Unable to decode the url: 'servoy-webclient'

Postby antonio » Wed May 09, 2012 3:49 am

Since moving to a linux server I've been getting a flood of warnings in the Servoy log similar to this.
The host is using nginx in addition to the Servoy/Tomcat installation, but apart from that it's a standard 5.2.12 installation.
Any clues on what would be causing the warning?
Code: Select all
2012-05-09 11\:45   http-8080-12   WARN   com.servoy.j2db.util.Debug   Unable to decode the url: 'servoy-webclient/?x=kUGqlsVLIg*ZhGec3RXNhSXnCt04mz*nQ42nfYJ-OUvTzhtLjfA3dDDYSDZTwbcA92EKAMHQ-xj5gISOuYtQl7npfdyYsIWUPzv8JagrVLqfitvNHqjAFdcPad0f6YGf&ignoremp=true&random=0.33094433319186395' most likely because the session expired
org.apache.wicket.protocol.http.PageExpiredException: Invalid URL
       at org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.onError(CryptedUrlWebRequestCodingStrategy.java:308)
       at org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.onError(CryptedUrlWebRequestCodingStrategy.java:321)
       at org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.decodeURL(CryptedUrlWebRequestCodingStrategy.java:293)
       at com.servoy.j2db.server.headlessclient.WebClientsApplication$ServoyCryptedUrlWebRequestCodingStrategy.decodeURL(WebClientsApplication.java:117)
       at org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.decode(CryptedUrlWebRequestCodingStrategy.java:118)
       at org.apache.wicket.Request.getRequestParameters(Request.java:183)
       at org.apache.wicket.RequestCycle.step(RequestCycle.java:1313)
       at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1438)
       at org.apache.wicket.RequestCycle.request(RequestCycle.java:546)
       at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
       at com.servoy.j2db.server.servlets.Zl.doGet(Zl.java:9)
       at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
       at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
       at java.lang.Thread.run(Thread.java:662)
    Caused by: org.apache.wicket.WicketRuntimeException: Unable to decrypt the text '?A???K"??g???%? ?8???C??}?9K??K??7t0?H6S???a ?????P???}?????;?%?+T????????i??'
       at org.apache.wicket.util.crypt.AbstractCrypt.decryptByteArray(AbstractCrypt.java:145)
       at org.apache.wicket.util.crypt.AbstractCrypt.decryptUrlSafe(AbstractCrypt.java:67)
       at org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.decodeURL(CryptedUrlWebRequestCodingStrategy.java:284)
       ... 24 more
    Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
       at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
       at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
       at com.sun.crypto.provider.SunJCE_ab.b(DashoA13*..)
       at com.sun.crypto.provider.PBEWithMD5AndDESCipher.engineDoFinal(DashoA13*..)
       at javax.crypto.Cipher.doFinal(DashoA13*..)
       at org.apache.wicket.util.crypt.SunJceCrypt.crypt(SunJceCrypt.java:101)
       at org.apache.wicket.util.crypt.AbstractCrypt.decryptByteArray(AbstractCrypt.java:141)
       ... 26 more
Tony
Servoy 8 - 2022.03 LTS
antonio
 
Posts: 638
Joined: Sun Apr 02, 2006 2:14 am
Location: Australia

Re: Unable to decode the url: 'servoy-webclient'

Postby jcompagner » Fri May 18, 2012 4:39 pm

that mostly means that the session expired, and that the client did try an url that was encrypted by a previous session.
All urls are encrypted and session based, so after that session is gone, the urls can't be used anymore
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8833
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Unable to decode the url: 'servoy-webclient'

Postby antonio » Sun May 20, 2012 10:50 am

Thanks for the explanation, Johan. Should I be concerned that this is happening frequently? (several times a minute). Can you think of anything that would cause the session to expire inadvertently? We are getting reports of the solution freezing, fixed with a Reload/Refresh.
Tony
Servoy 8 - 2022.03 LTS
antonio
 
Posts: 638
Joined: Sun Apr 02, 2006 2:14 am
Location: Australia

Re: Unable to decode the url: 'servoy-webclient'

Postby jcompagner » Mon May 21, 2012 10:44 am

if the above happens, then a refresh/reload (of the current url in the browser) also shouldn't work (because the url in the browser is just random data from that time on)

If you have a case with a sample where you often see that only a refresh helps, do open a case with a sample to see if we can see what happens.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8833
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Unable to decode the url: 'servoy-webclient'

Postby antonio » Sun May 27, 2012 5:11 am

Thanks again Johan, I think it may be something specific to the server configuration. The hosting company has installed nginx in front of our Servoy/Tomcat installation. Do you think that could be a factor?
Tony
Servoy 8 - 2022.03 LTS
antonio
 
Posts: 638
Joined: Sun Apr 02, 2006 2:14 am
Location: Australia

Re: Unable to decode the url: 'servoy-webclient'

Postby antonio » Sun May 27, 2012 6:57 am

I've also noticed several of these errors, perhaps since moving to 5.2.13 (not 100% sure they weren't there before)

Code: Select all
2012-05-27 10\:09   ContainerBackgroundProcessor[StandardEngine[Catalina]]   ERROR   com.servoy.j2db.util.Debug   Throwable
java.lang.NullPointerException
       at com.servoy.j2db.ClientState.shutDown(ClientState.java:1002)
       at com.servoy.j2db.server.headlessclient.SessionClient.shutDown(SessionClient.java:318)
       at com.servoy.j2db.server.headlessclient.SessionClient.valueUnbound(SessionClient.java:425)
       at org.apache.catalina.session.StandardSession.removeAttributeInternal(StandardSession.java:1654)
       at org.apache.catalina.session.StandardSession.expire(StandardSession.java:756)
       at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592)
       at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:680)
       at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:665)
       at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1316)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
       at java.lang.Thread.run(Thread.java:662)
Tony
Servoy 8 - 2022.03 LTS
antonio
 
Posts: 638
Joined: Sun Apr 02, 2006 2:14 am
Location: Australia

Re: Unable to decode the url: 'servoy-webclient'

Postby jcompagner » Tue May 29, 2012 10:30 am

i really can't explain that null pointer, that really shouldn't happen. I checked the line of code where that is reported on and no null pointer exception should ever happen on that line

But it is just in a session validation that happens automatically on the tomcat server when session are not touched for X time. So this error doesn't affect any existing live client.

Maybe nginx does proxy/cache specific stuff, i don't know, hard to say. Thats only a matter of really testing with it and see what happens if you use or don't use it.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8833
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Unable to decode the url: 'servoy-webclient'

Postby antonio » Fri Jul 06, 2012 11:40 pm

Hi Johan,

I continue to get pages of this error in the servoy log. I also get regular reports of clients freezing, fixed by a refresh, though I'm not sure if the two are related.
Grateful for any pointers on where to look for errors.

Code: Select all
2012-07-07 07\:30   ContainerBackgroundProcessor[StandardEngine[Catalina]]   ERROR   com.servoy.j2db.util.Debug   Throwable
java.lang.NullPointerException
       at com.servoy.j2db.ClientState.shutDown(ClientState.java:1002)
       at com.servoy.j2db.server.headlessclient.SessionClient.shutDown(SessionClient.java:318)
       at com.servoy.j2db.server.headlessclient.SessionClient.valueUnbound(SessionClient.java:425)
       at org.apache.catalina.session.StandardSession.removeAttributeInternal(StandardSession.java:1654)
       at org.apache.catalina.session.StandardSession.expire(StandardSession.java:756)
       at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592)
       at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:680)
       at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:665)
       at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1316)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
       at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
       at java.lang.Thread.run(Thread.java:662)
Tony
Servoy 8 - 2022.03 LTS
antonio
 
Posts: 638
Joined: Sun Apr 02, 2006 2:14 am
Location: Australia

Re: Unable to decode the url: 'servoy-webclient'

Postby jcompagner » Mon Jul 09, 2012 9:56 am

Those errors don't affect existing clients, that are just clients that timeout on the server and tomcat will expire the session.
Which version is this exactly?
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8833
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Unable to decode the url: 'servoy-webclient'

Postby antonio » Mon Jul 09, 2012 3:41 pm

Version 5.2.13
Tony
Servoy 8 - 2022.03 LTS
antonio
 
Posts: 638
Joined: Sun Apr 02, 2006 2:14 am
Location: Australia


Return to Installation

Who is online

Users browsing this forum: No registered users and 3 guests

cron