Uploaded image for project: 'netconf'
  1. netconf
  2. NETCONF-97

netconf won't come up with 'odl-integration-compatible-with-all'

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • netconf
    • 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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              Unassigned Unassigned
              jbehran@cisco.com Jozef Behran
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: