You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mikhail Pochatkin (Jira)" <ji...@apache.org> on 2023/02/21 14:05:00 UTC

[jira] [Created] (IGNITE-18861) NPE in DumpThreadsOnTimeout breaking resource cleanup

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)