On 12/10/2016 04:10 PM, Dan Haywood wrote:
quick update, ISIS-1544 is now fixed and will be in 1.13.2. I've made the double-click prevention the default, but added a viewer setting to disable it in case it causes issues.
Thanks, Dan!
Thx Dan On Wed, 30 Nov 2016 at 08:35 Erik de Hair <e.deh...@pocos.nl> wrote:Created ticket https://issues.apache.org/jira/browse/ISIS-1544 On 11/30/2016 09:09 AM, Dan Haywood wrote:Yes, do raise a ticket for the double-click issue; I think Martinsuggestedthat it would be fixable. Thx On Wed, 30 Nov 2016 at 08:07 Erik de Hair <e.deh...@pocos.nl> wrote:On 11/07/2016 03:06 PM, Dan Haywood wrote:Perhaps you could just throw and catch a stacktrace in both cases,loggingto 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" <e.deh...@pocos.nl> wrote:On 11/07/2016 02:07 PM, Martin Grigorov wrote:On Mon, Nov 7, 2016 at 12:04 PM, Erik de Hair <e.deh...@pocos.nl>wrote:On 11/07/2016 09:57 AM, Martin Grigorov wrote:There's another frequently occurring exception in the log thatoccurswhen 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'swriterandoutputStream in the same response. The easiest way to debug is to put a breakpoint atResponseFacade#getWriter() and ResponseFacade#getOutputStream() andseewhat happens. The TextChoiceProvider is writing to the outputstream. Is that whatyouwanted to know? I believe this is not the cause.The previous stacktrace shows that a redirect is attempted. I don'texpecta redirect after sending the JSON response for the Select2 component. I guess the http request didn't fail with the previous exceptionafteryoureleased the breakpoint ?You're right. That's not throwing any exception. I don't know how todebugthis. When I put a breakpoint on getWriter() only, it behavesdifferentlybecause 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 runnablejava.lang.Thread.State: RUNNABLE atorg.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:196) atorg.apache.wicket.protocol.http.servlet.ServletWebResponse.write(ServletWebResponse.java:135) atorg.apache.wicket.protocol.http.HeaderBufferingWebResponse.write(HeaderBufferingWebResponse.java:196) atorg.apache.wicket.request.Response$StreamAdapter.write(Response.java:148) atsun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)atsun.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) atjava.io.OutputStreamWriter.write(OutputStreamWriter.java:220)at java.io.Writer.write(Writer.java:157) atorg.apache.wicket.ajax.json.JSONWriter.key(JSONWriter.java:212) atorg.wicketstuff.select2.TextChoiceProvider.toJson(TextChoiceProvider.java:38) atorg.wicketstuff.select2.AbstractSelect2Choice.onResourceRequested(AbstractSelect2Choice.java:473) atorg.wicketstuff.select2.Select2Choice.onResourceRequested(Select2Choice.java:36) atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1) atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) atorg.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258) atorg.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:216) atorg.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:243) atorg.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236) atorg.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890) atorg.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) atorg.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) atorg.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) atorg.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) atorg.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) atorg.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) atorg.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) atorg.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) atorg.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall( SubjectCallable.java:90) atorg.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) atorg.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) atorg.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) atorg.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) atorg.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)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) org.apache.catalina.connector.ResponseFacade#getWriter(ResponseFacade.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 theuser.Anybody else getting this exception or does it depend on our configuration? Erik