CDV ❯ Exception on AIX platform
-
Bug
-
Status: Open
-
2 Major
-
Resolution:
-
-
-
eng group
-
Reporter: tgautier
-
June 26, 2007
-
0
-
Watchers: 1
-
October 29, 2007
-
Description
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.
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.
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
Comments
Taylor Gautier 2007-06-26
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?
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..