Mikhail Pochatkin created IGNITE-18861:
------------------------------------------

             Summary: NPE in DumpThreadsOnTimeout breaking resource cleanup
                 Key: IGNITE-18861
                 URL: https://issues.apache.org/jira/browse/IGNITE-18861
             Project: Ignite
          Issue Type: Bug
            Reporter: Mikhail Pochatkin


In test runs from CI founded follow stacktrace:
{code:java}
java.lang.NullPointerException
        at 
org.apache.ignite.internal.testframework.junit.DumpThreadsOnTimeout.isJunitMethodTimeout(DumpThreadsOnTimeout.java:68)
        at 
org.apache.ignite.internal.testframework.junit.DumpThreadsOnTimeout.handleThrowable(DumpThreadsOnTimeout.java:53)
        at 
org.apache.ignite.internal.testframework.junit.DumpThreadsOnTimeout.handleTestExecutionException(DumpThreadsOnTimeout.java:49)
        at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestExecutionExceptionHandlers$8(TestMethodTestDescriptor.java:228)
        at 
org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.invokeExecutionExceptionHandlers(JupiterTestDescriptor.java:123)
        at 
org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.invokeExecutionExceptionHandlers(JupiterTestDescriptor.java:110)
        at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestExecutionExceptionHandlers(TestMethodTestDescriptor.java:227)
        ...
        at 
org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
        at 
org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
        at 
org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
        at 
org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
        at 
org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
        at 
org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:133)
        at 
org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
        at 
worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
        at 
worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
{code}

In case any tests failed with TimeoutException 
`org.apache.ignite.internal.testframework.junit.DumpThreadsOnTimeout`  tried to 
produce readable message but fail with NPE in case when Exception message is 
null. After this NPE JUnit thread die and BeforeAll\BeforeEach methods are not 
called. As result, we have unkilled AI3 live nodes which holded ports and next 
tests on the CI Agent where it failed cannot run correctly with reason `Caused 
by: java.lang.IllegalStateException: No available port in range [3344-3344]`



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to