You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Erik de Hair <e....@pocos.nl> on 2016/11/07 08:44:06 UTC

Exceptions

Hi,

Some of our users keep complaining about unexpected exceptions so I was 
investigating what kind of exceptions occur. Now it seems it's quite 
easy to get an exception if you double click on an 'OK' button. (Some 
people still don't know where to single click or double click :-S)

org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedExceptionBehavior 
rejected interface invocation. Component: [AjaxButton [Component id = 
okButton]] Behavior: 
org.apache.wicket.ajax.markup.html.form.AjaxButton$1@2070e2d3 Listener: 
[RequestListenerInterface name=IBehaviorListener, method=public abstract 
void org.apache.wicket.behavior.IBehaviorListener.onRequest()] 
org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler#invokeListener(ListenerInterfaceRequestHandler.java:250)
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler#respond(ListenerInterfaceRequestHandler.java:236)
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:890)
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64)
org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:261)
org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:218)
org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:289)
org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259)
org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201)
org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282)
org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:208)
org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449)
org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365)
org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90)
org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83)
org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383)
org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362)
org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125)
org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.StandardWrapperValve#invoke(StandardWrapperValve.java:220)
org.apache.catalina.core.StandardContextValve#invoke(StandardContextValve.java:122)
org.apache.catalina.authenticator.AuthenticatorBase#invoke(AuthenticatorBase.java:503)
org.apache.catalina.core.StandardHostValve#invoke(StandardHostValve.java:170)
org.apache.catalina.valves.ErrorReportValve#invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve#invoke(AccessLogValve.java:950)
org.apache.catalina.core.StandardEngineValve#invoke(StandardEngineValve.java:116)
org.apache.catalina.connector.CoyoteAdapter#service(CoyoteAdapter.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(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor#runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker#run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable#run(TaskThread.java:61)
     java.lang.Thread#run(Thread.java:745)

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)
org.apache.catalina.connector.ResponseFacade#getWriter(ResponseFacade.java:213)
org.apache.wicket.protocol.http.servlet.ServletWebResponse#sendRedirect(ServletWebResponse.java:280)
org.apache.wicket.protocol.http.HeaderBufferingWebResponse#sendRedirect(HeaderBufferingWebResponse.java:117)
org.apache.wicket.request.handler.render.WebPageRenderer#redirectTo(WebPageRenderer.java:176)
org.apache.wicket.request.handler.render.WebPageRenderer#respond(WebPageRenderer.java:242)
org.apache.wicket.core.request.handler.RenderPageRequestHandler#respond(RenderPageRequestHandler.java:175)
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:890)
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:310)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:319)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:319)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:319)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:319)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:319)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:319)
org.apache.wicket.request.cycle.RequestCycle#executeExceptionRequestHandler(RequestCycle.java:319)
org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:233)
org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:289)
org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259)
org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201)
org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282)
org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:208)
org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449)
org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365)
org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90)
org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83)
org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383)
org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362)
org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125)
org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.StandardWrapperValve#invoke(StandardWrapperValve.java:220)
org.apache.catalina.core.StandardContextValve#invoke(StandardContextValve.java:122)
org.apache.catalina.authenticator.AuthenticatorBase#invoke(AuthenticatorBase.java:503)
org.apache.catalina.core.StandardHostValve#invoke(StandardHostValve.java:170)
org.apache.catalina.valves.ErrorReportValve#invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve#invoke(AccessLogValve.java:950)
org.apache.catalina.core.StandardEngineValve#invoke(StandardEngineValve.java:116)
org.apache.catalina.connector.CoyoteAdapter#service(CoyoteAdapter.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(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor#runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker#run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable#run(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


Re: Exceptions

Posted by Erik de Hair <e....@pocos.nl>.
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....@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 Martin
>> suggested
>>> that it would be fixable.
>>> Thx
>>>
>>>
>>> On Wed, 30 Nov 2016 at 08:07 Erik de Hair <e....@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,
>>>> 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" <e....@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....@pocos.nl>
>>>> 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
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>


Re: Exceptions

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
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 <e....@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 Martin
> suggested
> > that it would be fixable.
> > Thx
> >
> >
> > On Wed, 30 Nov 2016 at 08:07 Erik de Hair <e....@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,
> >> 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" <e....@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....@pocos.nl>
> >> 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
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>
>
>

Re: Exceptions

Posted by Erik de Hair <e....@pocos.nl>.
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 <e....@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,
>> 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" <e....@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....@pocos.nl>
>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>


Re: Exceptions

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
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 <e....@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,
> 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" <e....@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....@pocos.nl>
> 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
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
>
>

Re: Exceptions

Posted by Erik de Hair <e....@pocos.nl>.
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" <e....@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....@pocos.nl> 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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>


Re: Exceptions

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Perhaps you could just throw and catch a stacktrace in both cases, logging
to stdout; then force the error and see what you get?

On 7 Nov 2016 3:01 p.m., "Erik de Hair" <e....@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....@pocos.nl> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>

Re: Exceptions

Posted by Erik de Hair <e....@pocos.nl>.
On 11/07/2016 02:07 PM, Martin Grigorov wrote:
> On Mon, Nov 7, 2016 at 12:04 PM, Erik de Hair <e....@pocos.nl> 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
>>>>>
>>>>>
>>>>>


Re: Exceptions

Posted by Martin Grigorov <mg...@apache.org>.
On Mon, Nov 7, 2016 at 12:04 PM, Erik de Hair <e....@pocos.nl> 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 ?


