Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid character [44] search error in Opengrok #1182

Closed
ranjantomtom opened this issue Sep 13, 2016 · 18 comments
Closed

Invalid character [44] search error in Opengrok #1182

ranjantomtom opened this issue Sep 13, 2016 · 18 comments

Comments

@ranjantomtom
Copy link

We have installed latest version of tomcat (8) and java 8 on that OpenGrok is running but unfortunately getting error while selecting multiple repositories/projects and put some text in full search and click button search.

Below is the error details:

An invalid character [44] was present in the Cookie value

java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateCookieValue(Rfc6265CookieProcessor.java:160)
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:109)
at org.apache.catalina.connector.Response.generateCookieString(Response.java:989)
at org.apache.catalina.connector.Response.addCookie(Response.java:937)
at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:386)
at org.apache.jsp.search_jsp._jspService(search_jsp.java:211)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:632)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

@vladak
Copy link
Member

vladak commented Sep 13, 2016

Please use the most recent version - 0.12.1.6 has a fix for this.

@vladak vladak closed this as completed Sep 13, 2016
@ranjantomtom
Copy link
Author

ranjantomtom commented Sep 13, 2016

We already have opengrok-0.12.1.5.
Further, the same version working smooth on one centos server and failing on another centos server.

@vladak
Copy link
Member

vladak commented Sep 13, 2016

0.12.1.6 was released just yesterday to address this very problem.

@ramgarden
Copy link

We've had this issue ever since we installed it too. I don't know what version we have but it's definitely not the latest. We'll update it now and check.

@ranjantomtom
Copy link
Author

Hi Vladak,

Thank you for information.
Wanted to confirm if we need to replace source war file under tomcat webapps or just opengrok bin containing (Opengrok executable) file should be ok or we need to replace both the directory?

@vladak
Copy link
Member

vladak commented Sep 22, 2016

Replacing the war file should be enough.

@pjpankaj
Copy link

can anyone send the path to download the OpenGrok 0.12.1.6

@ranjantomtom
Copy link
Author

ranjantomtom commented Apr 13, 2017

You can download it from here
https://github.com/OpenGrok/OpenGrok/releases

@pjpankaj
Copy link

thanks Rajiv Ranjan

@aez899
Copy link

aez899 commented Jul 3, 2017

So, there is still problem with newer releases with non-URLEncoded cookies which break recent Tomcat? I used Opengrok 1.0, Tomcat 9 and still this error:

An invalid character [44] was present in the Cookie value

java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value

at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateCookieValue(Rfc6265CookieProcessor.java:182)
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:115)
at org.apache.catalina.connector.Response.generateCookieString(Response.java:1009)
at org.apache.catalina.connector.Response.addCookie(Response.java:961)
at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:383)
at org.apache.jsp.search_jsp._jspService(search_jsp.java:214)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:592)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1366)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

@vladak
Copy link
Member

vladak commented Jul 4, 2017

Did you perhaps upgrade recently from older release and still have original cookies ?

@aez899
Copy link

aez899 commented Jul 4, 2017

No, I installed clean and fresh installation. Should I install 0.12.1.6 and upgrade it to 1.0?

@vladak
Copy link
Member

vladak commented Jul 4, 2017

No, It matters if there were any opengrok cookies left in your browser.

@vladak
Copy link
Member

vladak commented Jul 4, 2017

Most browsers these days have an option to selectively remove cookies for given site. This should be done after the upgrade for all users who accesss your deployment and encountered this problem.

@aez899
Copy link

aez899 commented Jul 4, 2017

Hmm ok, we had opengrok 0.11 some time ago, maybe I have old cookies in browser. I'll check this.

@bobbyhubbard
Copy link

We too are seeing the "An invalid character [44] was present in the Cookie value" with 0.12.1.6. Selecting a single project there is no problem. selecting 2 or more projects (including select all) results in the invalid character error.

It looks like it coming from the response cookie NOT the request cookies which is why clearing cookies has no affect. Maybe the delimiter that is used when multiple projects are selected or something? I haven't actually looked at the code yet.

An invalid character [44] was present in the Cookie value
	at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateCookieValue(Rfc6265CookieProcessor.java:182)
	at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:115)
	at org.apache.catalina.connector.Response.generateCookieString(Response.java:1019)
...

@vladak
Copy link
Member

vladak commented Jul 14, 2017

Time to upgrade to 1.0 or 1.1-rcX I'd say.

@bobbyhubbard
Copy link

SOLVED The search.jsp in the war is not the same as what was in the tar.gz because we were downloading the wrong file. :)

So I checked the package. My script calls this url:
https://github.com/OpenGrok/OpenGrok/files/213268/opengrok-0.12.1.6.tar.gz

Instead of getting the actual path from the release notes, we simply incremented the version to 0.12.1.6 on the path from the 0.12.1.5 release. Since there was no 404, we assumed all was good. However, Github actually responds with:
Content-Disposition →attachment;filename=opengrok-0.12.1.5.tar.gz

If you use the link referenced on the actual release...
https://github.com/OpenGrok/OpenGrok/files/467358/opengrok-0.12.1.6.tar.gz.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants