Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-594

With deadlock detection enabled, occasional null pointer exceptions are experienced when using the lock() API

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Critical Critical
    • None
    • 4.1.0.CR2
    • Transactions
    • Medium

      This has to do with the lock container. The stack trace is as follows:

      java.lang.NullPointerException
      at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
      at org.infinispan.util.concurrent.locks.containers.OwnableReentrantPerEntryLockContainer.getLockFromMap(OwnableReentrantPerEntryLockContainer.java:38)
      at org.infinispan.util.concurrent.locks.containers.OwnableReentrantPerEntryLockContainer.ownsLock(OwnableReentrantPerEntryLockContainer.java:28)
      at org.infinispan.util.concurrent.locks.LockManagerImpl.ownsLock(LockManagerImpl.java:123)
      at org.infinispan.util.concurrent.locks.DeadlockDetectingLockManager.localVsLocalDld(DeadlockDetectingLockManager.java:94)
      at org.infinispan.util.concurrent.locks.DeadlockDetectingLockManager.lockAndRecord(DeadlockDetectingLockManager.java:78)
      at org.infinispan.container.EntryFactoryImpl.acquireLock(EntryFactoryImpl.java:205)
      at org.infinispan.container.EntryFactoryImpl.wrapEntryForWriting(EntryFactoryImpl.java:148)
      at org.infinispan.container.EntryFactoryImpl.wrapEntryForWriting(EntryFactoryImpl.java:106)
      at org.infinispan.interceptors.LockingInterceptor.visitLockControlCommand(LockingInterceptor.java:146)
      at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:136)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
      at org.infinispan.commands.AbstractVisitor.visitLockControlCommand(AbstractVisitor.java:147)
      at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:136)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
      at org.infinispan.commands.AbstractVisitor.visitLockControlCommand(AbstractVisitor.java:147)
      at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:136)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
      at org.infinispan.interceptors.MarshalledValueInterceptor.visitLockControlCommand(MarshalledValueInterceptor.java:92)
      at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:136)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
      at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:171)
      at org.infinispan.interceptors.TxInterceptor.visitLockControlCommand(TxInterceptor.java:115)
      at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:136)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
      at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:58)
      at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:39)
      at org.infinispan.commands.AbstractVisitor.visitLockControlCommand(AbstractVisitor.java:147)
      at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:136)
      at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:271)
      at org.infinispan.CacheDelegate.lock(CacheDelegate.java:296)
      at org.infinispan.CacheDelegate.lock(CacheDelegate.java:289)
      at test.TestReplace.increase(TestReplace.java:112)
      at test.TestReplace.access$000(TestReplace.java:20)
      at test.TestReplace$XThread.run(TestReplace.java:95)

            manik_jira Manik Surtani (Inactive)
            manik_jira Manik Surtani (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: