<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:14:02 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>[BGPCEP-760] Deadlock in manypeers_changecount test</title>
                <link>https://jira.opendaylight.org/browse/BGPCEP-760</link>
                <project id="10108" key="BGPCEP">bgpcep</project>
                    <description>&lt;p&gt;temporary link for sandbox(run 1 and 2): &lt;a href=&quot;https://jenkins.opendaylight.org/sandbox/job/tomas-bgpcep-csit-1node-periodic-bgp-ingest-all-oxygen/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/sandbox/job/tomas-bgpcep-csit-1node-periodic-bgp-ingest-all-oxygen/&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;First Errors from sandbox test&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
2018-02-20T10:57:38,373 | ERROR | infrautils.metrics.ThreadsWatcher-0 | ThreadsWatcher                   | 356 - org.opendaylight.infrautils.metrics-impl - 1.3.0.SNAPSHOT | Oh nose - there are 2 deadlocked threads!! :-(
2018-02-20T10:57:38,377 | ERROR | infrautils.metrics.ThreadsWatcher-0 | ThreadsWatcher                   | 356 - org.opendaylight.infrautils.metrics-impl - 1.3.0.SNAPSHOT | Deadlocked thread stack trace: opendaylight-cluster-data-notification-dispatcher-92 locked on org.opendaylight.protocol.bgp.rib.impl.ExportPolicyPeerTrackerImpl@43eaef86 (owned by epollEventLoopGroup-10-7):
	 at org.opendaylight.protocol.bgp.rib.impl.ExportPolicyPeerTrackerImpl.getPeerGroup(ExportPolicyPeerTrackerImpl.java:114)
	 at org.opendaylight.protocol.bgp.mode.spi.AbstractRouteEntry.getRoutePeerIdRole(AbstractRouteEntry.java:96)
	 at org.opendaylight.protocol.bgp.mode.impl.base.BaseAbstractRouteEntry.lambda$fillAdjRibsOut$0(BaseAbstractRouteEntry.java:187)
	 at org.opendaylight.protocol.bgp.mode.impl.base.BaseAbstractRouteEntry$$Lambda$1418/229233901.accept(Unknown Source)
	 at org.opendaylight.protocol.bgp.rib.impl.PeerExportGroupImpl.forEach(PeerExportGroupImpl.java:48)
	 at org.opendaylight.protocol.bgp.mode.impl.base.BaseAbstractRouteEntry.fillAdjRibsOut(BaseAbstractRouteEntry.java:186)
	 at org.opendaylight.protocol.bgp.mode.impl.base.BaseAbstractRouteEntry.addPathToDataStore(BaseAbstractRouteEntry.java:161)
	 at org.opendaylight.protocol.bgp.mode.impl.base.BaseAbstractRouteEntry.updateRoute(BaseAbstractRouteEntry.java:111)
	 at org.opendaylight.protocol.bgp.rib.impl.LocRibWriter.walkThrough(LocRibWriter.java:276)
	 at org.opendaylight.protocol.bgp.rib.impl.LocRibWriter.onDataTreeChanged(LocRibWriter.java:179)
	 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:166)
	 at akka.actor.Actor.aroundReceive(Actor.scala:514)
	 at akka.actor.Actor.aroundReceive$(Actor.scala:512)
	 at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:96)
	 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527)
	 at akka.actor.ActorCell.invoke(ActorCell.scala:496)
	 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;Locally I reproduced this deadlock on nitrogen with installed features:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
odl-restconf
odl-bgpcep-bgp
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I added scripts for quick config.&lt;br/&gt;
They should be run from integration/test project in directory tools/fastbgp&lt;br/&gt;
First &quot;configureall.py&quot; is for setup bgp to accept connection from our 10 peers (127.0.0.2-127.0.0.11)&lt;br/&gt;
Second &quot;manypeersibgp.sh&quot; is to start play.py itself&lt;/p&gt;

&lt;p&gt;Almost immediately after start there is deadlock occuring, from which odl doesn&apos;t recover even after killing the script.&lt;/p&gt;

&lt;p&gt;I am adding deadlock.log from yourkit profiler, and communication from wireshark. There&apos;s some problem with open message communication between the script and odl.&lt;/p&gt;

&lt;p&gt;I also added countroutes.sh which is restconf script to get the number of routes which went through. pretty easy to spot when deadlock occured with this.&lt;/p&gt;</description>
                <environment></environment>
        <key id="29244">BGPCEP-760</key>
            <summary>Deadlock in manypeers_changecount test</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="10004" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Verified</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="cdgasparini">Claudio David Gasparini</assignee>
                                    <reporter username="tomas.markovic">Tomas Markovic</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Feb 2018 14:47:14 +0000</created>
                <updated>Wed, 18 Apr 2018 07:59:15 +0000</updated>
                            <resolved>Thu, 1 Mar 2018 08:59:13 +0000</resolved>
                                    <version>Nitrogen</version>
                    <version>Carbon</version>
                    <version>Oxygen</version>
                                    <fixVersion>Nitrogen</fixVersion>
                    <fixVersion>Carbon</fixVersion>
                    <fixVersion>Oxygen</fixVersion>
                                    <component>BGP</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="61212" author="cdgasparini" created="Mon, 26 Feb 2018 13:17:44 +0000"  >&lt;p&gt;carbon &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/68665/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/68665/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;nitrogen &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/68667/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/68667/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;master&#160;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/68648/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/68648/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="61213" author="cdgasparini" created="Mon, 26 Feb 2018 13:18:15 +0000"  >&lt;p&gt;Hi, Tomas please confirm fix worked as expected for all version and close the bug.&lt;/p&gt;

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

&lt;p&gt;Regards,&#160;&lt;/p&gt;</comment>
                            <comment id="61333" author="vorburger" created="Wed, 28 Feb 2018 10:07:27 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=tomas.markovic&quot; class=&quot;user-hover&quot; rel=&quot;tomas.markovic&quot;&gt;tomas.markovic&lt;/a&gt; and &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=cdgasparini&quot; class=&quot;user-hover&quot; rel=&quot;cdgasparini&quot;&gt;cdgasparini&lt;/a&gt; I&apos;m glad that&#160;&lt;a href=&quot;https://jira.opendaylight.org/browse/INFRAUTILS-21&quot; title=&quot;Automatic deadlock detection logging&quot; class=&quot;issue-link&quot; data-issue-key=&quot;INFRAUTILS-21&quot;&gt;&lt;del&gt;INFRAUTILS-21&lt;/del&gt;&lt;/a&gt; is adding value for you!&lt;/p&gt;

&lt;p&gt;PS FYI also&#160;&lt;a href=&quot;https://jira.opendaylight.org/browse/INFRAUTILS-22&quot; title=&quot;Automatic threads over threshold detection and logging&quot; class=&quot;issue-link&quot; data-issue-key=&quot;INFRAUTILS-22&quot;&gt;&lt;del&gt;INFRAUTILS-22&lt;/del&gt;&lt;/a&gt; and&#160;&lt;a href=&quot;https://jira.opendaylight.org/browse/INFRAUTILS-29&quot; title=&quot;CSIT hit infrautils.metrics.ThreadsWatcher limit of 1000 threads&quot; class=&quot;issue-link&quot; data-issue-key=&quot;INFRAUTILS-29&quot;&gt;&lt;del&gt;INFRAUTILS-29&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="14421" name="configureall.py" size="1737" author="tomas.markovic" created="Tue, 20 Feb 2018 14:37:51 +0000"/>
                            <attachment id="14422" name="countroutes.sh" size="208" author="tomas.markovic" created="Tue, 20 Feb 2018 14:56:36 +0000"/>
                            <attachment id="14418" name="deadlock.log" size="10506" author="tomas.markovic" created="Tue, 20 Feb 2018 14:44:47 +0000"/>
                            <attachment id="14419" name="manypeers_changecount.pcapng" size="2404896" author="tomas.markovic" created="Tue, 20 Feb 2018 14:44:32 +0000"/>
                            <attachment id="14420" name="manypeersibgp.sh" size="176" author="tomas.markovic" created="Tue, 20 Feb 2018 14:37:51 +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|i03akf:</customfieldvalue>

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