[jira] [Commented] (IGNITE-3514) CPP: JVM crash on "Failed to start SPI" exception.

2016-12-16 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15754914#comment-15754914
 ] 

Pavel Tupitsyn commented on IGNITE-3514:


Merged to master.

> 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: Pavel Tupitsyn
>  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=60, 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=60, 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 

[jira] [Commented] (IGNITE-3514) CPP: JVM crash on "Failed to start SPI" exception.

2016-12-16 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15754706#comment-15754706
 ] 

Pavel Tupitsyn commented on IGNITE-3514:


Looks good, see minor comment.

> 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=60, 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=60, 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): 

[jira] [Commented] (IGNITE-3514) CPP: JVM crash on "Failed to start SPI" exception.

2016-12-16 Thread Igor Sapego (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15754413#comment-15754413
 ] 

Igor Sapego commented on IGNITE-3514:
-

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=60, 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=60, 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 
> 

[jira] [Commented] (IGNITE-3514) CPP: JVM crash on "Failed to start SPI" exception.

2016-12-16 Thread Pavel Tupitsyn (JIRA)

[ 
https://issues.apache.org/jira/browse/IGNITE-3514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15753812#comment-15753812
 ] 

Pavel Tupitsyn commented on IGNITE-3514:


Not sure I understand the fix. Is there a test to check that invalid 
configuration is handled gracefully?

> probably caused by the attempted call on some platform callback which is null 
> in C++
In such cases {{ThrowOnMissingHandler}} is called, so we would see that in the 
log.

> 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: Pavel Tupitsyn
>  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=60, 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=60, 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 
>