Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
4583
Description
Put 'config,standard,region,package,kar,ssh,management,odl-integration-compatible-with-all,odl-restconf,odl-netconf-mdsal,odl-netconf-connector-all' into bootFeatures, then fire ODL up. Netconf will fail to come up.
When debug logging was enabled around the time Netconf was expected to be up, the following fragment was spotted in the logs repeating over and over again:
...
2015-11-05 13:22:50,644 | DEBUG | r - ConfigPusher | bind | - - | Trying to create the platform default provider
2015-11-05 13:22:50,644 | DEBUG | r - ConfigPusher | bind | - - | Trying to load com.sun.xml.internal.bind.v2.ContextFactory
2015-11-05 13:22:50,644 | DEBUG | r - ConfigPusher | bind | - - | loaded com.sun.xml.internal.bind.v2.ContextFactory from jar:file:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt.jar!/com/sun/xml/internal/bind/v2/ContextFactory.class
2015-11-05 13:22:50,644 | DEBUG | r - ConfigPusher | ContextFactory | - - | Property com.sun.xml.internal.bind.XmlAccessorFactoryis not active. Using JAXB's implementation
2015-11-05 13:22:50,645 | DEBUG | r - ConfigPusher | OptimizedAccessorFactory | - - | Using optimized Accessor for public java.util.SortedSet org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot.getCapabilities() and public void org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot.setCapabilities(java.util.SortedSet)
2015-11-05 13:22:50,646 | DEBUG | r - ConfigPusher | OptimizedAccessorFactory | - - | Using optimized Accessor for public java.lang.String org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot.getConfigSnapshot() and public void org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot.setConfigSnapshot(java.lang.String)
2015-11-05 13:22:50,646 | DEBUG | r - ConfigPusher | OptimizedAccessorFactory | - - | Using optimized Accessor for public java.util.Set org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot.getFeatures() and public void org.opendaylight.controller.config.persist.storage.file.xml.model.ConfigSnapshot.setFeatures(java.util.Set)
2015-11-05 13:22:50,648 | DEBUG | r - ConfigPusher | bind | - - | Trying to locate org/opendaylight/controller/config/persist/storage/file/xml/model/jaxb.properties
2015-11-05 13:22:50,648 | DEBUG | r - ConfigPusher | bind | - - | not found
2015-11-05 13:22:50,648 | DEBUG | r - ConfigPusher | bind | - - | Checking system property javax.xml.bind.JAXBContext
2015-11-05 13:22:50,648 | DEBUG | r - ConfigPusher | bind | - - | not found
2015-11-05 13:22:50,648 | DEBUG | r - ConfigPusher | bind | - - | Checking META-INF/services
2015-11-05 13:22:50,648 | DEBUG | r - ConfigPusher | bind | - - | Unable to find: META-INF/services/javax.xml.bind.JAXBContext
2015-11-05 13:22:50,648 | DEBUG | r - ConfigPusher | bind | - - | Trying to create the platform default provider
...
(the first "Trying to create the platform default provider" at the start is from the previous iteration of the infinite loop, the last one belongs to the current iteration and is followed by another instance of the second log message which is followed by another instance of the third log message and so on and so forth).
(messages from other features/subsystems are randomly interspersed).
From my perspective this is what the logs are telling me about what is happening:
1. "/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt.jar!/com/sun/xml/internal/bind/v2/ContextFactory.class" tries to access "com.sun.xml.internal.bind.XmlAccessorFactoryis"
2. Because "com.sun.xml.internal.bind.XmlAccessorFactoryis" is "not active", the code tries to load and use "JAXB's implementation"
3. The "Using JAXB's implementation" tries to access "jaxb.properties".
4. The "jaxb.properties" is discovered to be nowhere to be found.
5. Because of that, "META-INF/services/javax.xml.bind.JAXBContext" cannot be found and the code thus tries to create "the default platform provider"
6. The default platform provider is "/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt.jar!/com/sun/xml/internal/bind/v2/ContextFactory.class" and because of that the loop repeats.
Attachments
Issue Links
- is blocked by
-
SNMP4SDN-9 config.yang file conflict between snmp4sdn feature and controller config subsytem.
- Resolved