[MDSAL-735] StackOverflowError with bgp-linkstate Created: 12/Mar/22 Updated: 19/Mar/22 Resolved: 19/Mar/22 |
|
| Status: | Resolved |
| Project: | mdsal |
| Component/s: | Binding runtime |
| Affects Version/s: | None |
| Fix Version/s: | 9.0.0 |
| Type: | Bug | Priority: | Highest |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
Attempting to create a runtime context in BGPCEP's bgp-linkstate incurs the following error: com.google.common.util.concurrent.ExecutionError: java.lang.StackOverflowError at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2053) at com.google.common.cache.LocalCache.get(LocalCache.java:3966) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956) at org.opendaylight.mdsal.binding.dom.adapter.test.AbstractSchemaAwareTest.getRuntimeContext(AbstractSchemaAwareTest.java:41) at org.opendaylight.mdsal.binding.dom.adapter.test.AbstractSchemaAwareTest.setup(AbstractSchemaAwareTest.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42) at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80) at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) Caused by: java.lang.StackOverflowError at java.base/java.util.Spliterator.getExactSizeIfKnown(Spliterator.java:408) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483) 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.mdsal.binding.generator.impl.rt.AbstractCompositeRuntimeType.<init>(AbstractCompositeRuntimeType.java:55) at org.opendaylight.mdsal.binding.generator.impl.rt.DefaultContainerRuntimeType.<init>(DefaultContainerRuntimeType.java:23) at org.opendaylight.mdsal.binding.generator.impl.reactor.ContainerGenerator.createRuntimeType(ContainerGenerator.java:57) at org.opendaylight.mdsal.binding.generator.impl.reactor.ContainerGenerator.createRuntimeType(ContainerGenerator.java:23) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.rebaseRuntimeType(AbstractCompositeGenerator.java:184) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.rebaseRuntimeType(AbstractCompositeGenerator.java:117) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.lambda$runtimeTypeOf$0(AbstractExplicitGenerator.java:95) at java.base/java.util.Optional.map(Optional.java:265) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.runtimeTypeOf(AbstractExplicitGenerator.java:95) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.indexChildren(AbstractCompositeGenerator.java:200) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.rebaseRuntimeType(AbstractCompositeGenerator.java:184) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.rebaseRuntimeType(AbstractCompositeGenerator.java:117) at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.lambda$runtimeTypeOf$0(AbstractExplicitGenerator.java:95) at java.base/java.util.Optional.map(Optional.java:265) |
| Comments |
| Comment by Robert Varga [ 12/Mar/22 ] |
|
After adding some debugs, this seems to be related to choice/case statements, as we loop on DeclaredCaseEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)srlg-case}. |
| Comment by Robert Varga [ 12/Mar/22 ] |
|
This is what the create/rebase loop looks like: [main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.LspFlag
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Source EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)seg-flag} hash 809004693
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Target EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)seg-flag} hash 115576469
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create EmptyContainerEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)dynamic-control-protection} hash 1447666664
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create DeclaredCaseEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)dynamic-control-protection-case} hash 1287915666
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 53512330
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 1659760926
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Class java.lang.Boolean
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Source EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 53512330
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Target EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 1659760926
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)attribute} hash 2032162888
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)attribute} hash 357322598
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.ExcludeRouteSubobjects.Attribute
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Source EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)attribute} hash 2032162888
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Target EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)attribute} hash 357322598
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Class java.lang.Boolean
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Source EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 53512330
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Target EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 1659760926
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.ExcludeRouteSubobjects.Attribute
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Source EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)attribute} hash 2032162888
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Target EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)attribute} hash 357322598
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Class java.lang.Boolean
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Source EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 53512330
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Target EmptyLeafEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)mandatory} hash 1659760926
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.ExcludeRouteSubobjects.Attribute
|
| Comment by Robert Varga [ 12/Mar/22 ] |
|
The definition of that involves uses/augment of a choice:
grouping exclude-route-subobjects {
description "Subobject of an Exclude Route Object";
reference "https://tools.ietf.org/html/rfc4874#section-3.1";
leaf mandatory {
type boolean;
default false;
}
leaf attribute {
type enumeration {
enum interface {
value 0;
}
enum node {
value 1;
}
enum srlg {
value 2;
}
}
mandatory true;
}
uses basic-explicit-route-subobjects;
}
grouping explicit-route-subobjects {
description "Subobject of an Explicit Route Object";
reference "https://tools.ietf.org/html/rfc4874#section-4.1";
uses basic-explicit-route-subobjects {
augment "subobject-type" {
case exrs-case {
container exrs {
list exrs {
uses exclude-route-subobjects;
}
}
}
case path-key-case {
container path-key {
uses path-key-subobject;
}
}
}
}
}
I wonder if this has something to do with [main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create EmptyContainerEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)unnumbered} hash 1677025976
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create DeclaredCaseEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)unnumbered-case} hash 1192537613
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create AugmentEffectiveStatementImpl{argument=Descendant{qnames=[(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)subobject-type]}} hash 554812364
[main] INFO org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator - Create AugmentEffectiveStatementImpl{argument=Descendant{qnames=[(urn:opendaylight:params:xml:ns:yang:rsvp?revision=2015-08-20)subobject-type]}} hash 583153245
|
| Comment by Robert Varga [ 13/Mar/22 ] |
|
Thinking about this a bit more, the RuntimeType creation logic a wee bit off in lookup paths – we are essentially duplicating findSchemaTreeGenerator(), but for a good reason. Let's use this issue to refactor how we approach the task of creating a RuntimeType, following down the statement tree, but without requiring our own RuntimeType before we rebase it. |
| Comment by Robert Varga [ 17/Mar/22 ] |
|
So we do have some amount of progress here, with reworked lookups instead of getting StackOverflowError we get a more diagnosable:
Caused by: com.google.common.base.VerifyException: Failed to find DeclaredCaseEffectiveStatement{argument=(urn:opendaylight:params:xml:ns:yang:bgp-inet?revision=2018-03-29)ipv6-sid-tlv} as (urn:opendaylight:params:xml:ns:yang:bgp-message?revision=2020-01-20)ipv6-sid-tlv in org.opendaylight.mdsal.binding.generator.i
mpl.reactor.ChoiceGenerator$ChoiceBuilder@3b07b706
at com.google.common.base.Verify.verifyNotNull(Verify.java:503)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:118)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.ChoiceGenerator$ChoiceBuilder.fillTypes(ChoiceGenerator.java:43)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:112)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:112)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:112)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractAugmentGenerator.augmentedCasesIn(AbstractAugmentGenerator.java:165)
at org.opendaylight.mdsal.binding.generator.impl.reactor.ChoiceGenerator$ChoiceBuilder.fillAugmentedCases(ChoiceGenerator.java:67)
at org.opendaylight.mdsal.binding.generator.impl.reactor.ChoiceGenerator$ChoiceBuilder.fillTypes(ChoiceGenerator.java:42)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:112)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:193)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createInternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.createInternalRuntimeType(AbstractExplicitGenerator.java:146)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.findChildRuntimeType(CompositeRuntimeTypeBuilder.java:122)
at org.opendaylight.mdsal.binding.generator.impl.reactor.CompositeRuntimeTypeBuilder.fillTypes(CompositeRuntimeTypeBuilder.java:89)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createExternalRuntimeType(AbstractCompositeGenerator.java:183)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractCompositeGenerator.createExternalRuntimeType(AbstractCompositeGenerator.java:115)
at org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGenerator.runtimeType(AbstractExplicitGenerator.java:91)
at org.opendaylight.mdsal.binding.generator.impl.BindingRuntimeTypesFactory.indexModules(BindingRuntimeTypesFactory.java:82)
at org.opendaylight.mdsal.binding.generator.impl.BindingRuntimeTypesFactory.createTypes(BindingRuntimeTypesFactory.java:70)
at org.opendaylight.mdsal.binding.generator.impl.DefaultBindingRuntimeGenerator.generateTypeMapping(DefaultBindingRuntimeGenerator.java:30)
at org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers.createRuntimeContext(BindingRuntimeHelpers.java:89)
at org.opendaylight.mdsal.binding.dom.adapter.test.AbstractSchemaAwareTest$1.load(AbstractSchemaAwareTest.java:27)
at org.opendaylight.mdsal.binding.dom.adapter.test.AbstractSchemaAwareTest$1.load(AbstractSchemaAwareTest.java:24)
|