[CONTROLLER-470] IllegalStateException: Routing table is null when using controller.currentconfig.xml Created: 14/May/14  Updated: 25/Jul/23  Resolved: 04/Jul/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Tomas Olvecky Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: File controller.currentconfig.xml    
Issue Links:
Blocks
is blocked by CONTROLLER-465 configuration rendered invalid Resolved
External issue ID: 1005

 Description   

config 2PC fails on not being able to find routing table. This is probably because config subsystem's dependency injection is not used and ordering of modules in xml is random (within a transaction).



 Comments   
Comment by Tomas Olvecky [ 14/May/14 ]

Attachment controller.currentconfig.xml has been added with description: failing config

Comment by Tomas Olvecky [ 14/May/14 ]

trace:
2014-05-14 16:04:26.225 CEST [config-pusher] ERROR o.o.c.s.d.b.i.SchemaAwareRpcBroker - Unhandled exception during sending initial route change event org.opendaylight.controller.md.sal.common.impl.routing.RoutingUtils$RouteChangeImpl@3c1 to org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider$RoutedRpcListener@4830fc5e
java.lang.IllegalStateException: Routing table is null
at com.google.common.base.Preconditions.checkState(Preconditions.java:149) ~[bundlefile:na]
at org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider.getRoutingTable(RemoteRpcProvider.java:177) [bundlefile:na]
at org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider.access$300(RemoteRpcProvider.java:45) [bundlefile:na]
at org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider$RoutedRpcListener.announce(RemoteRpcProvider.java:250) ~[na:na]
at org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider$RoutedRpcListener.onRouteChange(RemoteRpcProvider.java:238) ~[na:na]
at org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareRpcBroker.registerRouteChangeListener(SchemaAwareRpcBroker.java:458) ~[bundlefile:na]
at org.opendaylight.controller.sal.dom.broker.BrokerImpl.registerRouteChangeListener(BrokerImpl.java:201) [bundlefile:na]
at org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider.start(RemoteRpcProvider.java:115) [bundlefile:na]
at org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcProvider.onSessionInitiated(RemoteRpcProvider.java:85) [bundlefile:na]
at org.opendaylight.controller.sal.dom.broker.BrokerImpl.registerProvider(BrokerImpl.java:109) [bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.remote.rpc.ZeroMQServerModule.createInstance(ZeroMQServerModule.java:59) [bundlefile:na]
at org.opendaylight.controller.config.yang.md.sal.remote.rpc.AbstractZeroMQServerModule.getInstance(AbstractZeroMQServerModule.java:77) [bundlefile:na]
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverManager$1.handleInvocation(DependencyResolverManager.java:144) [bundlefile:na]
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:70) [bundlefile:na]
at com.sun.proxy.$Proxy94.getInstance(Unknown Source) [na:na]
at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.secondPhaseCommit(ConfigTransactionControllerImpl.java:397) [bundlefile:na]
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.secondPhaseCommit(ConfigRegistryImpl.java:282) [bundlefile:na]
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:229) [bundlefile:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_55]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_55]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_55]
at sun.reflect.GeneratedMethodAccessor154.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_55]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:150) [na:1.7.0_55]
at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167) [na:1.7.0_55]
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:252) [na:1.7.0_55]
at com.sun.proxy.$Proxy37.commitConfig(Unknown Source) [na:na]
at org.opendaylight.controller.config.util.ConfigRegistryJMXClient.commitConfig(ConfigRegistryJMXClient.java:84) [bundlefile:na]
at org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider.commitTransaction(TransactionProvider.java:110) [bundlefile:na]
at org.opendaylight.controller.netconf.confignetconfconnector.operations.Commit.handleWithNoSubsequentOperations(Commit.java:55) [bundlefile:na]
at org.opendaylight.controller.netconf.util.mapping.AbstractLastNetconfOperation.handle(AbstractLastNetconfOperation.java:33) [bundlefile:na]
at org.opendaylight.controller.netconf.util.mapping.AbstractNetconfOperation.handle(AbstractNetconfOperation.java:101) [bundlefile:na]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.sendRequestGetResponseCheckIsOK(ConfigPusher.java:240) [bundlefile:na]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfig(ConfigPusher.java:199) [bundlefile:na]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfigWithConflictingVersionRetries(ConfigPusher.java:88) [bundlefile:na]
at org.opendaylight.controller.netconf.persist.impl.ConfigPusher.pushConfigs(ConfigPusher.java:69) [bundlefile:na]
at org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator$InnerCustomizer$1.run(ConfigPersisterActivator.java:156) [bundlefile:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]

Comment by Tony Tkacik [ 04/Jul/14 ]

Offending component is removed and not supported.

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