[YANGTOOLS-1448] Failed to parse deviation statement present in submodule Created: 20/Jul/22  Updated: 16/Nov/22  Resolved: 16/Nov/22

Status: Resolved
Project: yangtools
Component/s: parser
Affects Version/s: 2.0.23
Fix Version/s: 10.0.1, 9.0.3, 8.0.9

Type: Bug Priority: Medium
Reporter: Balaji Pachaimalai Assignee: Ruslan Kashapov
Resolution: Done Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive Deviation.zip    

 Description   

As per of RFC, It supports to configure the deviation statement in Yang submodule.  https://datatracker.ietf.org/doc/html/rfc7950#section-7.2.1

When we try to parse the yang files getting below error message.

ODL Library version: 2.0.23

Error messge:

org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext> Unexpected error processing source RevisionSourceIdentifier [name=submod1@2020-10-24]. Please file an issue with this model attached.

java.lang.NullPointerException: null
      at org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviation.DeviationStatementSupport.onFullDefinitionDeclared(DeviationStatementSupport.java:64)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.onDeclarationFinished(StatementDefinitionContext.java:80)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.endDeclared(StatementContextBase.java:578)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextWriter.endStatement(StatementContextWriter.java:69)
      at org.opendaylight.yangtools.yang.parser.rfc7950.repo.StatementContextVisitor.processStatement(StatementContextVisitor.java:131)
      at org.opendaylight.yangtools.yang.parser.rfc7950.repo.StatementContextVisitor.processStatement(StatementContextVisitor.java:123)
      at org.opendaylight.yangtools.yang.parser.rfc7950.repo.StatementContextVisitor.visit(StatementContextVisitor.java:48)
      at org.opendaylight.yangtools.yang.parser.rfc7950.repo.YangStatementStreamSource.writeFull(YangStatementStreamSource.java:168)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext.loadStatements(SourceSpecificContext.java:382)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.loadPhaseStatementsFor(BuildGlobalContext.java:308)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.loadPhaseStatements(BuildGlobalContext.java:300)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.executePhases(BuildGlobalContext.java:218)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:230)
      at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:196)
      at org.opendaylight.yangtools.yang.parser.impl.YangParserImpl.buildSchemaContext(YangParserImpl.java:119)


 Comments   
Comment by Robert Varga [ 27/Oct/22 ]

Next step is to create a unit test from provided materials.

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