Using the ADLER-32 makes much more sence than a hash code.
--jason
-----Original Message-----
From: "Udovichenko, Nellya" <nellya.udovichenko@intel.com>
Date: Fri, 9 Jun 2006 14:32:43
To:<dev@geronimo.apache.org>
Subject: Geronimo doesn't startup if restart it using another JDK
Hello,
I have launched Geronimo on Sun JDK. Then I’ve tried to run it with Harmony class library
and IBM VM j9. I’ve got the error log below. Also I’ve got the same result when launched
Geronimo on Harmony and then - on Sun JDK.š
There is a bug in HOWL repaired in howl-1.0.1 by the new parameter (adler32Checksum)
adding. At Geronimo startup it checks the log files' validity if they exist. One of verified
parameters is the file content control sum. One value of this sum is read from file header
and another is calculated by function java.nio.ByteBuffer.hashCode(). So if the algorithms
of
hash code functions of the JDKs are different Geronimo doesn’t startup.
If the parameter adler32Checksum value is false the control sum is calculated by function
java.nio.ByteBuffer.hashCode() otherwise it is calculated using ADLER-32 algorithm.
Therefore, I think, it would be correct to add this parameter to configs/j2ee-server/src/plan/plan.xml
and to gbean org.apache.geronimo.transaction.log.HOWLLog with value 'true'.š
Any thoughts?
š
Thanks,
Nellya Udovichenko,
Intel Middleware Products Division
Error log:
$ java -jar bin/server.jar
Booting Geronimo Kernel (in Java 1.4.2_01)...
Starting Geronimo Application Server v1.1-20060607
[**>šššššššššššššššššššš ] 11%šš 6s Starting geronimo/j2ee-server/1...14:23:30,3
19 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED s
tate: abstractName="geronimo/j2ee-server/1.1-20060607/car?ServiceModule=geronimo
/j2ee-server/1.1-20060607/car,j2eeType=TransactionLog,name=HOWLTransactionLog"
org.objectweb.howl.log.InvalidLogBufferException: CHECKSUM
Class: org.objectweb.howl.log.BlockLogBuffer
š workerID: ffffffff
š LogFile: C:\Nellya\geronimo-1.1\var\txlog\howl_1.log
š HEADER
ššš HEADER_ID: 0x484f574c
ššš bsn: 0x1
ššš size: 0x8000š should be: 0x8000
ššš data used: 0x4f
ššš checkSum: 0x2227d
ššš tod: 0x10bb850e3b1
ššš crlf: 0xd0a
š FOOTER
ššš FOOTER_ID: 0x4c574f48
ššš bsn: 0x1
ššš tod: 0x10bb850e3b1
ššš crlf: 0xd0a
ššššššš at org.objectweb.howl.log.BlockLogBuffer.read(BlockLogBuffer.java:460)
ššššššš at org.objectweb.howl.log.LogFileManager.init(LogFileManager.java:821)
ššššššš at org.objectweb.howl.log.Logger.open(Logger.java:314)
ššššššš at org.objectweb.howl.log.xa.XALogger.open(XALogger.java:893)
ššššššš at org.apache.geronimo.transaction.log.HOWLLog.doStart(HOWLLog.java:217)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanI
nstance.java:981)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart
(GBeanInstanceState.java:267)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInsta
nceState.java:102)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.j
ava:526)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GB
eanDependency.java:111)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDepe
ndency.java:146)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDepe
ndency.java:120)
ššššššš at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEve
nt(BasicLifecycleMonitor.java:173)
ššššššš at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(Bas
icLifecycleMonitor.java:41)
ššššššš at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBr
oadcaster.fireRunningEvent(BasicLifecycleMonitor.java:251)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart
(GBeanInstanceState.java:292)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInsta
nceState.java:102)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(G
BeanInstanceState.java:124)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanI
nstance.java:540)
ššššššš at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(Basi
cKernel.java:379)
ššššššš at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguratio
nGBeans(ConfigurationUtil.java:374)
ššššššš at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(Ke
rnelConfigurationManager.java:187)
ššššššš at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startCon
figuration(SimpleConfigurationManager.java:512)
ššššššš at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startCon
figuration(SimpleConfigurationManager.java:493)
ššššššš at org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastCla
ssByCGLIB$$ce77a924.invoke(<generated>)
ššššššš at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
ššššššš at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethod
Invoker.java:38)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
n.java:122)
ššššššš at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
java:817)
ššššššš at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:5
7)
ššššššš at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperat
ionInvoker.java:35)
ššššššš at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(Pro
xyMethodInterceptor.java:96)
ššššššš at org.apache.geronimo.kernel.config.EditableConfigurationManager$$Enhan
cerByCGLIB$$ff5cf4ac.startConfiguration(<generated>)
ššššššš at org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:297)
ššššššš at org.apache.geronimo.system.main.Daemon.<init>(Daemon.java:74)
ššššššš at org.apache.geronimo.system.main.Daemon.main(Daemon.java:377)
[**>šššššššššššššššššššš ] 11%šš 6s Startup failed
...
Server shutdown begunšššššššššššššš Startup failed
Server shutdown completed
[**>šššššššššššššššššššš ] 11%šš 7s Startup failed
|