org.apache.wicket.protocol.http.request.InvalidUrlException: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source

JIRA | Philippe Laflamme | 5 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    When a questionnaire contains multiple audio streams on the same page, there seems to be an issue where the wicket PageMap is locked by a thread and prevents other threads from responding to their requests. I wonder if this is caused by the fact that the browser loads only a partial portion of the audio stream and then cancels the request. The stacktrace seems to show that the thread is sending a byte stream to the client. So maybe the client requests all 3 streams, cancels one of them which Tomcat doesn't seem to notice. The server-side thread is blocked on sending the audio stream to the client which blocks the other threads from obtaining the PageMap lock. {code} 2011-12-13 12:36:23,081 - INFO - yx.webapp.OnyxRequestCycle - Request cycle runtime exception org.apache.wicket.protocol.http.request.InvalidUrlException: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:679) Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:314) at sun.security.ssl.OutputRecord.write(OutputRecord.java:303) at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:768) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:756) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:107) at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:760) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:784) at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118) at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:593) at org.apache.coyote.Response.doWrite(Response.java:560) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89) at org.apache.wicket.util.io.Streams.copy(Streams.java:159) at org.apache.wicket.util.io.Streams.copy(Streams.java:126) at org.apache.wicket.Response.write(Response.java:306) at org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.respond(ResourceStreamRequestTarget.java:160) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105) at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1267) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1334) ... 20 more {code}

    JIRA | 5 years ago | Philippe Laflamme
    org.apache.wicket.protocol.http.request.InvalidUrlException: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source
  2. 0

    When a questionnaire contains multiple audio streams on the same page, there seems to be an issue where the wicket PageMap is locked by a thread and prevents other threads from responding to their requests. I wonder if this is caused by the fact that the browser loads only a partial portion of the audio stream and then cancels the request. The stacktrace seems to show that the thread is sending a byte stream to the client. So maybe the client requests all 3 streams, cancels one of them which Tomcat doesn't seem to notice. The server-side thread is blocked on sending the audio stream to the client which blocks the other threads from obtaining the PageMap lock. {code} 2011-12-13 12:36:23,081 - INFO - yx.webapp.OnyxRequestCycle - Request cycle runtime exception org.apache.wicket.protocol.http.request.InvalidUrlException: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:679) Caused by: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:314) at sun.security.ssl.OutputRecord.write(OutputRecord.java:303) at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:768) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:756) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:107) at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:760) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:784) at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118) at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:593) at org.apache.coyote.Response.doWrite(Response.java:560) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89) at org.apache.wicket.util.io.Streams.copy(Streams.java:159) at org.apache.wicket.util.io.Streams.copy(Streams.java:126) at org.apache.wicket.Response.write(Response.java:306) at org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.respond(ResourceStreamRequestTarget.java:160) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105) at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1267) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1334) ... 20 more {code}

    JIRA | 5 years ago | Philippe Laflamme
    org.apache.wicket.protocol.http.request.InvalidUrlException: org.apache.wicket.WicketRuntimeException: After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source

    Root Cause Analysis

    1. org.apache.wicket.WicketRuntimeException

      After 1 minute the Pagemap null is still locked by: Thread[http-8443-21,5,main], giving up trying to get the page for path: 7:stage-component:content:form:step:panel:questions:3:question:media:media:audio-source-container:0:audio-source

      at java.net.SocketOutputStream.socketWrite0()
    2. Java RT
      SocketOutputStream.write
      1. java.net.SocketOutputStream.socketWrite0(Native Method)
      2. java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
      3. java.net.SocketOutputStream.write(SocketOutputStream.java:153)
      3 frames
    3. Java JSSE
      AppOutputStream.write
      1. sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:314)
      2. sun.security.ssl.OutputRecord.write(OutputRecord.java:303)
      3. sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:768)
      4. sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:756)
      5. sun.security.ssl.AppOutputStream.write(AppOutputStream.java:107)
      5 frames
    4. Grizzly HTTP
      InternalOutputBuffer.realWriteBytes
      1. org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:760)
      1 frame
    5. Tomcat Util
      ByteChunk.append
      1. org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
      2. org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
      2 frames
    6. Grizzly HTTP
      Response.doWrite
      1. org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:784)
      2. org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118)
      3. org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:593)
      4. org.apache.coyote.Response.doWrite(Response.java:560)
      4 frames
    7. Glassfish Core
      OutputBuffer.realWriteBytes
      1. org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
      1 frame
    8. Tomcat Util
      ByteChunk.append
      1. org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
      2. org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
      2 frames
    9. Glassfish Core
      CoyoteOutputStream.write
      1. org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
      2. org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
      3. org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
      3 frames
    10. Wicket Util
      Streams.copy
      1. org.apache.wicket.util.io.Streams.copy(Streams.java:159)
      2. org.apache.wicket.util.io.Streams.copy(Streams.java:126)
      2 frames
    11. Wicket Core
      Response.write
      1. org.apache.wicket.Response.write(Response.java:306)
      1 frame
    12. org.apache.wicket
      ResourceStreamRequestTarget.respond
      1. org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.respond(ResourceStreamRequestTarget.java:160)
      1 frame
    13. Wicket Request
      AbstractRequestCycleProcessor.respond
      1. org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
      1 frame
    14. Wicket Core
      WicketFilter.doFilter
      1. org.apache.wicket.RequestCycle.respond(RequestCycle.java:1267)
      2. org.apache.wicket.RequestCycle.step(RequestCycle.java:1334)
      3. org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
      4. org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
      5. org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
      6. org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319)
      6 frames
    15. Glassfish Core
      ApplicationFilterChain.doFilter
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      2 frames
    16. Hibernate
      OpenSessionInViewFilter.doFilterInternal
      1. org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
      1 frame
    17. Spring
      OncePerRequestFilter.doFilter
      1. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      1 frame
    18. Glassfish Core
      CoyoteAdapter.service
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      3. org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      4. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      5. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      6. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      7. org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      8. org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
      8 frames
    19. Grizzly HTTP
      JIoEndpoint$Worker.run
      1. org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
      2. org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
      3. org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      3 frames
    20. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:679)
      1 frame