Uploaded image for project: 'Stanbol (Retired)'
  1. Stanbol (Retired)
  2. STANBOL-258

NoClassDefFoundError while activating ontologymanager.ontonet

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.9.0-incubating
    • Reasoners
    • None

    Description

      Sometimes the activate method of ontologymanager.ontonet fails because of a NoClassDefFoundError related to org/xml/sax/helpers/DefaultHandler. This is not for every build and has never occurred on my local build. However it was already several time the reason for faild Jenkins build.

      The sling error.log shows the following exception in such cases. I will also append the full log of build 287, because such logs are in the workspace and will be overridden by the next build.

      07.07.2011 18:01:25.250 ERROR [FelixStartLevel] org.apache.stanbol.ontologymanager.ontonet [org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl] The activate method has thrown an exception (java.lang.NoClassDefFoundError: org/xml/sax/helpers/DefaultHandler) java.lang.NoClassDefFoundError: org/xml/sax/helpers/DefaultHandler
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1907)
      at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:727)
      at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
      at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:645)
      at org.apache.felix.framework.resolver.WireImpl.getClass(WireImpl.java:99)
      at org.apache.felix.framework.ModuleImpl.searchImports(ModuleImpl.java:1390)
      at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:722)
      at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
      at org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OWLOntologyManagerFactoryImpl.<init>(OWLOntologyManagerFactoryImpl.java:57)
      at org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl.activate(ONManagerImpl.java:264)
      at org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl.activate(ONManagerImpl.java:238)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:227)
      at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:38)
      at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:591)
      at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:472)
      at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:146)
      at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226)
      at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
      at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:997)
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333)
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157)
      at org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:256)
      at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253)
      at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147)
      at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111)
      at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:285)
      at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:203)
      at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)
      at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
      at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3758)
      at org.apache.felix.framework.Felix.startBundle(Felix.java:1780)
      at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1156)
      at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.ClassNotFoundException: org.xml.sax.helpers.DefaultHandler not found by org.apache.stanbol.reasoners.hermit [24]
      at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787)
      at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
      ... 46 more

      While porting the SolrYard form Solr version 1.4.1 to 3.2 I has similar problems that where related to a packaged version of Xerxes that where not compatible with the Xalan shipped with the Java Runtime. So basically as long as components within your bundle just use normal XML functionality everything is fine, because the packed version of Xerxes is used, but as soon as some XSLT or XPath functionality is required Xalan classes are loaded that might (depending on the JVM, ext and endorsed classpath) be incompatible to Xerxes.
      In my case also packing a compatible version of Xalan solved the problem. I can not say for sure that his is the cause but I might be an explanation for this.

      Attachments

        1. error_log_integration-tests-build287.txt
          222 kB
          Rupert Westenthaler

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rwesten Rupert Westenthaler
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: