[ https://issues.apache.org/jira/browse/IGNITE-3514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15754413#comment-15754413 ]
Igor Sapego edited comment on IGNITE-3514 at 12/16/16 1:26 PM: --------------------------------------------------------------- Pavel, OK, I did not describe an issue and solution yesterday, this is my fault. The issue is that we tried to delete the same value twice on failure - first in {{IgniteEnvironment}}, when receiving {{ON_STOP}} message from Java, and then in "else" branch, which handles node start failure. So I have removed the second delete, which solved the issue. You are also right about the test. I'm going to add it. was (Author: isapego): Pavel, OK, I did not describe an issue and solution yesterday, this is my fault. The issue is that we tried to delete the same value twice on failure - first in {{IgniteEnvironment}}, when receiving `ON_STOP` message from Java, and then in "else" branch, which handles node start failure. So I have removed the second delete, which solved the issue. You are also right about the test. I'm going to add it. > CPP: JVM crash on "Failed to start SPI" exception. > -------------------------------------------------- > > Key: IGNITE-3514 > URL: https://issues.apache.org/jira/browse/IGNITE-3514 > Project: Ignite > Issue Type: Bug > Components: platforms > Affects Versions: 1.6 > Reporter: Igor Sapego > Assignee: Igor Sapego > Labels: cpp > Fix For: 2.0 > > > On invalid {{discoverySpi}} configuration JVM may crash (i.e. specify > negative {{socketTimeout}}). This is probably caused by the attempted call on > some platform callback which is null in C++. > {noformat} > Failed to start manager: GridManagerAdapter [enabled=true, > name=o.a.i.i.managers.discovery.GridDiscoveryManager] > class org.apache.ignite.IgniteCheckedException: Failed to start SPI: > TcpDiscoverySpi [addrRslvr=null, sockTimeout=-300, ackTimeout=5000, > reconCnt=10, maxAckTimeout=600000, forceSrvMode=false, > clientReconnectDisabled=false] > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:270) > at > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:681) > at > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1571) > at > org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:901) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1739) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) > at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:549) > at > org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43) > at > org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:76) > Caused by: class org.apache.ignite.spi.IgniteSpiException: SPI parameter > failed condition check: sockTimeout > 0 > at > org.apache.ignite.spi.IgniteSpiAdapter.assertParameter(IgniteSpiAdapter.java:344) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1757) > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:267) > ... 9 more > [15:17:45,584][SEVERE][main][IgniteKernal%grid-0] Got exception while > starting (will rollback startup routine). > class org.apache.ignite.IgniteCheckedException: Failed to start manager: > GridManagerAdapter [enabled=true, > name=org.apache.ignite.internal.managers.discovery.GridDiscoveryManager] > at > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1576) > at > org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:901) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1739) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) > at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:549) > at > org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43) > at > org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:76) > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to start > SPI: TcpDiscoverySpi [addrRslvr=null, sockTimeout=-300, ackTimeout=5000, > reconCnt=10, maxAckTimeout=600000, forceSrvMode=false, > clientReconnectDisabled=false] > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:270) > at > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:681) > at > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1571) > ... 7 more > Caused by: class org.apache.ignite.spi.IgniteSpiException: SPI parameter > failed condition check: sockTimeout > 0 > at > org.apache.ignite.spi.IgniteSpiAdapter.assertParameter(IgniteSpiAdapter.java:344) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1757) > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:267) > ... 9 more > [15:17:45,594][SEVERE][main][IgniteKernal%grid-0] Failed to stop component > (ignoring): GridManagerAdapter [enabled=true, > name=o.a.i.i.managers.discovery.GridDiscoveryManager] > java.lang.NullPointerException > at > org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNodesRing.clear(TcpDiscoveryNodesRing.java:400) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStop0(ServerImpl.java:458) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStop(ServerImpl.java:359) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStop(TcpDiscoverySpi.java:1858) > at > org.apache.ignite.internal.managers.GridManagerAdapter.stopSpi(GridManagerAdapter.java:298) > at > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.stop(GridDiscoveryManager.java:1334) > at > org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:1991) > at > org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:1860) > at > org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:953) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1739) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) > at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:549) > at > org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:43) > at > org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:76) > [15:17:45] Ignite node stopped wih ERRORS [name=grid-0, uptime=00:00:02:446] > unknown location(0): fatal error in "TestRemoveAllKeys": memory access > violation occurred at address 0xffffffff, while attempting to read > inaccessible data > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)