You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Shawn Jiang (JIRA)" <ji...@apache.org> on 2011/09/15 08:14:08 UTC

[jira] [Resolved] (GERONIMO-6111) geronimo-tomcat6-javaee5-2.1.7 does not start in 64 bit Platform when using JAVA 7

     [ https://issues.apache.org/jira/browse/GERONIMO-6111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shawn Jiang resolved GERONIMO-6111.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.8
         Assignee: Shawn Jiang

commited 2.1@1159269  to do jaxb upgrade to fix this issue.
---------------------------------------------------------------
upgrade jaxb to 2.1.13 and use geronimio jaxb 2.1 spec
    
    git-svn-id: https://svn.apache.org/repos/asf/geronimo/server/branches/2.1@1159269 

> geronimo-tomcat6-javaee5-2.1.7 does not start in 64 bit Platform when using JAVA 7 
> -----------------------------------------------------------------------------------
>
>                 Key: GERONIMO-6111
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-6111
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: geronimo-maven-plugin
>    Affects Versions: 2.1.7
>         Environment: Windows AMD64
>            Reporter: Kavitha Varadarajan
>            Assignee: Shawn Jiang
>             Fix For: 2.1.8
>
>
> Problem recreation Steps:
> 1) Download Geronimo version geronimo-tomcat6-javaee5-2.1.7 from  http://geronimo.apache.org/
> 2) set JAVA_HOME to the jvm you want to test 
> 3) run gsh geronimo/start-server
> this results in ArrayOutofBounds Exception..Here is the call Stack
> java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -2
> 		 at com.sun.xml.bind.v2.util.CollisionCheckStack.findDuplicate(CollisionCheckStack.java:112)
> 		 at com.sun.xml.bind.v2.util.CollisionCheckStack.push(CollisionCheckStack.java:53)
> 		 at com.sun.xml.bind.v2.runtime.XMLSerializer.pushObject(XMLSerializer.java:471)
> 		 at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:574)
> 		 at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:113)
> 		 at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:98)
> 		 at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:127)
> 		 at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:244)
> 		 at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:251)
> 		 at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:33)
> 		 at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:461)
> 		 at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:292)
> 		 at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:221)
> 		 at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:96)
> 		 at org.apache.geronimo.system.configuration.AttributesXmlUtil.writeAttribute(AttributesXmlUtil.java:71)
> 		 at org.apache.geronimo.system.configuration.AttributesXmlUtil.extractAttributeValue(AttributesXmlUtil.java:75)
> 		 at org.apache.geronimo.system.configuration.GBeanOverride.<init>(GBeanOverride.java:197)
> 		 at org.apache.geronimo.system.configuration.ConfigurationOverride.<init>(ConfigurationOverride.java:79)
> 		 at org.apache.geronimo.system.configuration.ServerOverride.<init>(ServerOverride.java:42)
> 		 at org.apache.geronimo.system.configuration.LocalAttributeManager.read(LocalAttributeManager.java:354)
> 		 at org.apache.geronimo.system.configuration.LocalAttributeManager.load(LocalAttributeManager.java:334)
> 		 at org.apache.geronimo.system.configuration.LocalAttributeManager.doStart(LocalAttributeManager.java:527)
> 		 at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
> 		 at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
> 		 at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
> 		 at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
> 		 at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
> 		 at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
> 		 at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
> 		 at org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:208)
> 		 at org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:167)
> 		 at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.loadBootConfiguration(MainConfigurationBootstrapper.java:84)
> 		 at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.getMain(MainConfigurationBootstrapper.java:57)
> 		 at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:38)
> 		 at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
> Analysis:
> Irrespective of the JAVA 7 build we specify in the JAVA_HOME, geronimo uses the JAXB-impl.jar/jaxb-xjc.jar that is shipped along with geronimo, I confirmed it tracing the classloading. JAXB jar used by geronimo for serialization is from  geronimo-bin/repository/com/sun/xml/bind/jaxb-impl/2.0.5/jaxb-impl-2.0.5.jar . This is a very old version of JAXB, and upon search it is evident that this
> version of JAXB has issues w.r.t 64 bit platform. Here is a related issue We could trace in JAXB forum 
> http://www.java.net/node/661561
> IUC, CollisionCheckStack is using System.identifyHashCode() and %'ing (remainder operator) by the array size. Since identityHashCode() can be negative, bad things can happen
> Problem is that Apache geronimo is using very old JAXB (2.0.5), which has a bug listed above. Can you move it to use updated JAXB ?
> Please let me know if you need more information.
> Thanks!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira