• Bug
  • Status: Open
  • 2 Major
  • Resolution:
  • eng group
  • Reporter: tgautier
  • June 26, 2007
  • 0
  • Watchers: 1
  • October 29, 2007


java.lang.ExceptionInInitializerError at java.lang.J9VMInternals.initialize(J9VMInternals.java :214) at com.tc.lang.StartupHelper.setThreadGroup(StartupHelper.java:57) at com.tc.lang.StartupHelper.startUp(StartupHelper.java:35) at com.tc.server.TCServerImpl.startServer(TCServerImpl.java :278) at com.tc.server.TCServerImpl.start(TCServerImpl.java:133) at com.tc.server.TCServerMain.main(TCServerMain.java:28) Caused by: java.lang.RuntimeException: com.tc.util.runtime.UnknownRuntimeVersionException : Unable to parse runtime version ‘pap32dev-20070511(SR5)’ for JVM version ‘1.5.0’ at com.tc.util.runtime.Vm.(Vm.java:25) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:192) ... 5 more Caused by: com.tc.util.runtime.UnknownRuntimeVersionException: Unable to parse runtime version 'pap32dev-20070511(SR5)' for JVM version ' 1.5.0' at com.tc.util.runtime.Vm$Version.(Vm.java:116) at com.tc.util.runtime.Vm$Version.(Vm.java:84) at com.tc.util.runtime.Vm.(Vm.java:21) ... 7 more

I created a test class using the Vm class as the main source code and compiled it on the AIX box. I now get the somewhat better diagnostic:

vendor Version =1.5.0 runtimeVersion=pap32dev-20070511(SR5) isJRockit=false isIBM=true java.lang.RuntimeException: unsupported vendor/ runtime version : VendorVersion = 1.5.0, runtime version =pap32dev-20070511(SR5) at com.shinetech.mrs.TestVersion$Version.( TestVersion.java:164) at com.shinetech.mrs.TestVersion$Version.(TestVersion.java:110) at com.shinetech.mrs.TestVersion.(TestVersion.java:22) at java.lang.J9VMInternals.initializeImpl (Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:192) class cannot be loaded: java.lang.ExceptionInInitializerError - java.lang.ExceptionInInitializerError

When I run this class on my IMac I get :

vendor Version =1.5.0_07 runtimeVersion=1.5.0_07-164 isJRockit=false isIBM=false

So the format of the runtime version in the IBM JVM is somewhat different and the parser seems to have problems with this.. Can you follow this up ? (the message unsupported vendor/ runtime version : VendorVersion = 1.5.0, runtime version =pap32dev-20070511(SR5) is mine


Taylor Gautier 2007-06-26

User further reports that:

if (isIBM) { final Matcher serviceReleaseMatcher = IBM_SERVICE_RELEASE_PATTERN.matcher(runtimeVersion); if ( serviceReleaseMatcher.matches()) { String serviceRelease = serviceReleaseMatcher.groupCount() == 1 ? serviceReleaseMatcher.group(1) .toLowerCase() : null; if (null == version_patch && null == serviceRelease) { patch = null; } else if (null == version_patch) { patch = serviceRelease; } else if (null == serviceRelease) { patch = version_patch; } else { patch = version_patch + serviceRelease; } } else { throw new UnknownRuntimeVersionException(vendorVersion, runtimeVersion); }

The serviceReleaseMatcher.matches() test fails so this why we have the problem..

Steve Harris 2007-06-26

Good feedback, though nothing we can really do till we get the aix box. The good news is that these don’t seem to hard to fix at least.

Geert Bevin 2007-06-26

Should be pretty easy to fix, but without an AIX box it will not be possible to really test it out. I can adapt the pattern already though to accept that version numbering and then that user can just see if it works well be the rest if he’s in a hurry. Sounds good?