[YANGTOOLS-1454] Node name collision already declared at <file> Created: 30/Sep/22  Updated: 03/Oct/22  Resolved: 03/Oct/22

Status: Resolved
Project: yangtools
Component/s: parser
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Medium
Reporter: mikael petterson Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File o-ran-uplane-conf(1).yang    
Issue Links:
Duplicate
duplicates YANGTOOLS-1445 Node name collision for unique argument Resolved

 Description   

Hi,

We are trying to upgrade from 3.0.17 to 8.0.6 since we now use jdk 11.

When parsing yang modes we get the below error and we did not have it before.

Caused by: org.opendaylight.yangtools.yang.parser.api.YangParserException: Failed to assemble sources
	at org.opendaylight.yangtools.yang.parser.impl.DefaultYangParser.decodeReactorException(DefaultYangParser.java:104)
	at org.opendaylight.yangtools.yang.parser.impl.DefaultYangParser.buildEffectiveModel(DefaultYangParser.java:98)
	at com.ericsson.commonlibrary.yang.model.YangModelImpl.parseSources(YangModelImpl.java:400)
	at com.ericsson.commonlibrary.yang.model.YangModelImpl.createSchemaContext(YangModelImpl.java:383)
	... 36 more
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.stmt.reactor.BuildGlobalContext.propagateException(BuildGlobalContext.java:236)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.transformEffective(BuildGlobalContext.java:263)
	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)
	... 38 more
Caused by: org.opendaylight.yangtools.yang.parser.spi.source.SourceException: Error in module 'o-ran-uplane-conf': cannot add '(urn:o-ran:uplane-conf:1.0?revision=2022-04-18)fs-offset'. Node name collision: '(urn:o-ran:uplane-conf:1.0?revision=2022-04-18)fs-offset' already declared at <path to file>/o-ran-uplane-conf.yang:1579:9 [at <path to file>/o-ran-uplane-conf.yang:1579:9]
	at org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace.addTo(SchemaTreeNamespace.java:93)
	at org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace.addTo(SchemaTreeNamespace.java:37)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.SimpleNamespaceContext.addTo(SimpleNamespaceContext.java:46)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.NamespaceStorageSupport.addToNamespace(NamespaceStorageSupport.java:85)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.addToNs(StatementContextBase.java:281)
	at org.opendaylight.yangtools.yang.parser.spi.meta.AbstractSchemaTreeStatementSupport.onStatementAdded(AbstractSchemaTreeStatementSupport.java:115)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.onStatementAdded(StatementDefinitionContext.java:67)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.childCopyOf(StatementContextBase.java:835)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.childCopyOf(StatementContextBase.java:796)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.copyAsChildOfImpl(StatementContextBase.java:761)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.asEffectiveChildOf(StatementContextBase.java:774)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.effectiveCopy(InferredStatementContext.java:573)
	at org.opendaylight.yangtools.yang.parser.stmt.reactor.InferredStatementContext.lambda$tryToReusePrototype$1(InferredStatementContext.java:266)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	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)

The problem is that with this error description it did not really tell where the problem is only that it is already declared but not where. It would be really helpful if it would be possible to pin point the duplicated node.

 

br,

 

//mike

 



 Comments   
Comment by Robert Varga [ 30/Sep/22 ]

Can you provide a pointer to the model  (o-ran-uplane-conf@2022-04-18.yang) ?

Comment by mikael petterson [ 03/Oct/22 ]

rovarga  yes. Here it is.

o-ran-uplane-conf(1).yang

Comment by Robert Varga [ 03/Oct/22 ]

Thanks, as I suspected, this is a duplicate.

Generated at Wed Feb 07 20:56:12 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.