<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:56:09 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-1434] Building SchemaContext fails when augmenting submodel data</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1434</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;The problem arises if the submodel augments the list with unique leafs to another submodel node.&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;
submodule test-bug {
&#160; yang-version 1.1;
&#160; belongs-to main-module {
&#160; &#160; prefix mm;
&#160; }

  augment &lt;span class=&quot;code-quote&quot;&gt;&quot;/mm:services&quot;&lt;/span&gt; {
&#160; &#160; container plan-notifications {
&#160; &#160; &#160; list subscription {
&#160; &#160; &#160; &#160; key name;
&#160; &#160; &#160; &#160; unique &lt;span class=&quot;code-quote&quot;&gt;&quot;service-type component-type&quot;&lt;/span&gt;;
&#160; &#160; &#160; &#160; leaf name {
&#160; &#160; &#160; &#160; &#160; type string;
&#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; leaf service-type {
&#160; &#160; &#160; &#160; &#160; type string;
&#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; leaf component-type {
&#160; &#160; &#160; &#160; &#160; type string;
&#160; &#160; &#160; &#160; }
&#160; &#160; &#160; }
&#160; &#160; }
&#160; }
} &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Inside attachments, I have provided models that fail to create EffectiveModelContext and throw exception:&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;
Unexpected error processing source RevisionSourceIdentifier [name=submodule]. Please file an issue with &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; model attached.
java.lang.IllegalStateException: Action was not defined yet.
&#160; &#160; at com.google.common.base.Preconditions.checkState(Preconditions.java:502)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.tryApply(ModifierImpl.java:143)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl$PhaseFinished.phaseFinished(ModifierImpl.java:401)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.addPhaseCompletedListener(StatementContextBase.java:699)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.requiresCtxImpl(ModifierImpl.java:119)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.requiresCtx(ModifierImpl.java:165)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.requiresCtx(ModifierImpl.java:41)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta.UniqueStatementSupport.onStatementAdded(UniqueStatementSupport.java:91)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.onStatementAdded(StatementDefinitionContext.java:67)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.replicaAsChildOf(ReactorStmtCtx.java:370)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.copyAsChildOfImpl(StatementContextBase.java:755)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.copyAsChildOf(StatementContextBase.java:743)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.copySubstatement(InferredStatementContext.java:586)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.copySubstatement(InferredStatementContext.java:576)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.initializeSubstatements(InferredStatementContext.java:541)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.ensureEffectiveSubstatements(InferredStatementContext.java:478)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.streamEffective(InferredStatementContext.java:503)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:222)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReuseSubstatements(InferredStatementContext.java:306)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReusePrototype(InferredStatementContext.java:239)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createEffective(InferredStatementContext.java:218)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
&#160; &#160; at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
&#160; &#160; at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
&#160; &#160; at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
&#160; &#160; at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:124)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createInferredEffective(AbstractResumedStatement.java:131)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:229)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:222)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReuseSubstatements(InferredStatementContext.java:306)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReusePrototype(InferredStatementContext.java:239)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createEffective(InferredStatementContext.java:218)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
&#160; &#160; at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
&#160; &#160; at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
&#160; &#160; at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
&#160; &#160; at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:124)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:109)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
&#160; &#160; at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
&#160; &#160; at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
&#160; &#160; at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
&#160; &#160; at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
&#160; &#160; at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:124)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:109)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.transformEffective(BuildGlobalContext.java:261)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:211)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:224)
&#160; &#160; at org.opendaylight.yangtools.yang.parser.impl.DefaultYangParser.buildEffectiveModel(DefaultYangParser.java:96) &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="35805">YANGTOOLS-1434</key>
            <summary>Building SchemaContext fails when augmenting submodel data</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="PeterSuna">Peter Suna</reporter>
                        <labels>
                            <label>regression</label>
                    </labels>
                <created>Mon, 16 May 2022 10:24:57 +0000</created>
                <updated>Mon, 8 Aug 2022 09:36:42 +0000</updated>
                            <resolved>Wed, 18 May 2022 15:07:19 +0000</resolved>
                                    <version>8.0.0</version>
                    <version>8.0.3</version>
                    <version>8.0.5</version>
                                    <fixVersion>9.0.0</fixVersion>
                    <fixVersion>8.0.6</fixVersion>
                                    <component>parser</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="71105" author="rovarga" created="Tue, 17 May 2022 17:49:27 +0000"  >&lt;p&gt;There seem to be multiple things going on.&lt;br/&gt;
The failure reported here is due to &lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-1385&quot; title=&quot;Unique statement reference is not validated&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-1385&quot;&gt;&lt;del&gt;YANGTOOLS-1385&lt;/del&gt;&lt;/a&gt; kicking in (through &lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-1386&quot; title=&quot;Statement replicas do not trigger onStatementAdded()&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-1386&quot;&gt;&lt;del&gt;YANGTOOLS-1386&lt;/del&gt;&lt;/a&gt;) in the context of InferredStatementContext, i.e. when the effective model is complete. For that to work we need to indirect the requirement through a bootstrap, which is easy enough. Once we do that, though, we are faced with this splat:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;java.lang.AssertionError: Failed to assemble effective model of /bugs/YT1434
	at org.opendaylight.yangtools.yang.parser.rfc7950/org.opendaylight.yangtools.yang.stmt.AbstractYangTest.assertEffectiveModelDir(AbstractYangTest.java:51)
	at org.opendaylight.yangtools.yang.parser.rfc7950/org.opendaylight.yangtools.yang.stmt.YT1434Test.testUniqueHook(YT1434Test.java:15)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60)
	at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
