<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:09:37 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[MDSAL-362] Thread deadlock between mdsal and bgpcep when running Controller Clustering CSIT job</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-362</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;I&apos;ve seen this issue in 4 job runs so far. Added other job links in subsequent comments.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Logs for the run can be found here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/178/controller-csit-3node-clustering-vpickard-all-oxygen/17/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/178/controller-csit-3node-clustering-vpickard-all-oxygen/17/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;For reference, here are the logs from the 2 deadlocked threads:&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;2018-07-03T18:42:02,391 | ERROR | infrautils.metrics.ThreadsWatcher-0 | ThreadsWatcher                   | 357 - org.opendaylight.infrautils.metrics-impl - 1.3.3.SNAPSHOT | Deadlocked thread stack trace: opendaylight-cluster-data-akka.actor.default-dispatcher-18 locked on org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS@3acd01d1 (owned by opendaylight-cluster-data-notification-dispatcher-61):
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS.instantiateServiceInstance(PCEPTopologyProviderBean.java:157)
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.lambda$startServices$0(ClusterSingletonServiceGroupImpl.java:648)
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl$$Lambda$1173/320400615.accept(Unknown Source)
	 at java.util.ArrayList.forEach(ArrayList.java:1257)
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.startServices(ClusterSingletonServiceGroupImpl.java:645)
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.cleanupCandidateOwnershipChanged(ClusterSingletonServiceGroupImpl.java:506)
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.lockedOwnershipChanged(ClusterSingletonServiceGroupImpl.java:453)
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.ownershipChanged(ClusterSingletonServiceGroupImpl.java:433)
	 at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.ownershipChanged(AbstractClusterSingletonServiceProviderImpl.java:234)
	 at org.opendaylight.mdsal.singleton.dom.impl.DOMClusterSingletonServiceProviderImpl.ownershipChanged(DOMClusterSingletonServiceProviderImpl.java:23)
	 at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:44)
	 at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.handleReceive(EntityOwnershipListenerActor.java:33)
	 at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38)
	 at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)
	 at akka.actor.Actor.aroundReceive(Actor.scala:517)
	 at akka.actor.Actor.aroundReceive$(Actor.scala:515)
	 at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)
	 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590)
	 at akka.actor.ActorCell.invoke(ActorCell.scala:559)
	 at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
	 at akka.dispatch.Mailbox.run(Mailbox.scala:224)
	 at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
	 at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	 at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
	 at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
	 at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

