[ https://issues.apache.org/jira/browse/IGNITE-1938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15009747#comment-15009747 ]
Andrey Gura edited comment on IGNITE-1938 at 11/18/15 9:10 AM: --------------------------------------------------------------- The problem in JIT of IBM J9 8.0-1.10. If JIT is switched off the problem doesn't reproduce. Unfortunatelly I can't file ticket in IBM bugtracker. The work around is disabling of compilation {{GridDhtAtomicCache.unlockEntries}} and {{GridDhtAtomicCache.lockEntries}} methods by JIT using the following JVM option: {noformat} -Xjit:exclude={org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.unlockEntries(Ljava/util/Collection;Lorg/apache/ignite/internal/processors/affinity/AffinityTopologyVersion;)V|org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.lockEntries(Ljava/util/List;Lorg/apache/ignite/internal/processors/affinity/AffinityTopologyVersion;)Ljava/util/List;} {noformat} Similar way can be used in case of problems with other methods. was (Author: agura): The problem in JIT of IBM J9 8.0-1.10. If JIT is switched off the problem doesn't reproduce. Unfortunatelly I can't file ticket in IBM bugtracker. The work around is disabling of compilation {{GridDhtAtomicCache.unlockEntries}} and {{GridDhtAtomicCache.lockEntries}} by JIT using the following JVM option: {noformat} -Xjit:exclude={org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.unlockEntries(Ljava/util/Collection;Lorg/apache/ignite/internal/processors/affinity/AffinityTopologyVersion;)V|org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.lockEntries(Ljava/util/List;Lorg/apache/ignite/internal/processors/affinity/AffinityTopologyVersion;)Ljava/util/List;} {noformat} Similar way can be used in case of problems with other methods. > NullPointerException/IllegalMonitorStateException under IBM SDK 8 > ----------------------------------------------------------------- > > Key: IGNITE-1938 > URL: https://issues.apache.org/jira/browse/IGNITE-1938 > Project: Ignite > Issue Type: Bug > Reporter: Andrey Gura > Assignee: Andrey Gura > > {{CachePutGetExample}} fails under IBM J9 8.0-1.10. Also similar problem was > reported on user-list: > https://mail-archives.apache.org/mod_mbox/ignite-user/201511.mbox/%3c1446577964016-1830.p...@n6.nabble.com%3E > Usually Ignite throws {{NullPointerException}} or > {{IllegalMonitorStateException}} or both (see below) from > {{GridDhtAtomicCache.lockEntries}} and {{GridDhtAtomicCache.unlockEntries}}. > Sometimes JVM crashes with {{SIGSEGV}} and {{vmState=0x00000000}} code in > {{ibj9jit28.so}} module. In rare cases system just hangs. > {noformat} > [22:16:11,241][ERROR][main][GridDhtAtomicCache] <CachePutGetExample> > Unexpected exception during cache update > java.lang.NullPointerException > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.lockEntries(GridDhtAtomicCache.java:2161) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1100) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1060) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.mapSingle(GridNearAtomicUpdateFuture.java:462) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.access$1200(GridNearAtomicUpdateFuture.java:73) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$UpdateState.map(GridNearAtomicUpdateFuture.java:891) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.mapOnTopology(GridNearAtomicUpdateFuture.java:422) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.map(GridNearAtomicUpdateFuture.java:291) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$14.apply(GridDhtAtomicCache.java:841) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$14.apply(GridDhtAtomicCache.java:839) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.asyncOp(GridDhtAtomicCache.java:645) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsync0(GridDhtAtomicCache.java:839) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.putAsync0(GridDhtAtomicCache.java:378) > at > org.apache.ignite.internal.processors.cache.GridCacheAdapter.putAsync(GridCacheAdapter.java:2218) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put(GridDhtAtomicCache.java:354) > at > org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:1924) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(IgniteCacheProxy.java:1017) > at > org.apache.ignite.examples.datagrid.CachePutGetExample.putGet(CachePutGetExample.java:72) > at > org.apache.ignite.examples.datagrid.CachePutGetExample.main(CachePutGetExample.java:51) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) > at java.lang.reflect.Method.invoke(Method.java:507) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) > {noformat} > {noformat} > Exception in thread "main" > org.apache.ignite.cache.CachePartialUpdateException: Failed to update keys > (retry update if possible).: [5372] > at > org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1615) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.cacheException(IgniteCacheProxy.java:1750) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(IgniteCacheProxy.java:1024) > at > org.apache.ignite.examples.datagrid.CachePutGetExample.putGet(CachePutGetExample.java:72) > at > org.apache.ignite.examples.datagrid.CachePutGetExample.main(CachePutGetExample.java:51) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) > at java.lang.reflect.Method.invoke(Method.java:507) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) > Caused by: class > org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException: > Failed to update keys (retry update if possible).: [5372] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$UpdateState.addFailedKeys(GridNearAtomicUpdateFuture.java:1186) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$UpdateState.onResult(GridNearAtomicUpdateFuture.java:657) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.onResult(GridNearAtomicUpdateFuture.java:351) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$2.apply(GridNearAtomicUpdateFuture.java:465) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$2.apply(GridNearAtomicUpdateFuture.java:463) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1247) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1060) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.mapSingle(GridNearAtomicUpdateFuture.java:462) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.access$1200(GridNearAtomicUpdateFuture.java:73) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$UpdateState.map(GridNearAtomicUpdateFuture.java:891) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.mapOnTopology(GridNearAtomicUpdateFuture.java:422) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.map(GridNearAtomicUpdateFuture.java:291) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$14.apply(GridDhtAtomicCache.java:841) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$14.apply(GridDhtAtomicCache.java:839) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.asyncOp(GridDhtAtomicCache.java:645) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsync0(GridDhtAtomicCache.java:839) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.putAsync0(GridDhtAtomicCache.java:378) > at > org.apache.ignite.internal.processors.cache.GridCacheAdapter.putAsync(GridCacheAdapter.java:2218) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put(GridDhtAtomicCache.java:354) > at > org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:1924) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(IgniteCacheProxy.java:1017) > ... 7 more > Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to > update keys on primary node. > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.addFailedKeys(GridNearAtomicUpdateResponse.java:368) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1245) > ... 22 more > Suppressed: java.lang.IllegalMonitorStateException > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.unlockEntries(GridDhtAtomicCache.java:2259) > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1220) > ... 22 more > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)