• Bug
  • Status: Open
  • 2 Major
  • Resolution:
  • interfaces
  • Reporter: teck
  • May 04, 2007
  • 0
  • Watchers: 0
  • December 16, 2011

Description

The byte[] passed to ClassLoader.defineClassImpl() when retreived from IBM’s shared class cache is not in the format of a real java class. Instead the byte array starts with the characters “J9ROMCLASSCOOKIE” and some other unidentified bytes after that. Anyway, we try to parse that array as class and you end getting an IOException somewhere in ClassReader.

Right now the only solution is to disable class sharing (-Xshareclasses:none).

At the very least we might want to build some protection in our class processing path to not try to parse these things (and maybe log a warning since we can’t try to figure out if we should instrument it)

Some info about ibm’s class sharing http://www-128.ibm.com/developerworks/java/library/j-ibmjava4/index.html

Comments

Fiona OShea 2007-05-31

Add to rel notes as known issue, then reassign to nat and move out.