2018-07-03T18:42:02,392 | ERROR | infrautils.metrics.ThreadsWatcher-0 | ThreadsWatcher                   | 357 - org.opendaylight.infrautils.metrics-impl - 1.3.3.SNAPSHOT | Deadlocked thread stack trace: opendaylight-cluster-data-notification-dispatcher-61 locked on java.util.concurrent.locks.ReentrantLock$FairSync@340ae920 (owned by opendaylight-cluster-data-akka.actor.default-dispatcher-18):
	 at sun.misc.Unsafe.park(Native Method)
	 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
	 at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
	 at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
	 at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
	 at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:224)
	 at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.unregisterService(ClusterSingletonServiceGroupImpl.java:393)
	 at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.removeRegistration(AbstractClusterSingletonServiceProviderImpl.java:151)
	 at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl$1.removeRegistration(AbstractClusterSingletonServiceProviderImpl.java:123)
	 at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:41)
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS.close(PCEPTopologyProviderBean.java:186)
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean.close(PCEPTopologyProviderBean.java:88)
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.closeTopology(PCEPTopologyDeployerImpl.java:151)
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.updateTopologyProvider(PCEPTopologyDeployerImpl.java:92)
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.lambda$onDataTreeChanged$0(PCEPTopologyDeployerImpl.java:75)
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl$$Lambda$1179/1398407903.accept(Unknown Source)
	 at java.util.Iterator.forEachRemaining(Iterator.java:116)
	 at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.onDataTreeChanged(PCEPTopologyDeployerImpl.java:71)
	 at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)
	 at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67)
	 at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41)
	 at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38)
	 at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)
	 at akka.actor.Actor.aroundReceive(Actor.scala:517)
	 at akka.actor.Actor.aroundReceive$(Actor.scala:515)
	 at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)
	 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590)
	 at akka.actor.ActorCell.invoke(ActorCell.scala:559)
	 at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
	 at akka.dispatch.Mailbox.run(Mailbox.scala:224)
	 at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
	 at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	 at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
	 at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
	 at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="30294">MDSAL-362</key>
            <summary>Thread deadlock between mdsal and bgpcep when running Controller Clustering CSIT job</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.opendaylight.org/images/icons/priorities/blocker.svg">Highest</priority>
                        <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="vpickard">Victor Pickard</reporter>
                        <labels>
                            <label>csit:3node</label>
                    </labels>
                <created>Fri, 6 Jul 2018 20:16:36 +0000</created>
                <updated>Mon, 20 Aug 2018 18:23:09 +0000</updated>
                            <resolved>Mon, 20 Aug 2018 18:23:09 +0000</resolved>
                                                    <fixVersion>Fluorine</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="63953" author="vpickard" created="Fri, 6 Jul 2018 20:18:06 +0000"  >&lt;p&gt;I added an attachment with some preliminary analysis.&#160;&lt;/p&gt;</comment>
                            <comment id="63954" author="vpickard" created="Fri, 6 Jul 2018 20:30:50 +0000"  >&lt;p&gt;Here is another job with the same thread deadlock.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/180/controller-csit-3node-clustering-vpickard-all-oxygen/22/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/180/controller-csit-3node-clustering-vpickard-all-oxygen/22/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="63961" author="rovarga" created="Sun, 8 Jul 2018 19:03:41 +0000"  >&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&quot;opendaylight-cluster-data-notification-dispatcher-61&quot; id=246 state=WAITING
    - waiting on &amp;lt;0x340ae920&amp;gt; (a java.util.concurrent.locks.ReentrantLock$FairSync)
    - locked &amp;lt;0x340ae920&amp;gt; (a java.util.concurrent.locks.ReentrantLock$FairSync)
     owned by opendaylight-cluster-data-akka.actor.default-dispatcher-18 id=200
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
    at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:224)
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
    at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.unregisterService(ClusterSingletonServiceGroupImpl.java:393)
    at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.removeRegistration(AbstractClusterSingletonServiceProviderImpl.java:151)
    at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl$1.removeRegistration(AbstractClusterSingletonServiceProviderImpl.java:123)
    at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:41)
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS.close(PCEPTopologyProviderBean.java:186)
      - locked org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS@3acd01d1
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean.close(PCEPTopologyProviderBean.java:88)
      - locked org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean@2ab96127
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.closeTopology(PCEPTopologyDeployerImpl.java:151)
      - locked org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl@3e59b301
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.updateTopologyProvider(PCEPTopologyDeployerImpl.java:92)
      - locked org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl@3e59b301
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.lambda$onDataTreeChanged$0(PCEPTopologyDeployerImpl.java:75)
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl$$Lambda$1179/1398407903.accept(Unknown Source)
    at java.util.Iterator.forEachRemaining(Iterator.java:116)
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl.onDataTreeChanged(PCEPTopologyDeployerImpl.java:71)
      - locked org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyDeployerImpl@3e59b301
    at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)
    at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67)
    at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41)
    at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38)
    at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)
    at akka.actor.Actor.aroundReceive(Actor.scala:517)
    at akka.actor.Actor.aroundReceive$(Actor.scala:515)
    at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590)
    at akka.actor.ActorCell.invoke(ActorCell.scala:559)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
    at akka.dispatch.Mailbox.run(Mailbox.scala:224)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
    at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="63962" author="rovarga" created="Sun, 8 Jul 2018 19:04:45 +0000"  >&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;&quot;opendaylight-cluster-data-akka.actor.default-dispatcher-18&quot; id=200 state=BLOCKED
    - waiting to lock &amp;lt;0x3acd01d1&amp;gt; (a org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS)
     owned by opendaylight-cluster-data-notification-dispatcher-61 id=246
    at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS.instantiateServiceInstance(PCEPTopologyProviderBean.java:157)
    at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.lambda$startServices$0(ClusterSingletonServiceGroupImpl.java:648)
    at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl$$Lambda$1173/320400615.accept(Unknown Source)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.startServices(ClusterSingletonServiceGroupImpl.java:645)
    at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.cleanupCandidateOwnershipChanged(ClusterSingletonServiceGroupImpl.java:506)
    at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.lockedOwnershipChanged(ClusterSingletonServiceGroupImpl.java:453)
    at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.ownershipChanged(ClusterSingletonServiceGroupImpl.java:433)
    at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.ownershipChanged(AbstractClusterSingletonServiceProviderImpl.java:234)
    at org.opendaylight.mdsal.singleton.dom.impl.DOMClusterSingletonServiceProviderImpl.ownershipChanged(DOMClusterSingletonServiceProviderImpl.java:23)
    at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:44)
    at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.handleReceive(EntityOwnershipListenerActor.java:33)
    at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38)
    at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)
    at akka.actor.Actor.aroundReceive(Actor.scala:517)
    at akka.actor.Actor.aroundReceive$(Actor.scala:515)
    at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590)
    at akka.actor.ActorCell.invoke(ActorCell.scala:559)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
    at akka.dispatch.Mailbox.run(Mailbox.scala:224)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
    at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

    Locked synchronizers: count = 1
      - java.util.concurrent.locks.ReentrantLock$FairSync@340ae920&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="63970" author="vpickard" created="Mon, 9 Jul 2018 14:06:54 +0000"  >&lt;p&gt;There are 2 more jobs where I saw this deadlock.&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jenkins.opendaylight.org/sandbox/job/controller-csit-3node-clustering-vpickard-all-oxygen/37&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/sandbox/job/controller-csit-3node-clustering-vpickard-all-oxygen/37&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;In this job, 3 deadlocked threads.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jenkins.opendaylight.org/sandbox/job/controller-csit-3node-clustering-vpickard-all-oxygen/41&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/sandbox/job/controller-csit-3node-clustering-vpickard-all-oxygen/41&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="64000" author="vpickard" created="Tue, 10 Jul 2018 14:56:00 +0000"  >&lt;p&gt;I looked to see if this deadlock was occurring in netvirt csit job, didn&apos;t see anything so far. For reference, this is the netvirt job I took a look at:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-3node-openstack-queens-upstream-stateful-oxygen/315/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-csit-3node-openstack-queens-upstream-stateful-oxygen/315/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="64061" author="vpickard" created="Tue, 17 Jul 2018 12:32:26 +0000"  >&lt;p&gt;Saw another deadlock in a job today. This is slightly different than the other deadlocks. Notice the service is BMP, not bgpcep as the other deadlocks we have seen.&lt;/p&gt;


&lt;p&gt;2018-07-17T09:04:02,885 | ERROR | infrautils.metrics.ThreadsWatcher-0 | ThreadsWatcher                   | 357 - org.opendaylight.infrautils.metrics-impl - 1.3.3.SNAPSHOT | Deadlocked thread stack trace: opendaylight-cluster-data-notification-dispatcher-64 locked on java.util.concurrent.locks.ReentrantLock$FairSync@53cb2354 (owned by opendaylight-cluster-data-akka.actor.default-dispatcher-2):&lt;br/&gt;
	 at sun.misc.Unsafe.park(Native Method)&lt;br/&gt;
	 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)&lt;br/&gt;
	 at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)&lt;br/&gt;
	 at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)&lt;br/&gt;
	 at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)&lt;br/&gt;
	 at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:224)&lt;br/&gt;
	 at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.unregisterService(ClusterSingletonServiceGroupImpl.java:393)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.removeRegistration(AbstractClusterSingletonServiceProviderImpl.java:151)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl$1.removeRegistration(AbstractClusterSingletonServiceProviderImpl.java:123)&lt;br/&gt;
	 at org.opendaylight.yangtools.concepts.AbstractRegistration.close(AbstractRegistration.java:41)&lt;br/&gt;
	 at org.opendaylight.protocol.bmp.impl.app.BmpMonitoringStationImpl.close(BmpMonitoringStationImpl.java:169)&lt;br/&gt;
	 at org.opendaylight.protocol.bmp.impl.config.BmpDeployerImpl.updateBmpMonitor(BmpDeployerImpl.java:112)&lt;br/&gt;
	 at org.opendaylight.protocol.bmp.impl.config.BmpDeployerImpl.handleModification(BmpDeployerImpl.java:98)&lt;br/&gt;
	 at org.opendaylight.protocol.bmp.impl.config.BmpDeployerImpl.lambda$onDataTreeChanged$0(BmpDeployerImpl.java:86)&lt;br/&gt;
	 at org.opendaylight.protocol.bmp.impl.config.BmpDeployerImpl$$Lambda$1230/2084640633.accept(Unknown Source)&lt;br/&gt;
	 at java.util.ArrayList.forEach(ArrayList.java:1257)&lt;br/&gt;
	 at org.opendaylight.protocol.bmp.impl.config.BmpDeployerImpl.onDataTreeChanged(BmpDeployerImpl.java:86)&lt;br/&gt;
	 at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)&lt;br/&gt;
	 at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:67)&lt;br/&gt;
	 at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:41)&lt;br/&gt;
	 at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38)&lt;br/&gt;
	 at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)&lt;br/&gt;
	 at akka.actor.Actor.aroundReceive(Actor.scala:517)&lt;br/&gt;
	 at akka.actor.Actor.aroundReceive$(Actor.scala:515)&lt;br/&gt;
	 at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)&lt;br/&gt;
	 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590)&lt;br/&gt;
	 at akka.actor.ActorCell.invoke(ActorCell.scala:559)&lt;br/&gt;
	 at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)&lt;br/&gt;
	 at akka.dispatch.Mailbox.run(Mailbox.scala:224)&lt;br/&gt;
	 at akka.dispatch.Mailbox.exec(Mailbox.scala:234)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)&lt;/p&gt;

&lt;p&gt;2018-07-17T09:04:02,885 | ERROR | infrautils.metrics.ThreadsWatcher-0 | ThreadsWatcher                   | 357 - org.opendaylight.infrautils.metrics-impl - 1.3.3.SNAPSHOT | Deadlocked thread stack trace: opendaylight-cluster-data-akka.actor.default-dispatcher-2 locked on org.opendaylight.protocol.bmp.impl.app.BmpMonitoringStationImpl@5d0cc75d (owned by opendaylight-cluster-data-notification-dispatcher-64):&lt;br/&gt;
	 at org.opendaylight.protocol.bmp.impl.app.BmpMonitoringStationImpl.instantiateServiceInstance(BmpMonitoringStationImpl.java:90)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.lambda$startServices$0(ClusterSingletonServiceGroupImpl.java:648)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl$$Lambda$1061/450812025.accept(Unknown Source)&lt;br/&gt;
	 at java.util.ArrayList.forEach(ArrayList.java:1257)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.startServices(ClusterSingletonServiceGroupImpl.java:645)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.cleanupCandidateOwnershipChanged(ClusterSingletonServiceGroupImpl.java:506)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.lockedOwnershipChanged(ClusterSingletonServiceGroupImpl.java:453)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.ownershipChanged(ClusterSingletonServiceGroupImpl.java:433)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.ownershipChanged(AbstractClusterSingletonServiceProviderImpl.java:234)&lt;br/&gt;
	 at org.opendaylight.mdsal.singleton.dom.impl.DOMClusterSingletonServiceProviderImpl.ownershipChanged(DOMClusterSingletonServiceProviderImpl.java:23)&lt;br/&gt;
	 at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:44)&lt;br/&gt;
	 at org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnershipListenerActor.handleReceive(EntityOwnershipListenerActor.java:33)&lt;br/&gt;
	 at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:38)&lt;br/&gt;
	 at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)&lt;br/&gt;
	 at akka.actor.Actor.aroundReceive(Actor.scala:517)&lt;br/&gt;
	 at akka.actor.Actor.aroundReceive$(Actor.scala:515)&lt;br/&gt;
	 at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)&lt;br/&gt;
	 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590)&lt;br/&gt;
	 at akka.actor.ActorCell.invoke(ActorCell.scala:559)&lt;br/&gt;
	 at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)&lt;br/&gt;
	 at akka.dispatch.Mailbox.run(Mailbox.scala:224)&lt;br/&gt;
	 at akka.dispatch.Mailbox.exec(Mailbox.scala:234)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)&lt;br/&gt;
	 at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)&lt;/p&gt;</comment>
                            <comment id="64062" author="vpickard" created="Tue, 17 Jul 2018 12:35:08 +0000"  >&lt;p&gt;Deadlock occurred on odl3, here are the sandbox job logs. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/sandbox/vex-yul-odl-jenkins-2/controller-csit-3node-clustering-vpickard-all-oxygen/10/odl3_karaf.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/sandbox/vex-yul-odl-jenkins-2/controller-csit-3node-clustering-vpickard-all-oxygen/10/odl3_karaf.log.gz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have started the copy-logs job to save these off, will post the link when the job finishes.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/233/controller-csit-3node-clustering-vpickard-all-oxygen/10/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/builder-copy-sandbox-logs/233/controller-csit-3node-clustering-vpickard-all-oxygen/10/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="64123" author="rovarga" created="Thu, 19 Jul 2018 17:49:16 +0000"  >&lt;p&gt;This will require an internal rework of how registered services are tracked and started, along with splitting the lock into two: one protecting the EOS state and one protecting service state. That implies that services may be starting concurrently to being registered/unregistered &#8211; which means we need to track start/stop state on a per-service basis.&lt;/p&gt;

