-
Bug
-
Resolution: Done
-
Medium
-
8.0.0, 8.0.3, 8.0.5
The problem arises if the submodel augments the list with unique leafs to another submodel node.
submodule test-bug { yang-version 1.1; belongs-to main-module { prefix mm; } augment "/mm:services" { container plan-notifications { list subscription { key name; unique "service-type component-type"; leaf name { type string; } leaf service-type { type string; } leaf component-type { type string; } } } } }
Inside attachments, I have provided models that fail to create EffectiveModelContext and throw exception:
Unexpected error processing source RevisionSourceIdentifier [name=submodule]. Please file an issue with this model attached.
java.lang.IllegalStateException: Action was not defined yet.
at com.google.common.base.Preconditions.checkState(Preconditions.java:502)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.tryApply(ModifierImpl.java:143)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl$PhaseFinished.phaseFinished(ModifierImpl.java:401)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.addPhaseCompletedListener(StatementContextBase.java:699)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.requiresCtxImpl(ModifierImpl.java:119)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.requiresCtx(ModifierImpl.java:165)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ModifierImpl.requiresCtx(ModifierImpl.java:41)
at org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta.UniqueStatementSupport.onStatementAdded(UniqueStatementSupport.java:91)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.onStatementAdded(StatementDefinitionContext.java:67)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.replicaAsChildOf(ReactorStmtCtx.java:370)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.copyAsChildOfImpl(StatementContextBase.java:755)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.copyAsChildOf(StatementContextBase.java:743)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.copySubstatement(InferredStatementContext.java:586)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.copySubstatement(InferredStatementContext.java:576)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.initializeSubstatements(InferredStatementContext.java:541)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.ensureEffectiveSubstatements(InferredStatementContext.java:478)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.streamEffective(InferredStatementContext.java:503)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:222)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReuseSubstatements(InferredStatementContext.java:306)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReusePrototype(InferredStatementContext.java:239)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createEffective(InferredStatementContext.java:218)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:124)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createInferredEffective(AbstractResumedStatement.java:131)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:229)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createInferredEffective(InferredStatementContext.java:222)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReuseSubstatements(InferredStatementContext.java:306)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.tryToReusePrototype(InferredStatementContext.java:239)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.createEffective(InferredStatementContext.java:218)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:124)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:109)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.buildEffectiveSubstatements(AbstractStatementSupport.java:139)
at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport.createEffective(AbstractStatementSupport.java:83)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:124)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.AbstractResumedStatement.createEffective(AbstractResumedStatement.java:109)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.createEffective(StatementContextBase.java:439)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.loadEffective(ReactorStmtCtx.java:389)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.ReactorStmtCtx.buildEffective(ReactorStmtCtx.java:385)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.transformEffective(BuildGlobalContext.java:261)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:211)
at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:224)
at org.opendaylight.yangtools.yang.parser.impl.DefaultYangParser.buildEffectiveModel(DefaultYangParser.java:96)
- is duplicated by
-
YANGTOOLS-1447 BBF SW MGR yang causes device to not connect
- Resolved
- relates to
-
YANGTOOLS-1385 Unique statement reference is not validated
- Resolved
-
YANGTOOLS-1436 Unexpected error while processing submodule references
- Resolved