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

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

     [ https://issues.apache.org/jira/browse/IGNITE-18861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roman Puchkovskiy reassigned IGNITE-18861:
------------------------------------------

    Assignee: Roman Puchkovskiy

> 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
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> 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)