[YANGTOOLS-1346] IAE in StatementContextBase.childCopyOf() Created: 10/Oct/21  Updated: 20/Oct/21  Resolved: 11/Oct/21

Status: Resolved
Project: yangtools
Component/s: parser
Affects Version/s: 7.0.0, 7.0.8
Fix Version/s: 8.0.0, 7.0.9

Type: Bug Priority: High
Reporter: Shanth K Gaitonde Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: regression
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Microsoft Word Karaf Logs.docx     File tailf-ncs-common.yang     File tailf-ncs-devices.yang     File tailf-ncs-log.yang     File tailf-ncs-plan.yang     File tailf-ncs-services.yang     File tailf-ncs.yang    
Issue Links:
Issue split
split to TRNSPRTPCE-547 NetworkModelServiceImpl.deleteOpenRoa... Verified

 Description   

I cloned the latest repo of transportpce from the master branch and tried to connect to my NE device via ODL but I was not able to. Upon checking the logs , I found the below errors:

  1. 21:18:08.669 WARN [remote-connector-processing-executor-12] Unexpected error processing source RevisionSourceIdentifier [name=tailf-ncs-plan@2019-11-28]. Please file an issue with this model attached.
    java.lang.IllegalArgumentException: Unsupported statement ReplicaStatementContext{definition=StatementDefinitionContext{statement=(http://tail-f.com/yang/common?revision=2019-11-30)action}, rawArgument=get-modifications, refCount=0}
            at com.google.common.base.Preconditions.checkArgument(Preconditions.java:219) ~[bundleFile:?]
            at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase.childCopyOf(StatementContextBase.java:809) ~[bundleFile:?]
            at org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext$Mutable.childCopyOf(StmtContext.java:259) ~[bundleFile:?]
            at org.opendaylight.yangtools.yang.parser.rfc7950.stmt.augment.AugmentInferenceAction.copyStatement(AugmentInferenceAction.java:136) ~[bundleFile:?]
  2. 21:17:57.862 WARN [opendaylight-cluster-data-notification-dispatcher-58] Could not find node ncs-vikrant in portmapping.
  3. 21:17:57.862 ERROR [opendaylight-cluster-data-notification-dispatcher-58] member-1-shard-topology-operational: Error notifying listener org.opendaylight.mdsal.binding.dom.adapter.BindingDOMDataTreeChangeListenerAdapter@736c9cc9 java.lang.NullPointerException: null

On silicon, it used to work fine but on the latest version i.e. after consuming Phosphorus dependencies, there seems to be some issue. Attaching karaf logs, file tailf-ncs-plan.yangand its dependencies for further investigation.

PS: I am relatively new to this environment so let me know if you need any specific info on the issue and I hope this issue gets resolved quickly as it seems to be a showstopper for us.



 Comments   
Comment by Robert Varga [ 10/Oct/21 ]

So let's start with the first warning and see where it gets us. For that the problematic method is:

    @Override
    public final Mutable<?, ?, ?> childCopyOf(final StmtContext<?, ?, ?> stmt, final CopyType type,
            final QNameModule targetModule) {
        checkEffectiveModelCompleted(stmt);
        checkArgument(stmt instanceof StatementContextBase, "Unsupported statement %s", stmt);
        return childCopyOf((StatementContextBase<?, ?, ?>) stmt, type, targetModule);
    }

I believe the checkArgument() statement was broken by introduction of ReactorStmtCtx and ReplicaStatementContext in YANGTOOLS-1184. We are hitting this for tailf:action, which has always been problematic because it is assumed to interact with YANG in ways extensions cannot be assumed to work.

 

Comment by Shanth K Gaitonde [ 12/Oct/21 ]

Hi Robert,

I see this issue has been resolved, if I git pull the master branch of transportpce, would the fix be available on the latest fetch?

 

 

Comment by Robert Varga [ 12/Oct/21 ]

Hey Shanth, not yet. This will be part of yangtools-7.0.9, which will be released in about a week or two and then it will need to be integrated down (which may take up to a week).

Comment by Robert Varga [ 20/Oct/21 ]

So yangtools-7.0.9 is out there, integration should take less then a week, I think.

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