Caused by: org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException: Some of EFFECTIVE_MODEL modifiers for statements were not resolved.
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.propagateException(BuildGlobalContext.java:237)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.transformEffective(BuildGlobalContext.java:267)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:212)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:224)
	at org.opendaylight.yangtools.yang.parser.rfc7950/org.opendaylight.yangtools.yang.stmt.TestUtils.loadModules(TestUtils.java:62)
	at org.opendaylight.yangtools.yang.parser.rfc7950/org.opendaylight.yangtools.yang.stmt.TestUtils.loadModules(TestUtils.java:55)
	at org.opendaylight.yangtools.yang.parser.rfc7950/org.opendaylight.yangtools.yang.stmt.AbstractYangTest.assertEffectiveModelDir(AbstractYangTest.java:48)
	... 41 more
Caused by: org.opendaylight.yangtools.yang.parser.spi.source.SourceException: Error in module &apos;submodule&apos;: cannot add &apos;(main:module?revision=2020-02-04)service-type&apos;. Node name collision: &apos;(main:module?revision=2020-02-04)service-type&apos; already declared at /home/nite/odl/yangtools/parser/yang-parser-rfc7950/target-ide/test-classes/bugs/YT1434/test-bug.yang:15:9 [at /home/nite/odl/yangtools/parser/yang-parser-rfc7950/target-ide/test-classes/bugs/YT1434/test-bug.yang:15:9]
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace.addTo(SchemaTreeNamespace.java:93)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace.addTo(SchemaTreeNamespace.java:37)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.SimpleNamespaceContext.addTo(SimpleNamespaceContext.java:46)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.NamespaceStorageSupport.addToNamespace(NamespaceStorageSupport.java:85)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.addToNs(StatementContextBase.java:268)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.meta.AbstractSchemaTreeStatementSupport.onStatementAdded(AbstractSchemaTreeStatementSupport.java:115)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.onStatementAdded(StatementDefinitionContext.java:67)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.childCopyOf(StatementContextBase.java:813)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.childCopyOf(StatementContextBase.java:783)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.copyAsChildOfImpl(StatementContextBase.java:748)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.copyAsChildOf(StatementContextBase.java:730)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.copySubstatement(InferredStatementContext.java:586)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.copySubstatement(InferredStatementContext.java:576)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.initializeSubstatements(InferredStatementContext.java:541)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.ensureEffectiveSubstatements(InferredStatementContext.java:478)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.streamEffective(InferredStatementContext.java:503)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:222)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReuseSubstatements(InferredStatementContext.java:306)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReusePrototype(InferredStatementContext.java:239)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createEffective(InferredStatementContext.java:218)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:426)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:125)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createInferredEffective(AbstractResumedStatement.java:132)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:229)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:222)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReuseSubstatements(InferredStatementContext.java:306)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReusePrototype(InferredStatementContext.java:239)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createEffective(InferredStatementContext.java:218)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:426)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:125)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:110)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:426)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
	at org.opendaylight.yangtools.yang.parser.spi@9.0.0-SNAPSHOT/org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:125)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:110)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:426)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
	at org.opendaylight.yangtools.yang.parser.reactor/org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.transformEffective(BuildGlobalContext.java:265)
	... 46 more
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The root cause for that seems be that while we pick up a null Map for InferredStatementContext.initializeSubstatements(), while we instantiate a copy on Unique statement, we also force materialization of the corresponding leafs &amp;#8211; and those are not reflected in the Map, so we end up copying the leaf statement again and trigger a conflic.&lt;/p&gt;</comment>
                            <comment id="71209" author="JIRAUSER14005" created="Wed, 22 Jun 2022 14:02:35 +0000"  >&lt;p&gt;Still&#160; I am seeing this issue in &#160;&lt;a href=&quot;https://jira.opendaylight.org/issues/?jql=project+%3D+YANGTOOLS+AND+fixVersion+%3D+8.0.6&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;8.0.6&lt;/a&gt; version&#160;&lt;/p&gt;</comment>
                            <comment id="71406" author="petersuna" created="Mon, 1 Aug 2022 15:36:43 +0000"  >&lt;p&gt;This issue is still occasionally present. For some reason, threads which calls these methods: [&lt;br/&gt;
&lt;a href=&quot;https://github.com/opendaylight/yangtools/blob/master/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java#L195&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/yangtools/blob/master/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java#L195&lt;/a&gt;&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;
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; Collection&amp;lt;? &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; StatementContextBase&amp;lt;?, ?, ?&amp;gt;&amp;gt; mutableDeclaredSubstatements() {
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; verifyNotNull(substatements);
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/opendaylight/yangtools/blob/master/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java#L64&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/yangtools/blob/master/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/AbstractResumedStatement.java#L64&lt;/a&gt;&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;
    &lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; void dropDeclaredSubstatements() {
        substatements = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;;
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;]&lt;br/&gt;
are not synchronized and if `dropDeclaredSubstatements` is called before `mutableDeclaredSubstatements` method, then the error described in this issue will be raised.&lt;/p&gt;

&lt;p&gt;This error can be reproduced if YT1434Test is run alone without other tests.&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/yangtools/+/101926&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/yangtools/+/101926&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Steps to reproduce:&lt;br/&gt;
1) mvn clean install -DskipTests&lt;br/&gt;
2) cd parser/yang-parser-rfc7950&lt;br/&gt;
3) mvn clean install -Dtest=YT1434Test&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="36017">YANGTOOLS-1447</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="35042">YANGTOOLS-1385</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="35813">YANGTOOLS-1436</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="17700" name="main-module.yang" size="148" author="PeterSuna" created="Mon, 16 May 2022 10:27:15 +0000"/>
                            <attachment id="17701" name="submodule.yang" size="118" author="PeterSuna" created="Mon, 16 May 2022 10:27:15 +0000"/>
                            <attachment id="17703" name="test-bug.yang" size="436" author="PeterSuna" created="Mon, 16 May 2022 10:32:33 +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|i042cn:</customfieldvalue>

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