<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:07 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-723] ODL fails to mount device - shows empty list of unsatisfied imports</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-723</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;when mounting some types of device I&apos;m seeing the mount fail with &quot;No more sources for schema context&apos;.&lt;/p&gt;

&lt;p&gt;I see this in the logs:&lt;/p&gt;

&lt;p&gt;2016-11-29 17:39:00,580 | DEBUG | ssing-executor-9 | NetconfDevice                    | 315 - org.opendaylight.netconf.sal-netconf-connector - 1.4.1.Boron-SR1 | RemoteDevice&lt;/p&gt;
{3850}: Unable to map any source identifiers to a capability reported by device : []&lt;br/&gt;
2016-11-29 17:39:00,580 | WARN  | ssing-executor-9 | NetconfDevice                    | 315 - org.opendaylight.netconf.sal-netconf-connector - 1.4.1.Boron-SR1 | RemoteDevice{3850}
&lt;p&gt;: Unable to build schema context, unsatisfied imports {}, will reattempt with resolved only&lt;br/&gt;
2016-11-29 17:39:00,581 | DEBUG | ssing-executor-9 | NetconfDevice                    | 315 - org.opendaylight.netconf.sal-netconf-connector - 1.4.1.Boron-SR1 | {}: Unable to build schema context, unsatisfied imports {}, will reattempt with resolved only&lt;br/&gt;
SchemaResolutionException{unsatisfiedImports={}}&lt;br/&gt;
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.util.concurrent.ReflectiveExceptionMapper.newWithCause(ReflectiveExceptionMapper.java:31)&lt;span class=&quot;error&quot;&gt;&amp;#91;47:org.opendaylight.yangtools.util:1.0.1.Boron-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.util.concurrent.ExceptionMapper.apply(ExceptionMapper.java:87)&lt;span class=&quot;error&quot;&gt;&amp;#91;47:org.opendaylight.yangtools.util:1.0.1.Boron-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.util.concurrent.ExceptionMapper.apply(ExceptionMapper.java:37)&lt;span class=&quot;error&quot;&gt;&amp;#91;47:org.opendaylight.yangtools.util:1.0.1.Boron-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.Futures$MappingCheckedFuture.mapException(Futures.java:1809)&lt;span class=&quot;error&quot;&gt;&amp;#91;44:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.AbstractCheckedFuture.checkedGet(AbstractCheckedFuture.java:85)&lt;span class=&quot;error&quot;&gt;&amp;#91;44:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice$SchemaSetup.setUpSchema(NetconfDevice.java:452)&lt;span class=&quot;error&quot;&gt;&amp;#91;315:org.opendaylight.netconf.sal-netconf-connector:1.4.1.Boron-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice$SchemaSetup.run(NetconfDevice.java:428)&lt;span class=&quot;error&quot;&gt;&amp;#91;315:org.opendaylight.netconf.sal-netconf-connector:1.4.1.Boron-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_111&amp;#93;&lt;/span&gt;&lt;br/&gt;
Caused by: java.lang.NullPointerException&lt;/p&gt;


&lt;p&gt;So it seems that ODL thinks it has unsatisfied imports, but that the list of such imports is empty.&lt;/p&gt;

