Yes, do raise a ticket for the double-click issue; I think Martin suggested that it would be fixable. Thx
On Wed, 30 Nov 2016 at 08:07 Erik de Hair <[email protected]> wrote: > > On 11/07/2016 03:06 PM, Dan Haywood wrote: > > Perhaps you could just throw and catch a stacktrace in both cases, > logging > > to stdout; then force the error and see what you get? > I'm sorry. I can't figure this out. May be it's gone with the next > Wicket upgrade. It's not really a problem because the user experience is > not influenced and it has no other impacts. > > The other exception after a double click on an okButton is a problem > though. Should I raise a ticket for that? > > > > On 7 Nov 2016 3:01 p.m., "Erik de Hair" <[email protected]> wrote: > > > >> On 11/07/2016 02:07 PM, Martin Grigorov wrote: > >> > >>> On Mon, Nov 7, 2016 at 12:04 PM, Erik de Hair <[email protected]> > wrote: > >>> > >>> On 11/07/2016 09:57 AM, Martin Grigorov wrote: > >>>> There's another frequently occurring exception in the log that occurs > >>>>> when using the autocomplete field: > >>>>> > >>>>> java.lang.IllegalStateExceptiongetOutputStream() has already been > >>>>> called > >>>>> for this response org.apache.catalina.connector. > >>>>> Response#getWriter(Response.java:678) > >>>>> > >>>>> This is a bug, but I am not sure where exactly. > >>>>> > >>>>>> An application should not try to write both to the Servlet's writer > and > >>>>>> outputStream in the same response. > >>>>>> > >>>>>> The easiest way to debug is to put a breakpoint at > >>>>>> > >>>>> ResponseFacade#getWriter() and ResponseFacade#getOutputStream() and > see > >>>>> what happens. > >>>>> > >>>>> The TextChoiceProvider is writing to the outputstream. Is that what > you > >>>>> > >>>> wanted to know? > >>>> > >>>> I believe this is not the cause. > >>> The previous stacktrace shows that a redirect is attempted. I don't > expect > >>> a redirect after sending the JSON response for the Select2 component. > >>> I guess the http request didn't fail with the previous exception after > you > >>> released the breakpoint ? > >>> > >> You're right. That's not throwing any exception. I don't know how to > debug > >> this. When I put a breakpoint on getWriter() only, it behaves > differently > >> because the ajax request times out (I believe) and I get a different > >> exception. > >> > >>> "http-bio-8080-exec-10@22498" daemon prio=5 tid=0x44 nid=NA runnable > >>>> java.lang.Thread.State: RUNNABLE > >>>> at > org.apache.catalina.connector.ResponseFacade.getOutputStream > >>>> (ResponseFacade.java:196) > >>>> at org.apache.wicket.protocol.http.servlet.ServletWebResponse. > >>>> write(ServletWebResponse.java:135) > >>>> at > org.apache.wicket.protocol.http.HeaderBufferingWebResponse.w > >>>> rite(HeaderBufferingWebResponse.java:196) > >>>> at > org.apache.wicket.request.Response$StreamAdapter.write(Respo > >>>> nse.java:148) > >>>> at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) > >>>> at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282) > >>>> at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125) > >>>> - locked <0x57e8> (a java.io.OutputStreamWriter) > >>>> at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135) > >>>> at > java.io.OutputStreamWriter.write(OutputStreamWriter.java:220) > >>>> at java.io.Writer.write(Writer.java:157) > >>>> at org.apache.wicket.ajax.json.JSONWriter.key(JSONWriter.java: > >>>> 212) > >>>> at > org.wicketstuff.select2.TextChoiceProvider.toJson(TextChoice > >>>> Provider.java:38) > >>>> at > org.wicketstuff.select2.AbstractSelect2Choice.onResourceRequ > >>>> ested(AbstractSelect2Choice.java:473) > >>>> at > org.wicketstuff.select2.Select2Choice.onResourceRequested(Se > >>>> lect2Choice.java:36) > >>>> at > sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAcc > >>>> essorImpl.java:-1) > >>>> at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce > >>>> ssorImpl.java:62) > >>>> at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe > >>>> thodAccessorImpl.java:43) > >>>> at java.lang.reflect.Method.invoke(Method.java:498) > >>>> at > org.apache.wicket.RequestListenerInterface.internalInvoke(Re > >>>> questListenerInterface.java:258) > >>>> at > org.apache.wicket.RequestListenerInterface.invoke(RequestLis > >>>> tenerInterface.java:216) > >>>> at > org.apache.wicket.core.request.handler.ListenerInterfaceRequ > >>>> estHandler.invokeListener(ListenerInterfaceRequestHandler.java:243) > >>>> at > org.apache.wicket.core.request.handler.ListenerInterfaceRequ > >>>> estHandler.respond(ListenerInterfaceRequestHandler.java:236) > >>>> at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor > >>>> .respond(RequestCycle.java:890) > >>>> at > org.apache.wicket.request.RequestHandlerStack.execute(Reques > >>>> tHandlerStack.java:64) > >>>> at > org.apache.wicket.request.cycle.RequestCycle.execute(Request > >>>> Cycle.java:261) > >>>> at > org.apache.wicket.request.cycle.RequestCycle.processRequest( > >>>> RequestCycle.java:218) > >>>> at > org.apache.wicket.request.cycle.RequestCycle.processRequestA > >>>> ndDetach(RequestCycle.java:289) > >>>> at > org.apache.wicket.protocol.http.WicketFilter.processRequestC > >>>> ycle(WicketFilter.java:259) > >>>> at > org.apache.wicket.protocol.http.WicketFilter.processRequest( > >>>> WicketFilter.java:201) > >>>> at > org.apache.wicket.protocol.http.WicketFilter.doFilter(Wicket > >>>> Filter.java:282) > >>>> at > org.apache.catalina.core.ApplicationFilterChain.internalDoFi > >>>> lter(ApplicationFilterChain.java:241) > >>>> at > org.apache.catalina.core.ApplicationFilterChain.doFilter(App > >>>> licationFilterChain.java:208) > >>>> at > org.apache.shiro.web.servlet.AbstractShiroFilter.executeChai > >>>> n(AbstractShiroFilter.java:449) > >>>> at > org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(Abst > >>>> ractShiroFilter.java:365) > >>>> at org.apache.shiro.subject.support.SubjectCallable.doCall( > >>>> SubjectCallable.java:90) > >>>> at > org.apache.shiro.subject.support.SubjectCallable.call(Subjec > >>>> tCallable.java:83) > >>>> at org.apache.shiro.subject.support.DelegatingSubject.execute( > >>>> DelegatingSubject.java:383) > >>>> at > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInt > >>>> ernal(AbstractShiroFilter.java:362) > >>>> at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(O > >>>> ncePerRequestFilter.java:125) > >>>> at > org.apache.catalina.core.ApplicationFilterChain.internalDoFi > >>>> lter(ApplicationFilterChain.java:241) > >>>> at > org.apache.catalina.core.ApplicationFilterChain.doFilter(App > >>>> licationFilterChain.java:208) > >>>> at > org.apache.catalina.core.StandardWrapperValve.invoke(Standar > >>>> dWrapperValve.java:220) > >>>> at > org.apache.catalina.core.StandardContextValve.invoke(Standar > >>>> dContextValve.java:122) > >>>> at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(A > >>>> uthenticatorBase.java:503) > >>>> at > org.apache.catalina.core.StandardHostValve.invoke(StandardHo > >>>> stValve.java:170) > >>>> at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo > >>>> rtValve.java:103) > >>>> at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogVa > >>>> lve.java:950) > >>>> at > org.apache.catalina.core.StandardEngineValve.invoke(Standard > >>>> EngineValve.java:116) > >>>> at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd > >>>> apter.java:421) > >>>> at > org.apache.coyote.http11.AbstractHttp11Processor.process(Abs > >>>> tractHttp11Processor.java:1070) > >>>> at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler > >>>> .process(AbstractProtocol.java:611) > >>>> at org.apache.tomcat.util.net > .JIoEndpoint$SocketProcessor.run( > >>>> JIoEndpoint.java:314) > >>>> - locked <0x5836> (a org.apache.tomcat.util.net > .SocketWrapper) > >>>> at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool > >>>> Executor.java:1142) > >>>> at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo > >>>> lExecutor.java:617) > >>>> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable. > >>>> run(TaskThread.java:61) > >>>> at java.lang.Thread.run(Thread.java:745) > >>>> > >>>> org.apache.catalina.connector.ResponseFacade#getWriter(Respo > >>>>>>> nseFacade.java:213) > >>>>>>> org.apache.wicket.protocol.http.servlet.ServletWebResponse#s > >>>>>>> endRedirect(ServletWebResponse.java:280) > >>>>>>> org.apache.wicket.protocol.http.HeaderBufferingWebResponse#s > >>>>>>> endRedirect(HeaderBufferingWebResponse.java:117) > >>>>>>> org.apache.wicket.request.handler.render.WebPageRenderer#red > >>>>>>> irectTo(WebPageRenderer.java:176) > >>>>>>> org.apache.wicket.request.handler.render.WebPageRenderer#res > >>>>>>> pond(WebPageRenderer.java:242) > >>>>>>> org.apache.wicket.core.request.handler.RenderPageRequestHand > >>>>>>> ler#respond(RenderPageRequestHandler.java:175) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor > >>>>>>> #respond(RequestCycle.java:890) > >>>>>>> org.apache.wicket.request.RequestHandlerStack#execute(Reques > >>>>>>> tHandlerStack.java:64) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:310) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:319) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:319) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:319) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:319) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:319) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:319) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#executeExceptio > >>>>>>> nRequestHandler(RequestCycle.java:319) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#processRequest( > >>>>>>> RequestCycle.java:233) > >>>>>>> org.apache.wicket.request.cycle.RequestCycle#processRequestA > >>>>>>> ndDetach(RequestCycle.java:289) > >>>>>>> org.apache.wicket.protocol.http.WicketFilter#processRequestC > >>>>>>> ycle(WicketFilter.java:259) > >>>>>>> org.apache.wicket.protocol.http.WicketFilter#processRequest( > >>>>>>> WicketFilter.java:201) > >>>>>>> org.apache.wicket.protocol.http.WicketFilter#doFilter(Wicket > >>>>>>> Filter.java:282) > >>>>>>> org.apache.catalina.core.ApplicationFilterChain#internalDoFi > >>>>>>> lter(ApplicationFilterChain.java:241) > >>>>>>> org.apache.catalina.core.ApplicationFilterChain#doFilter(App > >>>>>>> licationFilterChain.java:208) > >>>>>>> org.apache.shiro.web.servlet.AbstractShiroFilter#executeChai > >>>>>>> n(AbstractShiroFilter.java:449) > >>>>>>> org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(Abst > >>>>>>> ractShiroFilter.java:365) > >>>>>>> org.apache.shiro.subject.support.SubjectCallable#doCall(Subj > >>>>>>> ectCallable.java:90) > >>>>>>> org.apache.shiro.subject.support.SubjectCallable#call(Subjec > >>>>>>> tCallable.java:83) > >>>>>>> org.apache.shiro.subject.support.DelegatingSubject#execute(D > >>>>>>> elegatingSubject.java:383) > >>>>>>> org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInt > >>>>>>> ernal(AbstractShiroFilter.java:362) > >>>>>>> org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(O > >>>>>>> ncePerRequestFilter.java:125) > >>>>>>> org.apache.catalina.core.ApplicationFilterChain#internalDoFi > >>>>>>> lter(ApplicationFilterChain.java:241) > >>>>>>> org.apache.catalina.core.ApplicationFilterChain#doFilter(App > >>>>>>> licationFilterChain.java:208) > >>>>>>> org.apache.catalina.core.StandardWrapperValve#invoke(Standar > >>>>>>> dWrapperValve.java:220) > >>>>>>> org.apache.catalina.core.StandardContextValve#invoke(Standar > >>>>>>> dContextValve.java:122) > >>>>>>> org.apache.catalina.authenticator.AuthenticatorBase#invoke(A > >>>>>>> uthenticatorBase.java:503) > >>>>>>> org.apache.catalina.core.StandardHostValve#invoke(StandardHo > >>>>>>> stValve.java:170) > >>>>>>> org.apache.catalina.valves.ErrorReportValve#invoke(ErrorRepo > >>>>>>> rtValve.java:103) > >>>>>>> org.apache.catalina.valves.AccessLogValve#invoke(AccessLogVa > >>>>>>> lve.java:950) > >>>>>>> org.apache.catalina.core.StandardEngineValve#invoke(Standard > >>>>>>> EngineValve.java:116) > >>>>>>> org.apache.catalina.connector.CoyoteAdapter#service(CoyoteAd > >>>>>>> apter.java:421) > >>>>>>> org.apache.coyote.ajp.AjpProcessor#process(AjpProcessor.java:190) > >>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler > >>>>>>> #process(AbstractProtocol.java:611) > >>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor#run(J > >>>>>>> IoEndpoint.java:314) > >>>>>>> java.util.concurrent.ThreadPoolExecutor#runWorker(ThreadPool > >>>>>>> Executor.java:1142) > >>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker#run(ThreadPoo > >>>>>>> lExecutor.java:617) > >>>>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable#r > >>>>>>> un(TaskThread.java:61) > >>>>>>> java.lang.Thread#run(Thread.java:745) > >>>>>>> > >>>>>>> The autocomplete works as expected so it doesn't trouble the user. > >>>>>>> Anybody else getting this exception or does it depend on our > >>>>>>> configuration? > >>>>>>> > >>>>>>> Erik > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >
