<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:52:46 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>[CONTROLLER-336] SimpleForwardingImpl hits NPE when .frm member is null and new host is discovered</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-336</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;&amp;lt;flaviof&amp;gt; hi folks. I&apos;m trying latest integration build, and hit an exception: &lt;a href=&quot;https://gist.github.com/eba571a29abeaad5b914&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gist.github.com/eba571a29abeaad5b914&lt;/a&gt;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; looking at the trace: 2014-04-17 18:29:50.840 EDT &lt;span class=&quot;error&quot;&gt;&amp;#91;Thread-22&amp;#93;&lt;/span&gt; ERROR o.o.c.h.internal.HostTracker - Exception on new host notification&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; java.lang.NullPointerException: null&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; at org.opendaylight.controller.samples.simpleforwarding.internal.SimpleForwardingImpl.installPerHostRules(SimpleForwardingImpl.java:653) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; at org.opendaylight.controller.samples.simpleforwarding.internal.SimpleForwardingImpl.notifyHTClient(SimpleForwardingImpl.java:840) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; at org.opendaylight.controller.hosttracker.internal.HostTracker.notifyHostLearnedOrRemoved(HostTracker.java:568) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; at org.opendaylight.controller.hosttracker.internal.HostTracker.access$600(HostTracker.java:103) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; at org.opendaylight.controller.hosttracker.internal.HostTracker$NotifyHostThread.run(HostTracker.java:536) &lt;span class=&quot;error&quot;&gt;&amp;#91;bundlefile:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; is it reasonable to assume that the &apos;frm&apos; attribute in the SimpleForwardingImpl object can be null?&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; Madhu: this looks like code you wrote back in Mar/13... any ideas?&lt;br/&gt;
 &amp;lt;aboch&amp;gt; flaviof: since the dependency on frm is not strict (you can see it in simple forwarding Activator), yes, there can be a time window when SF is brought up until frm comes up, during which frm reference is null&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; interesting. I see: &lt;a href=&quot;https://www.dropbox.com/s/288q5amswsjhgm8/Screenshot%202014-04-17%2018.51.41.png&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.dropbox.com/s/288q5amswsjhgm8/Screenshot%202014-04-17%2018.51.41.png&lt;/a&gt;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; thanks Alessandro&lt;br/&gt;
 &amp;lt;aboch&amp;gt; I am not sure though why SF dependencies on frm and ht were not made strict&lt;br/&gt;
 &amp;lt;aboch&amp;gt; I think they should be&lt;br/&gt;
 &amp;lt;aboch&amp;gt; np&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; is this something worth pursuing at all?&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; I&apos;m not familiar on the things are worth documenting/fixing. specially on the simpleFwd code&lt;br/&gt;
 &amp;lt;aboch&amp;gt; SF is in samples, sample apps. It installs (*, /32) entries for reaching the newly discovered hosts.&lt;br/&gt;
 &amp;lt;aboch&amp;gt; It allows a mininet pingall to work out of the box&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; gotcha.&lt;br/&gt;
 &amp;lt;aboch&amp;gt; feel free to propose  a patch&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; all right!&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; Seems simple enough. I will give it a try.&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; aboch: should start by opening a bug in bugzilla and assign it to me?&lt;br/&gt;
 &amp;lt;aboch&amp;gt; yeah&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; aboch: will do&lt;br/&gt;
 &amp;lt;aboch&amp;gt; and thanks&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; aboch: np!&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;br/&gt;
URL: &lt;a href=&quot;https://gist.github.com/anonymous/eba571a29abeaad5b914&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gist.github.com/anonymous/eba571a29abeaad5b914&lt;/a&gt;&lt;/p&gt;</environment>
        <key id="24890">CONTROLLER-336</key>
            <summary>SimpleForwardingImpl hits NPE when .frm member is null and new host is discovered</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <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="flavio@flaviof.com">Flavio Fernandes</assignee>
                                    <reporter username="flavio@flaviof.com">Flavio Fernandes</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Apr 2014 23:05:18 +0000</created>
                <updated>Tue, 5 May 2015 15:17:16 +0000</updated>
                            <resolved>Tue, 5 May 2015 15:17:16 +0000</resolved>
                                    <version>Helium</version>
                                                    <component>adsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="48034" author="flavio@flaviof.com" created="Thu, 17 Apr 2014 23:05:18 +0000"  >&lt;p&gt;Attachment file_773.txt has been added with description: &lt;a href=&quot;https://gist.github.com/anonymous/eba571a29abeaad5b914&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gist.github.com/anonymous/eba571a29abeaad5b914&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="48030" author="flavio@flaviof.com" created="Fri, 18 Apr 2014 00:42:15 +0000"  >&lt;p&gt;This is actually rather simple to reproduce.&lt;br/&gt;
Using virtualization, distrib.&lt;/p&gt;

&lt;p&gt;1) start mininet as follows:&lt;/p&gt;

&lt;p&gt;sudo mn --topo single,3 --mac --switch ovsk --controller remote,ip=172.16.150.1&lt;/p&gt;

&lt;p&gt;2) from mininet prompt, start ping from h1 to h2:&lt;/p&gt;

&lt;p&gt;mininet&amp;gt; h1 ping h2&lt;/p&gt;