&lt;p&gt;any idea what&apos;s going on here?&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="23143">YANGTOOLS-723</key>
            <summary>ODL fails to mount device - shows empty list of unsatisfied imports</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="rovarga">Robert Varga</assignee>
                                    <reporter username="giheron@cisco.com">Giles Heron</reporter>
                        <labels>
                    </labels>
                <created>Tue, 29 Nov 2016 20:50:41 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:56 +0000</updated>
                            <resolved>Wed, 8 Mar 2017 18:09:17 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="44277" author="giheron@cisco.com" created="Tue, 29 Nov 2016 23:27:34 +0000"  >&lt;p&gt;I checked, and I see the same behaviour with Beryllium-SR4 but Lithium-SR4 works ok.  So I guess this is something to do with the stricter YANG checking in Beryllium?&lt;/p&gt;</comment>
                            <comment id="44278" author="tcere" created="Wed, 30 Nov 2016 08:05:40 +0000"  >&lt;p&gt;The full stack trace would be nice since it&apos;s cut off at the interesting part and you cant see the cause of the NPE.&lt;/p&gt;</comment>
                            <comment id="44279" author="giheron@cisco.com" created="Wed, 30 Nov 2016 15:04:36 +0000"  >&lt;p&gt;I&apos;ve deleted most of the log to leave the stuff potentially relevant to the error.&lt;/p&gt;</comment>
                            <comment id="44290" author="giheron@cisco.com" created="Wed, 30 Nov 2016 15:04:36 +0000"  >&lt;p&gt;Attachment karaf.log has been added with description: last couple of hundred lines of the log&lt;/p&gt;</comment>
                            <comment id="44280" author="jmorvay@cisco.com" created="Tue, 6 Dec 2016 09:44:07 +0000"  >&lt;p&gt;Hi Giles,&lt;/p&gt;

&lt;p&gt;I&apos;ve looked at the log and this behavior is indeed strange. Can you please also provide yang models, so I can reproduce this?&lt;/p&gt;</comment>
                            <comment id="44281" author="giheron@cisco.com" created="Tue, 6 Dec 2016 11:47:04 +0000"  >&lt;p&gt;will mail you a zip of the YANG models (comes to 1.4MB even as a ZIP so can&apos;t send it here).&lt;/p&gt;</comment>
                            <comment id="44282" author="rovarga" created="Thu, 8 Dec 2016 10:59:10 +0000"  >&lt;p&gt;This part has been omitted from original report:&lt;/p&gt;

&lt;p&gt;Caused by: java.lang.NullPointerException&lt;br/&gt;
	at org.opendaylight.yangtools.yang.common.QName.create(QName.java:211)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils.typeEffectiveSchemaPath(TypeUtils.java:209)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.UnsignedIntegerTypeEffectiveStatementImpl.&amp;lt;init&amp;gt;(UnsignedIntegerTypeEffectiveStatementImpl.java:33)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeStatementImpl$Definition.createEffective(TypeStatementImpl.java:188)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeStatementImpl$Definition.createEffective(TypeStatementImpl.java:82)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.buildEffective(StatementContextBase.java:445&lt;/p&gt;

&lt;p&gt;NPE is caused by QName.create() being called with a null base, which in turn points to TypeUtils doing:&lt;/p&gt;

&lt;p&gt;        final SchemaPath path = stmtCtx.getSchemaPath().get();&lt;br/&gt;
        final QName qname = stmtCtx.getFromNamespace(QNameCacheNamespace.class,&lt;br/&gt;
            QName.create(path.getParent().getLastComponent()&lt;/p&gt;

&lt;p&gt;In this path.getParent() is YangInstanceIdentifier.EMPTY, which is the only case where getLastComponent() returns null.&lt;/p&gt;

&lt;p&gt;The stack classes involved are pointing at an uint typedef or leaf. Models need to be analyzed.&lt;/p&gt;

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

&lt;p&gt;will report more information so we can track it down.&lt;/p&gt;</comment>
                            <comment id="44283" author="rovarga" created="Thu, 8 Dec 2016 12:13:23 +0000"  >&lt;p&gt;Thinking about this a bit more, the probable cause for this is a free-standing &apos;type&apos; statement &amp;#8211; which would constitute invalid yang.&lt;/p&gt;</comment>
                            <comment id="44284" author="vzelcamo@cisco.com" created="Thu, 8 Dec 2016 12:53:40 +0000"  >&lt;p&gt;(In reply to Giles Heron from comment #5)&lt;br/&gt;
&amp;gt; will mail you a zip of the YANG models (comes to 1.4MB even as a ZIP so&lt;br/&gt;
&amp;gt; can&apos;t send it here).&lt;/p&gt;

&lt;p&gt;Hi Giles, send the models to Peter Kajsa or Igor Foltin (Yang team). Thanks.&lt;/p&gt;</comment>
                            <comment id="44285" author="giheron@cisco.com" created="Thu, 8 Dec 2016 13:24:22 +0000"  >&lt;p&gt;will do once I have the models.   For this one I need access to a real cisco switch that has the issue (7267 doesn&apos;t occur with CSR1Kv but only with a real switch).  Kevin/Jason have the switches so I need to get hold of them once they&apos;re in today.&lt;/p&gt;</comment>
                            <comment id="44286" author="rovarga" created="Thu, 8 Dec 2016 13:50:42 +0000"  >&lt;p&gt;Furthermore, this is a side-effect of when and how we validate sub-statements &amp;#8211; which happens only after the parent has been fully declared.&lt;/p&gt;

&lt;p&gt;Hence I can do&lt;/p&gt;

&lt;p&gt;container foo {&lt;br/&gt;
    type uint8;&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;and while it will blow up, it will do so very late in processing, at which point someone may have asked for the effective statement.&lt;/p&gt;

&lt;p&gt;That leads to TypeEffectiveStatementImpl being invoked in a context, which the implementation does not expect (hey, &apos;type&apos; can occur only nested in a different statement, hence it&apos;s parent path is non-empty... kaboom).&lt;/p&gt;

&lt;p&gt;BUG-7037 tracks an improvement to lookups, which means that the fact that &apos;type&apos; statement has no place under container the very first time we attempt to start to define it, throwing a SourceException pinpointing the offender &amp;#8211; allowing NETCONF to properly exclude it (and hence fix this particular issue).&lt;/p&gt;</comment>
                            <comment id="44287" author="rovarga" created="Wed, 14 Dec 2016 13:38:45 +0000"  >&lt;p&gt;Workaround patch for parser to add the offender identification &amp;#8211; that should be sufficient for NETCONF to prune the offender. The root cause needs to be still investigated.&lt;/p&gt;

&lt;p&gt;master: &lt;a href=&quot;https://git.opendaylight.org/gerrit/49351&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/49351&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44288" author="rovarga" created="Thu, 15 Dec 2016 14:10:57 +0000"  >&lt;p&gt;boron: &lt;a href=&quot;https://git.opendaylight.org/gerrit/49433&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/49433&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44289" author="ifoltin" created="Mon, 19 Dec 2016 09:46:05 +0000"  >&lt;p&gt;Hi Giles, I tested the models you provided and the only problem came up with the model ned-switching-devs@2016-04-20.&lt;/p&gt;

&lt;p&gt;deviation /ned:native/ned:class-map/ned:match/ned:access-group/ned:index {&lt;br/&gt;
    deviate replace {&lt;br/&gt;
        type uint32 &lt;/p&gt;
{
            range &quot;1..2799&quot;;
            tailf:info &quot;&amp;lt;1-2799&amp;gt;;;Access list index&quot;;
        }
&lt;p&gt;    }&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;The issue was that the type uint32 statement had an empty parent.&lt;br/&gt;
It is a problem in yang parser code, so I will open a new bug for that.&lt;/p&gt;</comment>
                            <comment id="44291" author="giheron@cisco.com" created="Wed, 8 Mar 2017 18:08:47 +0000"  >&lt;p&gt;Attachment short.log has been added with description: ODL log (starting with the instance data)&lt;/p&gt;</comment>
                            <comment id="44292" author="giheron@cisco.com" created="Wed, 8 Mar 2017 18:09:17 +0000"  >&lt;p&gt;Attachment openconfig-interfaces@2015-11-20.yang has been added with description: YANG model with missing instance data&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13067" name="karaf.log" size="78307" author="giheron@cisco.com" created="Wed, 30 Nov 2016 15:04:36 +0000"/>
                            <attachment id="13069" name="openconfig-interfaces@2015-11-20.yang" size="25840" author="giheron@cisco.com" created="Wed, 8 Mar 2017 18:09:17 +0000"/>
                            <attachment id="13068" name="short.log" size="726587" author="giheron@cisco.com" created="Wed, 8 Mar 2017 18:08:47 +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>7267</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=7267]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10344"><![CDATA[Boron-3]]></customfieldvalue>

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

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