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)