gitblit icon indicating copy to clipboard operation
gitblit copied to clipboard

IllegalArgumentException when creating ticket (running Tomcat)

Open gitblit opened this issue 9 years ago • 5 comments

Originally reported on Google Code with ID 534

What steps will reproduce the problem?
1. Setup gitblit with Tomcat
2. Create a new ticket
3.

What is the expected output? What do you see instead?
- After ticket creation, the ticket (or the list of tickets) should be shown. Instead,
the form stays as it is.
- The request to /?wicket:interface=:1:editForm:create::IActivePageBehaviorListener:0:2&wicket:ignoreIfNotActive=true
fails with Status 500
- The ticket is successfully created
- The error log contains the as stack trace shown below.



What version of the product are you using? On what operating system?
Gitblit 1.6.2 running Tomcat7

Error log:

2014-11-19 09:22:44 [ERROR]
java.lang.IllegalArgumentException
    at org.apache.catalina.connector.Response.normalize(Response.java:1799)
    at org.apache.catalina.connector.Response.toAbsolute(Response.java:1732)
    at org.apache.catalina.connector.Response.encodeURL(Response.java:1242)
    at org.apache.catalina.connector.ResponseFacade.encodeURL(ResponseFacade.java:406)
    at org.apache.wicket.protocol.http.WebResponse.encodeURL(WebResponse.java:149)
    at org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.encode(WebRequestCodingStrategy.java:387)
    at org.apache.wicket.RequestCycle.encodeUrlFor(RequestCycle.java:811)
    at org.apache.wicket.RequestCycle.urlFor(RequestCycle.java:1028)
    at org.apache.wicket.Component.urlFor(Component.java:3411)
    at com.gitblit.wicket.pages.BasePage.getCanonicalUrl(BasePage.java:111)
    at com.gitblit.wicket.pages.BasePage.redirectTo(BasePage.java:121)
    at com.gitblit.wicket.pages.NewTicketPage$1.onSubmit(NewTicketPage.java:226)
    at org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:101)
    at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:156)
    at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
    at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:312)
    at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:157)
    at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
    at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1279)
    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1358)
    at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1465)
    at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
    at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.gitblit.servlet.EnforceAuthenticationFilter.doFilter(EnforceAuthenticationFilter.java:87)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.gitblit.servlet.ProxyFilter$1.doFilter(ProxyFilter.java:74)
    at com.gitblit.servlet.ProxyFilter.doFilter(ProxyFilter.java:77)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
2014-11-19 09:22:44 [ERROR] unexpected exception when handling another exception: null
java.lang.IllegalArgumentException
    at org.apache.catalina.connector.Response.normalize(Response.java:1799)
    at org.apache.catalina.connector.Response.toAbsolute(Response.java:1732)
    at org.apache.catalina.connector.Response.encodeURL(Response.java:1242)
    at org.apache.catalina.connector.ResponseFacade.encodeURL(ResponseFacade.java:406)
    at org.apache.wicket.protocol.http.WebResponse.encodeURL(WebResponse.java:149)
    at org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.encode(WebRequestCodingStrategy.java:387)
    at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:248)
    at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
    at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1296)
    at org.apache.wicket.RequestCycle.step(RequestCycle.java:1363)
    at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1465)
    at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
    at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.gitblit.servlet.EnforceAuthenticationFilter.doFilter(EnforceAuthenticationFilter.java:87)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at com.gitblit.servlet.ProxyFilter$1.doFilter(ProxyFilter.java:74)
    at com.gitblit.servlet.ProxyFilter.doFilter(ProxyFilter.java:77)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

Reported by [email protected] on 2014-11-19 14:34:52

gitblit avatar Aug 12 '15 12:08 gitblit

I face this problem as well. It seems to be triggered every time a UI element on the
ticket pages is used (like reviewing, adding a comment). 
The action is done, but does not get reflected on the UI (iE the comment gets created,
the review is logged, the merge is done, etc). Maybe a StreamWriter is closed before
the response was completely sent??

Reported by garthako on 2014-12-26 18:50:12

gitblit avatar Aug 12 '15 12:08 gitblit

There has been some fixes for Tomcat & Tickets today.  I don't know if they will fix
this issue or not.  I suspect this is a character encoding failure since it is failing
in generating a redirect url in the bowels of Tomcat.  Do your repository names have
accented characters or non-latin-1 characters?

Reported by James.Moger on 2015-02-26 15:25:48

gitblit avatar Aug 12 '15 12:08 gitblit

Hi James,

I've now tried that build. Nothing changed, unfortunately. No special chars in the
repo path..

Steffen

Reported by [email protected] on 2015-02-26 21:39:22

gitblit avatar Aug 12 '15 12:08 gitblit

Hi

i'm facing to this bug in 1.6.2 and after migration to 1.8.0. Any hints to debug this issue ?

Regards,

kryskool avatar Nov 17 '16 13:11 kryskool

Is using Gitblit GO an option for you?

gitblit avatar Nov 18 '16 13:11 gitblit