[ https://issues.apache.org/jira/browse/SLING-8011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16648529#comment-16648529 ]
Robert Munteanu commented on SLING-8011: ---------------------------------------- [~jebailey] - since you provided the fix for SLING-7795 could I ask you to check if my reasoning is correct and maybe to propose an improved fix? > Accessing the info.sessionInfo.json endpoint always logs an error: Writer has > already been closed > ------------------------------------------------------------------------------------------------- > > Key: SLING-8011 > URL: https://issues.apache.org/jira/browse/SLING-8011 > Project: Sling > Issue Type: Bug > Components: Servlets > Affects Versions: Servlets Get 2.1.34 > Reporter: Robert Munteanu > Priority: Major > Fix For: Servlets Get 2.1.38 > > > I noticed that the Sling starter logs are full of errors regarding an already > closed writer. Taking a closer look, I think the root cause is the fix for > SLING-7795 - now the response writer is being and then a flush call is issues. > {noformat}13.10.2018 01:02:12.584 *ERROR* [0:0:0:0:0:0:0:1 [1539381732583] > GET /system/sling/info.sessionInfo.json HTTP/1.1] > org.apache.sling.engine.impl.SlingRequestProcessorImpl Writer has already > been closed. > org.apache.sling.engine.impl.SlingHttpServletResponseImpl$WriterAlreadyClosedException: > null > at > org.apache.sling.engine.impl.SlingHttpServletResponseImpl$1.checkClosed(SlingHttpServletResponseImpl.java:190) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.SlingHttpServletResponseImpl$1.flush(SlingHttpServletResponseImpl.java:227) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.servlets.get.impl.SlingInfoServlet.renderJson(SlingInfoServlet.java:122) > [org.apache.sling.servlets.get:2.1.36] > at > org.apache.sling.servlets.get.impl.SlingInfoServlet.doGet(SlingInfoServlet.java:96) > [org.apache.sling.servlets.get:2.1.36] > at > org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:266) > [org.apache.sling.api:2.18.4] > at > org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342) > [org.apache.sling.api:2.18.4] > at > org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:374) > [org.apache.sling.api:2.18.4] > at > org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:82) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:49) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:82) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:107) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:72) > [org.apache.sling.engine:2.6.14] > at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:131) > [org.apache.sling.i18n:2.5.14] > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:72) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.SlingRequestProcessorImpl.doProcessRequest(SlingRequestProcessorImpl.java:151) > [org.apache.sling.engine:2.6.14] > at > org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:234) > [org.apache.sling.engine:2.6.14] > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:120) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:96) > [org.apache.felix.http.sslfilter:1.2.4] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:4.0.6] > at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:131) > [org.apache.sling.i18n:2.5.14] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:72) > [org.apache.sling.engine:2.6.14] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.sling.engine.impl.parameters.RequestParameterSupportConfigurer.doFilter(RequestParameterSupportConfigurer.java:63) > [org.apache.sling.engine:2.6.14] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.Dispatcher$1.doFilter(Dispatcher.java:146) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:1000) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:91) > [org.apache.felix.http.jetty:4.0.6] > at > org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49) > [org.apache.felix.http.jetty:4.0.6] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) > [org.apache.felix.http.servlet-api:1.1.2] > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > [org.apache.felix.http.jetty:4.0.6] > at org.eclipse.jetty.server.Server.handle(Server.java:503) > [org.apache.felix.http.jetty:4.0.6] > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) > [org.apache.felix.http.jetty:4.0.6] > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) > [org.apache.felix.http.jetty:4.0.6] > at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) > [org.apache.felix.http.jetty:4.0.6] > at > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) > [org.apache.felix.http.jetty:4.0.6] > at java.lang.Thread.run(Thread.java:748) > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)