Found in netconf-csit-1node-gate-userfeatures-rfc8040-all-master/59
Connecting to MD-SAL NETCONF server fails with this error:
Caused by: org.opendaylight.mdsal.binding.dom.codec.api.IncorrectNestingException: Child interface org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session is not valid child of interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.monitoring.rev220718.Session1 at org.opendaylight.mdsal.binding.dom.codec.api.IncorrectNestingException.create(IncorrectNestingException.java:28) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerCodecContext.childNullException(DataContainerCodecContext.java:221) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerCodecContext.childNonNull(DataContainerCodecContext.java:188) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.DataObjectCodecContext.streamChild(DataObjectCodecContext.java:214) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.BindingToNormalizedStreamWriter.enter(BindingToNormalizedStreamWriter.java:80) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.BindingToNormalizedStreamWriter.startAugmentationNode(BindingToNormalizedStreamWriter.java:162) ~[?:?] at org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconf.monitoring.rev220718.Session1$$$streamer.serialize(Unknown Source) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext$DataObjectSerializerProxy.serialize(BindingCodecContext.java:116) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.DataObjectStreamer.emitAugmentation(DataObjectStreamer.java:173) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.DataObjectStreamer.streamAugmentations(DataObjectStreamer.java:60) ~[?:?] at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session$$$streamer.serialize(Unknown Source) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext$DataObjectSerializerProxy.serialize(BindingCodecContext.java:116) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext.toNormalizedNode(BindingCodecContext.java:522) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.spi.ForwardingBindingDOMCodecServices.toNormalizedNode(ForwardingBindingDOMCodecServices.java:67) ~[?:?] at org.opendaylight.mdsal.binding.dom.codec.spi.ForwardingBindingDOMCodecServices.toNormalizedNode(ForwardingBindingDOMCodecServices.java:67) ~[?:?] at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMWriteTransactionAdapter.toNormalized(BindingDOMWriteTransactionAdapter.java:105) ~[?:?] at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMWriteTransactionAdapter.toNormalized(BindingDOMWriteTransactionAdapter.java:98) ~[?:?] at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMWriteTransactionAdapter.put(BindingDOMWriteTransactionAdapter.java:33) ~[?:?] at org.opendaylight.controller.config.yang.netconf.mdsal.monitoring.MonitoringToMdsalWriter.lambda$onSessionStarted$1(MonitoringToMdsalWriter.java:66) ~[?:?] at org.opendaylight.controller.config.yang.netconf.mdsal.monitoring.MonitoringToMdsalWriter.runTransaction(MonitoringToMdsalWriter.java:103) ~[?:?] at org.opendaylight.controller.config.yang.netconf.mdsal.monitoring.MonitoringToMdsalWriter.onSessionStarted(MonitoringToMdsalWriter.java:66) ~[?:?] at org.opendaylight.netconf.impl.osgi.NetconfSessionMonitoringService.notifySessionUp(NetconfSessionMonitoringService.java:131) ~[?:?] at org.opendaylight.netconf.impl.osgi.NetconfSessionMonitoringService.onSessionUp(NetconfSessionMonitoringService.java:82) ~[?:?] at org.opendaylight.netconf.impl.NetconfServerSessionListener.onSessionUp(NetconfServerSessionListener.java:50) ~[?:?] at org.opendaylight.netconf.impl.NetconfServerSessionListener.onSessionUp(NetconfServerSessionListener.java:33) ~[?:?] at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.sessionUp(AbstractNetconfSession.java:100) ~[?:?] at org.opendaylight.netconf.impl.NetconfServerSession.sessionUp(NetconfServerSession.java:86) ~[?:?] at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handlerAdded(AbstractNetconfSession.java:191) ~[?:?] at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:938) ~[?:?] at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609) ~[?:?] ... 58 more
It appears that the Session1 class generated from odl-netconf-monitoring.yang is loaded twice, one from netconf-impl & mdsal-netconf-impl which has netconf-impl as an embedded dependency causing class comparison to fail.