On Mon, Nov 7, 2016 at 12:04 PM, Erik de Hair <[email protected]> wrote:
> > On 11/07/2016 09:57 AM, Martin Grigorov wrote: > >> There's another frequently occurring exception in the log that occurs >> when using the autocomplete field: >> >> java.lang.IllegalStateExceptiongetOutputStream() has already been called >> for this response org.apache.catalina.connector. >> Response#getWriter(Response.java:678) >> >> This is a bug, but I am not sure where exactly. >>> An application should not try to write both to the Servlet's writer and >>> outputStream in the same response. >>> >>> The easiest way to debug is to put a breakpoint at >> ResponseFacade#getWriter() and ResponseFacade#getOutputStream() and see >> what happens. >> >> The TextChoiceProvider is writing to the outputstream. Is that what you > wanted to know? > I believe this is not the cause. The previous stacktrace shows that a redirect is attempted. I don't expect a redirect after sending the JSON response for the Select2 component. I guess the http request didn't fail with the previous exception after you released the breakpoint ? > > "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 >>>> >>>> >>>> >
