<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:33 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>[YANGTOOLS-876] Submodule with augment from another module throws NullPointerException</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-876</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;ietf-ipv6-router-advertisements submodule which augments ipv6 container from ietf-ip, causes build to fail with&#160;NullPointerException:&lt;br/&gt;
&#160; &#160; &#160; &#160;Target type not yet generated: container ipv6&lt;/p&gt;

&lt;p&gt;see attachment for stack-trace.&lt;/p&gt;

&lt;p&gt;To reproduce this error use patch &lt;a href=&quot;https://gerrit.fd.io/r/#/c/11658/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.fd.io/r/#/c/11658/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The patch contains a lot of models, because it is hard to reproduce the bug, but it is definitely caused by submodule hc2vpp-ietf-ipv6-router-advertisements and its augmentation for ipv6.&lt;/p&gt;

&lt;p&gt;If this module is changed to a regular module and used as import instead of include then everything works.&lt;/p&gt;

&lt;p&gt;There are two cases, where the bug can be observed:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;first one shows the build failure (Steps 1 and 2)&#160;&lt;/li&gt;
	&lt;li&gt;second shows the same error but on run-time (steps 3 - 6),&lt;br/&gt;
by deleting three unrelated models (dhcp@2018-01-03.yang, sfc-ioam-sb-pot@2017-01-12.yang, vpp-nsh@2017-03-15.yang) build succeeds but run-time fails.&lt;/li&gt;
&lt;/ul&gt;


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

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

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="29762">YANGTOOLS-876</key>
            <summary>Submodule with augment from another module throws NullPointerException</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="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="mcmarada">Michal Cmarada</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Apr 2018 14:33:22 +0000</created>
                <updated>Mon, 16 Apr 2018 14:57:18 +0000</updated>
                            <resolved>Mon, 16 Apr 2018 14:57:18 +0000</resolved>
                                    <version>1.2.2</version>
                    <version>1.1.2</version>
                    <version>2.0.3</version>
                                    <fixVersion>1.1.4</fixVersion>
                    <fixVersion>1.2.3</fixVersion>
                    <fixVersion>2.0.4</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="62384" author="rovarga" created="Thu, 12 Apr 2018 20:39:05 +0000"  >&lt;p&gt;It would seem this is related to ModuleDependencyInfo.sort() &#8211; which would explain why it is hard to replicate. Can you confirm if the error is suppressed when hc2vpp-ietf-ipv6-unicast-routing imports ietf-ip?&lt;/p&gt;</comment>
                            <comment id="62385" author="rovarga" created="Thu, 12 Apr 2018 22:48:26 +0000"  >&lt;p&gt;Also, can you capture the modules being passed as input and update the patch to re-create the problem?&lt;/p&gt;</comment>
                            <comment id="62386" author="rovarga" created="Thu, 12 Apr 2018 22:49:19 +0000"  >&lt;p&gt;Furthermore, if there is a FD.io issue depending on this, can you link it in as being blocked by this issue?&lt;/p&gt;</comment>
                            <comment id="62397" author="mcmarada" created="Fri, 13 Apr 2018 07:31:07 +0000"  >&lt;p&gt;yes, when I added ietf-ip to parent module both build and runtime errors disappeared. Will do some more tests and if I hit the bug again I will report it here.&lt;/p&gt;</comment>
                            <comment id="62398" author="mcmarada" created="Fri, 13 Apr 2018 08:16:15 +0000"  >&lt;p&gt;Not sure if you had this in mind, but i found a warning that the submodule was not found in input files:&lt;/p&gt;

&lt;p&gt;1st case - build failure&lt;br/&gt;
&lt;b&gt;14:32:25&lt;/b&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;WARNING&amp;#93;&lt;/span&gt; Submodule SubmoduleEffectiveStatementImpl{name=hc2vpp-ietf-ipv6-router-advertisements, namespace=urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing, revision=2018-03-13, prefix=v6ur, yangVersion=1.1} not found in input files&lt;br/&gt;
2nd case - fail on runtime (warning is from build log)&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;WARNING&amp;#93;&lt;/span&gt; Submodule SubmoduleEffectiveStatementImpl{name=hc2vpp-ietf-ipv6-router-advertisements, namespace=urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing, revision=2018-03-13, prefix=v6ur, yangVersion=1.1} not found in input files&lt;br/&gt;
I can see this warning in both cases when it fails on build and even in runtime.&lt;/p&gt;</comment>
                            <comment id="62442" author="mcmarada" created="Mon, 16 Apr 2018 09:13:04 +0000"  >&lt;p&gt;added output for modules from List&amp;lt;Module&amp;gt; sort(final Module... modules) method. see modules.txt&lt;/p&gt;</comment>
                            <comment id="62444" author="rovarga" created="Mon, 16 Apr 2018 10:28:17 +0000"  >&lt;p&gt;The problem is we are inlining statements from the submodule, but not the import statement. This leads to the module being not tracked as depending on ietf-ip and being processed before ietf-ip. Inlining the import statement should fix this issue.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="14603" name="Nullpointer.txt" size="3223" author="mcmarada" created="Thu, 12 Apr 2018 13:56:31 +0000"/>
                            <attachment id="14612" name="modules.txt" size="20603" author="mcmarada" created="Mon, 16 Apr 2018 09:04:56 +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|i03dan:</customfieldvalue>

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