XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • None
    • None

      On a very rare case, it could end up with a buffer not cleaned.
      This is an extract from this CI run:

       [INFO] Running io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest
      Error:  Tests run: 6, Failures: 0, Errors: 1, Skipped: 1, Time elapsed: 20.626 s <<< FAILURE! - in io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest
      Error:  testAsyncListenerOnErrorExceptionInFirstServlet[proxy][ajp][ipv6](io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)  Time elapsed: 20.018 s  <<< ERROR!
      java.lang.RuntimeException: Buffer Leak io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest.testAsyncListenerOnErrorExceptionInFirstServlet[proxy][ajp][ipv6]
      	at io.undertow.testutils.DefaultServer$1.testFinished(DefaultServer.java:403)
      	at org.junit.runner.notification.SynchronizedRunListener.testFinished(SynchronizedRunListener.java:87)
      	at org.junit.runner.notification.RunNotifier$9.notifyListener(RunNotifier.java:225)
      	at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
      	at org.junit.runner.notification.RunNotifier.fireTestFinished(RunNotifier.java:222)
      	at org.junit.internal.runners.model.EachTestNotifier.fireTestFinished(EachTestNotifier.java:38)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:372)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
      	at io.undertow.testutils.DefaultServer.runChild(DefaultServer.java:706)
      	at io.undertow.testutils.DefaultServer.runChild(DefaultServer.java:144)
      	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
      	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
      	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
      	at io.undertow.testutils.RunDefaultServer.evaluate(RunDefaultServer.java:74)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
      	at io.undertow.testutils.DefaultServer.run(DefaultServer.java:376)
      	at org.junit.runners.Suite.runChild(Suite.java:128)
      	at org.junit.runners.Suite.runChild(Suite.java:27)
      	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
      	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
      	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
      	at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
      	at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
      	at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
      	at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
      	at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
      	at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:158)
      	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:383)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:344)
      	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:417)
      Caused by: java.lang.RuntimeException: java.nio.DirectByteBuffer[pos=0 lim=8192 cap=8192] NO: 1289135 [NO_CONTEXT]
      	at io.undertow.testutils.DebuggingSlicePool$DebuggingBuffer.<init>(DebuggingSlicePool.java:84)
      	at io.undertow.testutils.DebuggingSlicePool.allocate(DebuggingSlicePool.java:45)
      	at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:199)
      	at io.undertow.servlet.spec.ServletInputStreamImpl.close(ServletInputStreamImpl.java:266)
      	at io.undertow.servlet.spec.HttpServletRequestImpl.freeResources(HttpServletRequestImpl.java:744)
      	at io.undertow.servlet.core.ServletBlockingHttpExchange.close(ServletBlockingHttpExchange.java:97)
      	at org.xnio.IoUtils.safeClose(IoUtils.java:152)
      	at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1680)
      	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:418)
      	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
      	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
      	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
      	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      

              flaviarnn Flavia Rainone
              flaviarnn Flavia Rainone
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: