-
Sub-task
-
Resolution: Unresolved
-
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)