<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:48:25 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>[YANGIDE-5] No editor view error marker for invalid recursive container definition.</title>
                <link>https://jira.opendaylight.org/browse/YANGIDE-5</link>
                <project id="10187" key="YANGIDE">yangide</project>
                    <description>&lt;p&gt;Most syntactical and semantic errors are properly noticed and render proper editor view markers.&lt;/p&gt;

&lt;p&gt;I accidentally discovered an odd example that is syntactically correct, but semantically wrong, and the Yang parser fails to compile it, but it doesn&apos;t render an editor view error marker.&lt;/p&gt;

&lt;p&gt;In particular, a yang module with the following pattern will do this:&lt;br/&gt;
-----------------&lt;br/&gt;
    grouping machine-def {&lt;br/&gt;
    	container factory &lt;/p&gt;
{
    	    uses baz:machine-def;
    	}
&lt;p&gt;    	container factory2 &lt;/p&gt;
{
    	    uses machine-def; // line 24
    	}
&lt;p&gt;    }&lt;br/&gt;
----------------&lt;/p&gt;

&lt;p&gt;This produces the following stack trace in the problems view, but no editor marker:&lt;br/&gt;
---------------------&lt;br/&gt;
yang-to-sources: Unable to parse yang files from /home/opnfv/workspace-yangidetest/yangproject2/src/main/yang (org.opendaylight.yangtools:yang-maven-plugin:1.0.0-SNAPSHOT:generate-sources:generate-sources:generate-sources)&lt;/p&gt;

&lt;p&gt;org.apache.maven.plugin.MojoExecutionException: yang-to-sources: Unable to parse yang files from /home/opnfv/workspace-yangidetest/yangproject2/src/main/yang&lt;br/&gt;
	at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.processYang(YangToSourcesProcessor.java:200)&lt;br/&gt;
	at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.execute(YangToSourcesProcessor.java:93)&lt;br/&gt;
	at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:116)&lt;br/&gt;
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:331)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1362)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1360)&lt;br/&gt;
	at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:52)&lt;br/&gt;
	at org.opendaylight.yangide.m2e.yang.YangBuildParticipant.build(YangBuildParticipant.java:97)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:137)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:172)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1$1.call(MavenBuilder.java:115)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1.call(MavenBuilder.java:105)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:86)&lt;br/&gt;
	at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:200)&lt;br/&gt;
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)&lt;br/&gt;
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)&lt;br/&gt;
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)&lt;br/&gt;
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)&lt;br/&gt;
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)&lt;br/&gt;
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)&lt;br/&gt;
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)&lt;br/&gt;
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)&lt;br/&gt;
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)&lt;br/&gt;
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)&lt;br/&gt;
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)&lt;br/&gt;
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)&lt;br/&gt;
Caused by: org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException: Grouping &apos;(&lt;a href=&quot;http://acme.example.com/system?revision=2007-06-09)machine-def&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://acme.example.com/system?revision=2007-06-09)machine-def&lt;/a&gt;&apos; was not resolved. &lt;span class=&quot;error&quot;&gt;&amp;#91;at META-INF/yang/acme-system.yang:24:9&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException.throwIf(InferenceException.java:47)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.UsesStatementImpl$Definition$1.prerequisiteFailed(UsesStatementImpl.java:106)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.failModifier(ModifierImpl.java:91)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext.failModifiers(SourceSpecificContext.java:290)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.addSourceExceptions(BuildGlobalContext.java:214)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.completePhaseActions(BuildGlobalContext.java:283)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:175)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:105)&lt;br/&gt;
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:123)&lt;br/&gt;
	at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.processYang(YangToSourcesProcessor.java:169)&lt;br/&gt;
	... 35 more&lt;br/&gt;
---------------------&lt;/p&gt;

&lt;p&gt;Note that in the code sample, the &quot;machine-def&quot; grouping is RECURSIVELY referenced, which can&apos;t possibly be valid.&lt;/p&gt;

&lt;p&gt;Obviously a contrived scenario, but also wrong.  It needs to produce a proper error marker.&lt;/p&gt;

&lt;p&gt;The key portion of the stacktrace is the following:&lt;br/&gt;
---------------&lt;br/&gt;
Caused by: org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException: Grouping &apos;(&lt;a href=&quot;http://acme.example.com/system?revision=2007-06-09)machine-def&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://acme.example.com/system?revision=2007-06-09)machine-def&lt;/a&gt;&apos; was not resolved. &lt;span class=&quot;error&quot;&gt;&amp;#91;at META-INF/yang/acme-system.yang:24:9&amp;#93;&lt;/span&gt;&lt;br/&gt;
-----------------&lt;/p&gt;

&lt;p&gt;Line 24 in the code sample is marked, showing what line should get the error marker.  It would be great if the error could be more intelligent, knowing that it was inside the definition of the mentioned grouping, so the error could refer to the fact that you can&apos;t reference a component from inside the component.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="27224">YANGIDE-5</key>
            <summary>No editor view error marker for invalid recursive container definition.</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="1" iconUrl="https://jira.opendaylight.org/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="dkarr">David M. Karr</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 May 2016 22:46:34 +0000</created>
                <updated>Thu, 19 Oct 2017 21:25:09 +0000</updated>
                                            <version>unspecified</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="54953" author="davidmichaelkarr@gmail.com" created="Thu, 5 May 2016 23:01:18 +0000"  >&lt;p&gt;Curiously, if at this point I go to some random line in the file and add &quot;x&quot; to the end of a line, it immediately puts a red marker on that line, and if I then remove the &quot;x&quot;, that error marker goes away, and a new error marker appears on line 24, saying &quot;Grouping &apos;machine-def&apos; not found&quot;, exactly what it should have said in the first place (again, unless we can&apos;t make the message a little smarter).&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </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>5849</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=5849]]></customfieldvalue>

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

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