Mantis - Resin
Viewing Issue Advanced Details
411 minor always 10-03-05 00:00 03-09-06 13:29
sergek  
ferg  
normal  
closed 3.0.14  
3.0.14 fixed  
none    
none 3.0.19  
0000411: JDK 1.5 monitoring tools get ClassFormatError
RSN-457
The JDK 1.5/5.0 bundles various monitoring tools that used to be under the jvmstat program, e.g., jps, jstack, jconsole, jinfo, etc...

Many of these tools will not work or have limited use against a Resin instance and will spit out the following error...

[root@server] jps
25083 Jps
21746 Resin
[root@server] jinfo 21746
Attaching to process ID 21746, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 1.5.0_04-b05
Java System Properties:

Exception in thread "main" java.lang.ClassFormatError: Invalid method attribute
name index 0 in class file com/caucho/loader/EnvironmentProperties
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
        at sun.jvm.hotspot.utilities.ProcImageClassLoader.findClass(ProcImageClassLoader.java:35)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at sun.jvm.hotspot.utilities.ObjectReader.readClass(ObjectReader.java:461)
        at sun.jvm.hotspot.utilities.ObjectReader.readInstance(ObjectReader.java:125)
        at sun.jvm.hotspot.utilities.ObjectReader.readObject(ObjectReader.java:73)
        at sun.jvm.hotspot.runtime.VM$2.doOop(VM.java:680)
        at sun.jvm.hotspot.oops.InstanceKlass.visitField(InstanceKlass.java:707)
        at sun.jvm.hotspot.oops.InstanceKlass.iterateFields(InstanceKlass.java:435)
        at sun.jvm.hotspot.oops.Oop.iterate(Oop.java:112)
        at sun.jvm.hotspot.runtime.VM.readSystemProperties(VM.java:675)
        at sun.jvm.hotspot.runtime.VM.getSystemProperties(VM.java:668)
        at sun.jvm.hotspot.tools.SysPropsDumper.run(SysPropsDumper.java:18)
        at sun.jvm.hotspot.tools.JInfo$1.run(JInfo.java:52)
        at sun.jvm.hotspot.tools.JInfo.run(JInfo.java:67)
        at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
        at sun.jvm.hotspot.tools.JInfo.main(JInfo.java:111)

Obviously this might be a bug in these tools, but it seems that something special is being done to that one Resin class, and perhaps if that could be worked around, it would be easier to use some free JDK-bundled tools on Resin.
JDK 1.5.0_04 Linux i386 RHEL3

Notes
(0000926)
ferg   
03-09-06 13:29   
See 0000151. The new environment-system-properties in 3.0.19 can be disabled to allow jinfo to work.