&lt;p&gt;Furtheremore we need to downgrade the EOS-keeping lock to a non-reentrant one, so we prevent accidental recursion when register would see EOS being up and attempt to start the service, rather than exiting the stack and letting the callback origin take care of that.&lt;/p&gt;</comment>
                            <comment id="64667" author="rovarga" created="Fri, 17 Aug 2018 11:58:27 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=jluhrsen&quot; class=&quot;user-hover&quot; rel=&quot;jluhrsen&quot;&gt;jluhrsen&lt;/a&gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/75169&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/75169&lt;/a&gt; is ready for testing, I think.&lt;/p&gt;</comment>
                            <comment id="64669" author="jluhrsen" created="Fri, 17 Aug 2018 15:32:09 +0000"  >&lt;p&gt;on it. running to patch tests (using gerrit keywords) and another openflow job. Links are in the gerrit, but I&apos;ll report back here when things are done.&lt;/p&gt;</comment>
                            <comment id="64673" author="jluhrsen" created="Fri, 17 Aug 2018 20:45:45 +0000"  >&lt;p&gt;all of our gate csit has passed with the stable/fluorine patch. good to go from my point of view.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="30150">NETVIRT-1315</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="14752" name="controller-csit-3node-clustering-vpickard-all-oxygen-17.txt" size="9162" author="vpickard" created="Fri, 6 Jul 2018 20:17:04 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03gjr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>