You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksey Plekhanov (Jira)" <ji...@apache.org> on 2020/06/11 10:00:00 UTC

[jira] [Updated] (IGNITE-13145) NPE on node stop can cause JVM halt with default failure handler

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

Aleksey Plekhanov updated IGNITE-13145:
---------------------------------------
    Ignite Flags:   (was: Docs Required,Release Notes Required)

> NPE on node stop can cause JVM halt with default failure handler
> ----------------------------------------------------------------
>
>                 Key: IGNITE-13145
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13145
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{TcpCommunicationSpi}} have injected {{@IgniteLogger}} resource.  {{TcpCommunicationSpi.sendMessage0}} tries to access this resource without null check, but when the node is stopping injected resources are cleaned up. If some threads are trying to send something via communication SPI on stopping node, NPE is thrown with subsequent failure handler call and JVM halt with default failure handler. This is undesirable when Ignite is running in embedded mode since all other JVM applications will be stopped.
> Error stack:
> {noformat}
> [11:34:39,194][SEVERE][sys-stripe-11-#8570%280332bb-89f3-4227-9d14-c319bbf3ca0c%][] Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=java.lang.NullPointerException]]
> java.lang.NullPointerException
>     at org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.sendMessage0(TcpCommunicationSpi.java:2898)
>     at org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.sendMessage(TcpCommunicationSpi.java:2882)
>     at org.apache.ignite.internal.managers.communication.GridIoManager.send(GridIoManager.java:2035)
>     at org.apache.ignite.internal.managers.communication.GridIoManager.sendToGridTopic(GridIoManager.java:2132)
>     at org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1257)
>     at org.apache.ignite.internal.processors.cache.GridCacheIoManager.send(GridCacheIoManager.java:1296)
>     at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.sendDeferredUpdateResponse(GridDhtAtomicCache.java:3643)
>     at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$DeferredUpdateTimeout.run(GridDhtAtomicCache.java:3889)
>     at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:565)
>     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> [11:34:39,214][SEVERE][sys-stripe-11-#8570%280332bb-89f3-4227-9d14-c319bbf3ca0c%][] JVM will be halted immediately due to the failure: [failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=java.lang.NullPointerException]]{noformat}
>  This problem occurs often on team-city in "Java thin client" suite (ReliabilityTest#testFailover).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)