'java.lang.LinkageError JAXB 2.0 API is being loaded from the bootstrap classloader' Error During Startup

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

  1. The following appears in the atlassian-confluence.logduring startup:

    2010-10-19 12:51:55,748 ERROR [http-9080-5] [atlassian.plugin.servlet.DefaultServletModuleManager] getFilter Unable to create filter
     -- referer: http://172.17.148.87:9080/confluence/dashboard.action | url: /confluence/rest/prototype/1/i18n/com.atlassian.confluence.keyboardshortcuts | userName: anonymous
    com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file/app/wiki30/confluence-3.4-std/confluence/WEB-INF/lib/jaxb-impl-2.1.10.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
    	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:148)
    	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:111)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:358)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:212)
    	at com.atlassian.plugins.rest.module.servlet.DefaultRestServletModuleManager.getFilters(DefaultRestServletModuleManager.java:117)
     :
    Caused by: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file/app/wiki30/confluence-3.4-std/confluence/WEB-INF/lib/jaxb-impl-2.1.10.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
    	at com.sun.xml.bind.v2.model.impl.ModelBuilder.<clinit>(ModelBuilder.java:173)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:431)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:288)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1111)
    	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
     :
    
  2. The following appears in the atlassian-confluence.logafter every page load in the admin console:

    2010-10-19 12:56:01,324 ERROR [http-9080-4] [atlassian.plugin.servlet.DefaultServletModuleManager] getFilter Unable to create filter
     -- referer: http://172.17.148.87:9080/confluence/admin/createsupportzip.action | url: /confluence/rest/prototype/1/i18n/com.atlassian.confluence.keyboardshortcuts | userName: thadams
    com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder
    	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:148)
    	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:111)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:358)
    	at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:212)
    	at com.atlassian.plugins.rest.module.servlet.DefaultRestServletModuleManager.getFilters(DefaultRestServletModuleManager.java:117)
     :
    Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:431)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:288)
    	at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1111)
    	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
    	at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121)
     :
    
  3. The Universal Plugin Manager is non-functional

Cause

  1. Using a version of Java < 1.6.0_4. The correct version of JAXB did not get added to the JDK until 1.6.0_4
  2. Using FreeBSD, you'll notice that the latest version is 1.6.0.3p4_29.

Resolution

For the first cause:

Upgrade the JDK past 1.6.0_4, eg. JVM 6 Update 17. Do not upgrade to JVM 6 Update 18 or later due to a stability issue, refer to Fatal JVM Crash - 'java.lang.OutOfMemoryError .. Out of Swap Space?'.

For the second cause:

Download Diablo JDK16 and point the JAVA_HOME to Diablo JDK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.