&lt;p&gt;3) After h1 ping h2 command started, launch ODL on remote host:&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;dhcp-89-147:opendaylight&amp;#93;&lt;/span&gt;$ pwd&lt;br/&gt;
/Users/ffernand/ODL/projects/integration.git/distributions/virtualization/target/distributions-virtualization-0.1.2-SNAPSHOT-osgipackage/opendaylight&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;dhcp-89-147:opendaylight&amp;#93;&lt;/span&gt;$ ./run.sh -virt ovsdb&lt;/p&gt;</comment>
                            <comment id="48031" author="flavio@flaviof.com" created="Fri, 18 Apr 2014 01:11:28 +0000"  >
&lt;p&gt;I tried the suggested change from Alessandro (below). It did not help&lt;br/&gt;
with this issue. So, I will go back to my original plan of not letting the&lt;br/&gt;
.rulesDB member be out of sync with .frm&lt;/p&gt;

&lt;p&gt;==&lt;/p&gt;

&lt;p&gt; &amp;lt;flaviof&amp;gt; aboch: Is the ruesDB tightly coupled with the .frm?&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; s/ruesDB/rulesDB&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; in other words, should we avoid adding/removing entries to rulesDB if the frm == null?&lt;br/&gt;
 &amp;lt;aboch&amp;gt; I think the purpose of that map is to store the flows succesfully installed&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Madhu is now known as Madhu_offline&lt;br/&gt;
 &amp;lt;aboch&amp;gt; I think it is fair to make simple forw strictly dependent on frm.  If you can consistently reporduce the issue, have you tried whether&lt;br/&gt;
 &amp;lt;aboch&amp;gt;              c.add(createContainerServiceDependency(containerName).setService(&lt;br/&gt;
 &amp;lt;aboch&amp;gt;                      IForwardingRulesManager.class).setCallbacks(&lt;br/&gt;
 &amp;lt;aboch&amp;gt;                      &quot;setForwardingRulesManager&quot;, &quot;unsetForwardingRulesManager&quot;)&lt;br/&gt;
 &amp;lt;aboch&amp;gt; -                    .setRequired(false));&lt;br/&gt;
 &amp;lt;aboch&amp;gt; +                    .setRequired(true));&lt;br/&gt;
 &amp;lt;aboch&amp;gt; fixes the issue /&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; oh... that is good&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; I will try reproducing it&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; i thin the way I did it was to have ping going in mini net before calling &apos;run.sh&apos;&lt;br/&gt;
 &amp;lt;flaviof&amp;gt; I&apos;ll try your proposed change once I can consistently reproduce it.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="48032" author="flavio@flaviof.com" created="Fri, 18 Apr 2014 02:12:47 +0000"  >&lt;p&gt;(In reply to ffernandes from comment #2)&lt;br/&gt;
&amp;gt; I tried the suggested change from Alessandro (below). It did not help&lt;br/&gt;
&amp;gt; with this issue. So, I will go back to my original plan of not letting the&lt;br/&gt;
&amp;gt; .rulesDB member be out of sync with .frm&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; ==&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt;  &amp;lt;flaviof&amp;gt; aboch: Is the ruesDB tightly coupled with the .frm?&lt;br/&gt;
&amp;gt;  &amp;lt;flaviof&amp;gt; s/ruesDB/rulesDB&lt;br/&gt;
&amp;gt;  &amp;lt;flaviof&amp;gt; in other words, should we avoid adding/removing entries to&lt;br/&gt;
&amp;gt; rulesDB if the frm == null?&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt; I think the purpose of that map is to store the flows succesfully&lt;br/&gt;
&amp;gt; installed&lt;br/&gt;
&amp;gt;  * Madhu is now known as Madhu_offline&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt; I think it is fair to make simple forw strictly dependent on frm. &lt;br/&gt;
&amp;gt; If you can consistently reporduce the issue, have you tried whether&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt;             &lt;br/&gt;
&amp;gt; c.add(createContainerServiceDependency(containerName).setService(&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt;                      IForwardingRulesManager.class).setCallbacks(&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt;                      &quot;setForwardingRulesManager&quot;,&lt;br/&gt;
&amp;gt; &quot;unsetForwardingRulesManager&quot;)&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt; -                    .setRequired(false));&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt; +                    .setRequired(true));&lt;br/&gt;
&amp;gt;  &amp;lt;aboch&amp;gt; fixes the issue /&lt;br/&gt;
&amp;gt;  &amp;lt;flaviof&amp;gt; oh... that is good&lt;br/&gt;
&amp;gt;  &amp;lt;flaviof&amp;gt; I will try reproducing it&lt;br/&gt;
&amp;gt;  &amp;lt;flaviof&amp;gt; i thin the way I did it was to have ping going in mini net before&lt;br/&gt;
&amp;gt; calling &apos;run.sh&apos;&lt;br/&gt;
&amp;gt;  &amp;lt;flaviof&amp;gt; I&apos;ll try your proposed change once I can consistently reproduce&lt;br/&gt;
&amp;gt; it.&lt;/p&gt;


&lt;p&gt;Oops... my bad. Alessandro&apos;s proposed fix DID address the problem. I made a mistake and incorrectly concluded it did not.&lt;/p&gt;</comment>
                            <comment id="48033" author="carolsand@gmail.com" created="Tue, 5 May 2015 15:17:16 +0000"  >&lt;p&gt;This bug is part of the project to Move all ADSAL associated component bugs to ADSAL.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13369" name="file_773.txt" size="16894" author="flavio@flaviof.com" created="Thu, 17 Apr 2014 23:05:18 +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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>773</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=773]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10304"><![CDATA[Low]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02jrr:</customfieldvalue>

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