>
> "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
>>>>
>>>>
>>>>
>

Re: Exceptions

Posted by Erik de Hair <e....@pocos.nl>.
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?

"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.write(HeaderBufferingWebResponse.java:196)
       at 
org.apache.wicket.request.Response$StreamAdapter.write(Response.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(TextChoiceProvider.java:38)
       at 
org.wicketstuff.select2.AbstractSelect2Choice.onResourceRequested(AbstractSelect2Choice.java:473)
       at 
org.wicketstuff.select2.Select2Choice.onResourceRequested(Select2Choice.java:36)
       at 
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
       at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
       at 
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:216)
       at 
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:243)
       at 
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236)
       at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890)
       at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
       at 
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
       at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
       at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
       at 
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
       at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
       at 
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
       at 
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
       at 
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
       at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
       at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
       at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
       at 
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
       at 
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
       at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
       at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
       at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
       at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
       at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
       at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
       at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
       at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
       at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.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(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)
>>
>>> 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(AccessLogValve.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
>>>
>>>


Re: Exceptions

Posted by Martin Grigorov <mg...@apache.org>.
On Mon, Nov 7, 2016 at 9:55 AM, Martin Grigorov <mg...@apache.org>
wrote:

> Hi,
>
> On Mon, Nov 7, 2016 at 9:44 AM, Erik de Hair <e....@pocos.nl> wrote:
>
>> Hi,
>>
>> Some of our users keep complaining about unexpected exceptions so I was
>> investigating what kind of exceptions occur. Now it seems it's quite easy
>> to get an exception if you double click on an 'OK' button. (Some people
>> still don't know where to single click or double click :-S)
>>
>
> It is up to the application to decide how to prevent double form
> submittions.
> An easy way is to disable the button during Ajax call, e.g.
> Wicket-Bootstrap provides integration with Ladda
> <http://msurguy.github.io/ladda-bootstrap/>: http://wb-mgrigorov.
> rhcloud.com/extensions#ladda
>
> @Dan: is it easy to decide which buttons in Isis shoud have this behavior
> ?
>
>
>> org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedExceptionBehavior
>> rejected interface invocation. Component: [AjaxButton [Component id =
>> okButton]] Behavior: org.apache.wicket.ajax.markup.
>> html.form.AjaxButton$1@2070e2d3 Listener: [RequestListenerInterface
>> name=IBehaviorListener, method=public abstract void
>> org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>> org.apache.wicket.RequestListenerInterface#invoke(RequestLis
>> tenerInterface.java:237)
>> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
>> estHandler#invokeListener(ListenerInterfaceRequestHandler.java:250)
>> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
>> estHandler#respond(ListenerInterfaceRequestHandler.java:236)
>> 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#execute(Request
>> Cycle.java:261)
>> org.apache.wicket.request.cycle.RequestCycle#processRequest(
>> RequestCycle.java:218)
>> 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(AccessLogValve.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)
>>
>> 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.


>
>
>> 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(AccessLogValve.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
>>
>>
>

Re: Exceptions

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

On Mon, Nov 7, 2016 at 9:44 AM, Erik de Hair <e....@pocos.nl> wrote:

> Hi,
>
> Some of our users keep complaining about unexpected exceptions so I was
> investigating what kind of exceptions occur. Now it seems it's quite easy
> to get an exception if you double click on an 'OK' button. (Some people
> still don't know where to single click or double click :-S)
>

It is up to the application to decide how to prevent double form
submittions.
An easy way is to disable the button during Ajax call, e.g.
Wicket-Bootstrap provides integration with Ladda
<http://msurguy.github.io/ladda-bootstrap/>:
http://wb-mgrigorov.rhcloud.com/extensions#ladda

@Dan: is it easy to decide which buttons in Isis shoud have this behavior ?


> org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedExceptionBehavior
> rejected interface invocation. Component: [AjaxButton [Component id =
> okButton]] Behavior: org.apache.wicket.ajax.markup.
> html.form.AjaxButton$1@2070e2d3 Listener: [RequestListenerInterface
> name=IBehaviorListener, method=public abstract void
> org.apache.wicket.behavior.IBehaviorListener.onRequest()]
> org.apache.wicket.RequestListenerInterface#invoke(RequestLis
> tenerInterface.java:237)
> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
> estHandler#invokeListener(ListenerInterfaceRequestHandler.java:250)
> org.apache.wicket.core.request.handler.ListenerInterfaceRequ
> estHandler#respond(ListenerInterfaceRequestHandler.java:236)
> 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#execute(Request
> Cycle.java:261)
> org.apache.wicket.request.cycle.RequestCycle#processRequest(
> RequestCycle.java:218)
> 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(
> SubjectCallable.java:90)
> org.apache.shiro.subject.support.SubjectCallable#call(Subjec
> tCallable.java:83)
> org.apache.shiro.subject.support.DelegatingSubject#execute(
> DelegatingSubject.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(AccessLogValve.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(
> JIoEndpoint.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#
> run(TaskThread.java:61)
>     java.lang.Thread#run(Thread.java:745)
>
> 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.


> 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#
> redirectTo(WebPageRenderer.java:176)
> org.apache.wicket.request.handler.render.WebPageRenderer#
> respond(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(
> SubjectCallable.java:90)
> org.apache.shiro.subject.support.SubjectCallable#call(Subjec
> tCallable.java:83)
> org.apache.shiro.subject.support.DelegatingSubject#execute(
> DelegatingSubject.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(AccessLogValve.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(
> JIoEndpoint.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#
> run(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
>
>