Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-9466

IllegalMonitorStateException in Poller ReentrantLock causes polling to stop

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 20.0.0
    • Fix Version/s: 20.0.1
    • Security Level: Default (Default Security Scheme)
    • Labels:
      None
    • Environment:
      Ubuntu 16.04, 97 Nodes, 140 Interfaces, IPv4 and IPv6
    • Sprint:
      Horizon - June 28th

      Description

      I've configured a pseudo node on my OpenNMS instance for checking internet connectivity and latency. It has a public DNS IPv4 and IPv6 address assigned as interface addresses. After upgrading to 20.0.0 the collection of IPv4 response times stop to work after several hours (~9h on my server). Since the node and its interfaces stay up and no event is sent I think it is only related to the collection of the response times. Curiously, the IPv6 response times are still being collected and persisted.

      I've not configured anything related to ICMP in my opennms.properties.

      Also, the poller.log is full of exceptions like this. So, maybe this is related to issue NMS-9439.

      Exception in thread "Poller-Thread-18-of-30" java.lang.IllegalMonitorStateException
      	at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)
      	at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)
      	at org.opennms.netmgt.poller.pollables.PollableNode.releaseTreeLock(PollableNode.java:263)
      	at org.opennms.netmgt.poller.pollables.PollableElement.releaseTreeLock(PollableElement.java:210)
      	at org.opennms.netmgt.poller.pollables.PollableElement.withTreeLock(PollableElement.java:261)
      	at org.opennms.netmgt.poller.pollables.PollableElement.withTreeLock(PollableElement.java:241)
      	at org.opennms.netmgt.poller.pollables.PollableService.doRun(PollableService.java:404)
      	at org.opennms.netmgt.poller.pollables.PollableService.run(PollableService.java:379)
      	at org.opennms.netmgt.scheduler.Schedule.run(Schedule.java:142)
      	at org.opennms.netmgt.scheduler.Schedule$ScheduleEntry.run(Schedule.java:86)
      	at org.opennms.netmgt.scheduler.LegacyScheduler$1.run(LegacyScheduler.java:179)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at org.opennms.core.concurrent.LogPreservingThreadFactory$3.run(LogPreservingThreadFactory.java:124)
      	at java.lang.Thread.run(Thread.java:748)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                seth Seth Leger
                Reporter:
                cpape Christian Pape
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: