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.

Thx
Dan

On Wed, 30 Nov 2016 at 08:35 Erik de Hair <[email protected]> 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 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
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>
>
>

Reply via email to