JDK-7192043 : JSR292: giving class format error on retransform of classes with invokedynamic
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: hs24,hs25
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2012-08-16
  • Updated: 2013-10-14
  • Resolved: 2013-10-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
hs25Resolved
Related Reports
Duplicate :  
Description
The JVMTI RetransformClasses gives class class format error or crashes on the invokedynamic bytecodes. It is currently combined in one CR but may need to split into two different CRs.

Below is the email from Robert Field:

-------- Original Message --------
The failing test is a java.lang.instrument test
(IsModifiableClassAgent).  To get at the underlying issue, I wrote a
JVMTI test.  This test shows that there are at least two bugs: the class
reconstruction done by retransformClass for a class with invokedynamic
generates bad class bytes, and retransformClasses handed the original
bytes, at least for java.utiil.Arrays (which uses invokedynamic) crashes
Hotspot.

I talked to John about these, he was aware of a bug report involving
redefineClasses and popFrame -- I found that one.  I could not find a
bug for what I'm seeing.

The JVMTI test is attached (cfe.c) with the crash log (and a hello world
class I used for testing).

As attached this will show the original bytes crash.  To see the bad
reconstruction, dump the incoming class bytes or pass it through instead
of the original bytes.
. . .

Just to underscore, this test fails only under the lambda repo where invokedynamic instructions are now generated by the compiler into class file.  I would assume it would also fail if the offending class file was loaded and retransformed in a mainline build.

> ----------- from Serguei ---------
> Ok, I see you wrote this:
> > ... , at least for java.utiil.Arrays (which uses invokedynamic) crashes Hotspot.
>

Right, in the lambda repo, this and some other library classes which have lambda expressions are compiled into code with invokedynamic instructions and the corresponding new sections in the class file. 

> How do you know this issue is related to invokedynamic bytecodes?

It happily churns through lots of classes before dying on this one. And this test did not fail until flipping the switch to use invokedynamic.

-Robert
------------------------------------

Also, please, see the hs_err dump and the test (provided by Robert) in the comment sections.

Comments
Closing this issue as a dup of the JDK-8008511 as it is not reproducible anymore. Robert, please, let me know if you have any objections or concerns.
14-10-2013

This issue is not reproducible as the VM does not crash anymore. It was resolved by the fix of JDK-8008511. This is the log produced by the latest promoted VM: sspitsyn@sc11152541 /java/re/jdk/1.8.0/promoted/latest/binaries/solaris-sparcv9/bin/java -classpath . -agentlib:agent hw VMStart VMInit Retransforming java/lang/Byte ! class lengths do not match using stored bytes Retransforming sun/misc/JavaNetAccess class bytes match using stored bytes Retransforming java/io/PrintStream ! class lengths do not match using stored bytes Retransforming java/lang/reflect/ReflectPermission class bytes match using stored bytes Retransforming java/io/Flushable class bytes match using stored bytes Retransforming sun/reflect/misc/ReflectUtil ! class lengths do not match using stored bytes Retransforming java/util/AbstractMap ! class lengths do not match using stored bytes Retransforming java/lang/reflect/Method ! class lengths do not match using stored bytes Retransforming java/lang/Math ! class lengths do not match using stored bytes Retransforming java/lang/Compiler ! class bytes do not match using stored bytes Retransforming java/util/Enumeration class bytes match using stored bytes Retransforming java/net/URLStreamHandler ! class lengths do not match using stored bytes Retransforming java/lang/Readable class bytes match using stored bytes Retransforming java/lang/Compiler$1 ! class lengths do not match using stored bytes Retransforming java/lang/reflect/Executable ! class lengths do not match using stored bytes Retransforming java/lang/Class$1 ! class lengths do not match using stored bytes Retransforming java/util/Arrays ! class lengths do not match using stored bytes Retransforming sun/misc/Signal ! class lengths do not match using stored bytes Retransforming java/util/Collections$SynchronizedCollection ! class lengths do not match using stored bytes Retransforming java/lang/ref/Reference$ReferenceHandler ! class lengths do not match using stored bytes Retransforming sun/nio/cs/Surrogate$Parser ! class lengths do not match using stored bytes Retransforming java/util/Stack ! class lengths do not match using stored bytes Retransforming java/lang/Short ! class lengths do not match using stored bytes Retransforming sun/util/PreHashedMap ! class lengths do not match using stored bytes Retransforming java/lang/Class$AnnotationData class bytes match using stored bytes Retransforming sun/reflect/CallerSensitive class bytes match using stored bytes Retransforming sun/nio/cs/HistoricallyNamedCharset class bytes match using stored bytes Retransforming java/security/Principal ! class lengths do not match using stored bytes Retransforming sun/reflect/UnsafeStaticFieldAccessorImpl class bytes match using stored bytes Retransforming sun/misc/SignalHandler ! class bytes do not match using stored bytes Retransforming java/net/URLClassLoader ! class lengths do not match using stored bytes Retransforming java/lang/invoke/ConstantCallSite ! class lengths do not match using stored bytes Retransforming java/lang/ref/FinalReference class bytes match using stored bytes Retransforming sun/nio/cs/ISO_8859_1$Encoder ! class lengths do not match using stored bytes Retransforming java/security/Guard class bytes match using stored bytes Retransforming java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl ! class lengths do not match using stored bytes Retransforming java/lang/invoke/MagicLambdaImpl class bytes match using stored bytes Retransforming java/nio/HeapByteBuffer ! class lengths do not match using stored bytes Retransforming java/lang/Class$ReflectionData class bytes match using stored bytes Retransforming java/security/SecureClassLoader ! class lengths do not match using stored bytes Retransforming sun/nio/cs/StandardCharsets$Classes ! class bytes do not match using stored bytes Retransforming java/security/PrivilegedExceptionAction class bytes match using stored bytes Retransforming java/lang/reflect/Member ! class bytes do not match using stored bytes Retransforming java/nio/ByteOrder ! class bytes do not match using stored bytes Retransforming java/lang/ClassLoader$NativeLibrary ! class lengths do not match using stored bytes Retransforming java/nio/charset/CoderResult$1 ! class lengths do not match using stored bytes Retransforming java/io/UnixFileSystem ! class lengths do not match using stored bytes Retransforming sun/misc/JavaIOFileDescriptorAccess ! class bytes do not match using stored bytes Retransforming sun/reflect/ConstructorAccessor class bytes match using stored bytes Retransforming sun/reflect/DelegatingConstructorAccessorImpl class bytes match using stored bytes Retransforming java/lang/ThreadGroup ! class lengths do not match using stored bytes Retransforming java/lang/invoke/DirectMethodHandle ! class lengths do not match using stored bytes Retransforming java/security/ProtectionDomain$1 ! class lengths do not match using stored bytes Retransforming sun/nio/cs/ArrayDecoder class bytes match using stored bytes Retransforming java/lang/NoSuchMethodError class bytes match using stored bytes Retransforming java/lang/ref/Finalizer ! class lengths do not match using stored bytes Retransforming java/util/Hashtable$Enumerator ! class lengths do not match using stored bytes Retransforming sun/nio/cs/StandardCharsets class bytes match using stored bytes Retransforming java/security/cert/Certificate ! class lengths do not match using stored bytes Retransforming java/lang/invoke/MemberName ! class lengths do not match using stored bytes Retransforming sun/misc/Launcher$AppClassLoader ! class lengths do not match using stored bytes Retransforming java/nio/charset/CoderResult$Cache ! class lengths do not match using stored bytes Retransforming sun/util/locale/BaseLocale$Key ! class lengths do not match using stored bytes Retransforming java/lang/SystemClassLoaderAction ! class lengths do not match using stored bytes Retransforming java/io/ExpiringCache$1 ! class lengths do not match using stored bytes Retransforming java/io/BufferedReader ! class lengths do not match using stored bytes Retransforming sun/util/locale/BaseLocale ! class lengths do not match using stored bytes Retransforming java/util/Collections$SetFromMap ! class lengths do not match using stored bytes Retransforming java/lang/ref/Reference$Lock class bytes match using stored bytes Retransforming sun/security/util/Debug ! class lengths do not match using stored bytes Retransforming sun/reflect/ReflectionFactory$GetReflectionFactoryAction class bytes match using stored bytes Retransforming java/io/FileInputStream ! class lengths do not match using stored bytes Retransforming java/lang/reflect/AnnotatedElement ! class lengths do not match using stored bytes Retransforming sun/misc/Launcher$AppClassLoader$1 ! class lengths do not match using stored bytes Retransforming java/io/FileInputStream$1 ! class lengths do not match using stored bytes Retransforming java/lang/Runtime ! class lengths do not match using stored bytes Retransforming java/util/Collections$UnmodifiableList ! class lengths do not match using stored bytes Retransforming java/util/Comparator ! class lengths do not match using stored bytes Retransforming sun/misc/Launcher$ExtClassLoader$1 ! class lengths do not match using stored bytes Retransforming java/security/ProtectionDomain ! class lengths do not match using stored bytes Retransforming java/lang/AutoCloseable class bytes match using stored bytes Retransforming java/lang/String$CaseInsensitiveComparator ! class lengths do not match using stored bytes Retransforming java/security/Permission ! class lengths do not match using stored bytes Retransforming sun/misc/VM ! class lengths do not match using stored bytes Retransforming java/lang/IncompatibleClassChangeError class bytes match using stored bytes Retransforming java/util/Dictionary ! class bytes do not match using stored bytes Retransforming java/io/OutputStream ! class lengths do not match using stored bytes Retransforming java/lang/Iterable ! class lengths do not match using stored bytes Retransforming java/security/CodeSource ! class lengths do not match using stored bytes Retransforming java/util/Vector ! class lengths do not match using stored bytes Retransforming java/lang/Error ! class bytes do not match using stored bytes Retransforming java/lang/reflect/Parameter ! class lengths do not match using stored bytes Retransforming java/lang/ClassCastException class bytes match using stored bytes Retransforming java/io/File$PathStatus ! class bytes do not match using stored bytes Retransforming sun/reflect/generics/repository/ClassRepository ! class lengths do not match using stored bytes Retransforming java/util/Iterator ! class lengths do not match using stored bytes Retransforming java/lang/Integer ! class lengths do not match using stored bytes Retransforming sun/nio/cs/StandardCharsets$Cache ! class bytes do not match using stored bytes Retransforming java/net/URLStreamHandlerFactory class bytes match using stored bytes Retransforming sun/misc/URLClassPath ! class lengths do not match using stored bytes Retransforming java/io/InputStreamReader ! class lengths do not match using stored bytes Retransforming java/util/Collections$UnmodifiableCollection ! class lengths do not match using stored bytes Retransforming sun/reflect/ReflectionFactory ! class lengths do not match using stored bytes Retransforming java/lang/Boolean ! class lengths do not match using stored bytes Retransforming java/util/AbstractList ! class lengths do not match using stored bytes Retransforming sun/util/locale/LocaleObjectCache ! class lengths do not match using stored bytes Retransforming sun/nio/cs/ISO_8859_1$Decoder ! class lengths do not match using stored bytes Retransforming java/io/FilterInputStream ! class bytes do not match using stored bytes Retransforming sun/misc/Launcher$Factory ! class lengths do not match using stored bytes Retransforming java/lang/ref/ReferenceQueue$Null ! class bytes do not match using stored bytes Retransforming java/lang/Double ! class lengths do not match using stored bytes Retransforming sun/reflect/MethodAccessorImpl ! class bytes do not match using stored bytes Retransforming java/lang/StringBuilder ! class lengths do not match using stored bytes Retransforming sun/reflect/generics/repository/AbstractRepository ! class bytes do not match using stored bytes Retransforming java/lang/Object ! class lengths do not match using stored bytes Retransforming java/lang/AbstractStringBuilder ! class lengths do not match using stored bytes Retransforming java/lang/ReflectiveOperationException ! class bytes do not match using stored bytes Retransforming java/lang/invoke/VolatileCallSite class bytes match using stored bytes Retransforming java/util/WeakHashMap ! class lengths do not match using stored bytes Retransforming java/lang/Enum ! class lengths do not match using stored bytes Retransforming java/lang/BootstrapMethodError ! class lengths do not match using stored bytes Retransforming java/lang/ArithmeticException class bytes match using stored bytes Retransforming sun/misc/Version ! class lengths do not match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap$Segment class bytes match using stored bytes Retransforming java/lang/invoke/MethodHandleNatives ! class lengths do not match using stored bytes Retransforming java/lang/Character ! class lengths do not match using stored bytes Retransforming java/util/Objects ! class lengths do not match using stored bytes Retransforming java/lang/Terminator$1 ! class lengths do not match using stored bytes Retransforming java/io/InputStream ! class lengths do not match using stored bytes Retransforming java/security/BasicPermission ! class lengths do not match using stored bytes Retransforming java/lang/reflect/Array ! class bytes do not match using stored bytes Retransforming java/io/File ! class lengths do not match using stored bytes Retransforming java/lang/Throwable ! class lengths do not match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap$CollectionView ! class lengths do not match using stored bytes Retransforming sun/misc/MetaIndex ! class lengths do not match using stored bytes Retransforming java/lang/ThreadDeath class bytes match using stored bytes Retransforming java/nio/ByteBuffer ! class lengths do not match using stored bytes Retransforming java/lang/Class$Atomic ! class lengths do not match using stored bytes Retransforming sun/nio/cs/FastCharsetProvider ! class lengths do not match using stored bytes Retransforming java/util/Map ! class lengths do not match using stored bytes Retransforming java/io/ExpiringCache ! class lengths do not match using stored bytes Retransforming java/lang/Runnable class bytes match using stored bytes Retransforming java/util/Hashtable ! class lengths do not match using stored bytes Retransforming java/lang/ref/Reference ! class lengths do not match using stored bytes Retransforming java/nio/charset/Charset ! class lengths do not match using stored bytes Retransforming sun/misc/JavaLangAccess ! class bytes do not match using stored bytes Retransforming java/lang/invoke/MethodType ! class lengths do not match using stored bytes Retransforming java/lang/ref/PhantomReference ! class bytes do not match using stored bytes Retransforming java/lang/System$2 ! class lengths do not match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap$EntrySetView ! class lengths do not match using stored bytes Retransforming java/lang/StackTraceElement ! class lengths do not match using stored bytes Retransforming java/io/FileDescriptor ! class lengths do not match using stored bytes Retransforming java/lang/invoke/MutableCallSite ! class lengths do not match using stored bytes Retransforming java/util/WeakHashMap$Entry ! class lengths do not match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap ! class lengths do not match using stored bytes Retransforming sun/reflect/NativeConstructorAccessorImpl ! class lengths do not match using stored bytes Retransforming java/io/ObjectStreamField ! class lengths do not match using stored bytes Retransforming sun/reflect/LangReflectAccess ! class bytes do not match using stored bytes Retransforming java/lang/ClassLoader$ParallelLoaders ! class lengths do not match using stored bytes Retransforming java/util/ArrayList ! class lengths do not match using stored bytes Retransforming java/security/ProtectionDomain$Key class bytes match using stored bytes Retransforming java/util/Locale$Cache ! class bytes do not match using stored bytes Retransforming java/util/concurrent/atomic/AtomicReferenceFieldUpdater ! class lengths do not match using stored bytes Retransforming java/lang/Thread ! class lengths do not match using stored bytes Retransforming sun/reflect/DelegatingClassLoader class bytes match using stored bytes Retransforming java/security/ProtectionDomain$3 ! class lengths do not match using stored bytes Retransforming java/io/FileOutputStream ! class lengths do not match using stored bytes Retransforming java/util/concurrent/ConcurrentMap ! class lengths do not match using stored bytes Retransforming sun/misc/JavaSecurityAccess class bytes match using stored bytes Retransforming java/util/WeakHashMap$KeySet ! class lengths do not match using stored bytes Retransforming sun/misc/NativeSignalHandler ! class bytes do not match using stored bytes Retransforming java/net/URL ! class lengths do not match using stored bytes Retransforming sun/misc/OSEnvironment class bytes match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap$KeySetView ! class lengths do not match using stored bytes Retransforming java/nio/charset/CoderResult ! class lengths do not match using stored bytes Retransforming java/nio/Bits ! class lengths do not match using stored bytes Retransforming sun/misc/JavaSecurityProtectionDomainAccess class bytes match using stored bytes Retransforming java/lang/ClassValue$ClassValueMap ! class lengths do not match using stored bytes Retransforming java/lang/Thread$UncaughtExceptionHandler ! class bytes do not match using stored bytes Retransforming java/nio/charset/CoderResult$2 ! class lengths do not match using stored bytes Retransforming sun/misc/Unsafe ! class lengths do not match using stored bytes Retransforming sun/net/www/ParseUtil ! class lengths do not match using stored bytes Retransforming java/lang/String ! class lengths do not match using stored bytes Retransforming java/lang/annotation/Annotation ! class bytes do not match using stored bytes Retransforming java/nio/Bits$1 ! class lengths do not match using stored bytes Retransforming java/lang/ref/ReferenceQueue ! class lengths do not match using stored bytes Retransforming java/io/Writer ! class lengths do not match using stored bytes Retransforming java/lang/ref/SoftReference ! class lengths do not match using stored bytes Retransforming java/lang/reflect/Type class bytes match using stored bytes Retransforming java/util/Collections$UnmodifiableRandomAccessList class bytes match using stored bytes Retransforming java/lang/Terminator ! class lengths do not match using stored bytes Retransforming java/util/Collection ! class lengths do not match using stored bytes Retransforming sun/nio/cs/StandardCharsets$Aliases ! class bytes do not match using stored bytes Retransforming java/util/concurrent/locks/Lock ! class bytes do not match using stored bytes Retransforming java/util/Locale ! class lengths do not match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap$CounterCell ! class bytes do not match using stored bytes Retransforming java/util/RandomAccess class bytes match using stored bytes Retransforming java/lang/reflect/Constructor ! class lengths do not match using stored bytes Retransforming java/util/Hashtable$EntrySet ! class lengths do not match using stored bytes Retransforming java/lang/IllegalMonitorStateException class bytes match using stored bytes Retransforming java/util/LinkedHashMap ! class lengths do not match using stored bytes Retransforming sun/nio/cs/ISO_8859_1 ! class lengths do not match using stored bytes Retransforming sun/util/locale/LocaleUtils ! class lengths do not match using stored bytes Retransforming java/lang/Appendable class bytes match using stored bytes Retransforming sun/misc/PostVMInitHook ! class lengths do not match using stored bytes Retransforming sun/util/locale/LocaleObjectCache$CacheEntry class bytes match using stored bytes Retransforming java/util/AbstractCollection ! class lengths do not match using stored bytes Retransforming java/lang/OutOfMemoryError class bytes match using stored bytes Retransforming java/nio/CharBuffer ! class lengths do not match using stored bytes Retransforming java/lang/CharacterData ! class lengths do not match using stored bytes Retransforming java/lang/CharSequence ! class bytes do not match using stored bytes Retransforming java/lang/Float ! class lengths do not match using stored bytes Retransforming java/io/ExpiringCache$Entry ! class bytes do not match using stored bytes Retransforming sun/nio/cs/Surrogate ! class lengths do not match using stored bytes Retransforming sun/security/action/GetPropertyAction ! class lengths do not match using stored bytes Retransforming java/nio/charset/spi/CharsetProvider ! class lengths do not match using stored bytes Retransforming sun/reflect/MethodAccessor class bytes match using stored bytes Retransforming java/lang/System ! class lengths do not match using stored bytes Retransforming java/lang/ref/Finalizer$FinalizerThread ! class lengths do not match using stored bytes Retransforming sun/misc/Launcher$ExtClassLoader ! class lengths do not match using stored bytes Retransforming sun/reflect/ConstructorAccessorImpl class bytes match using stored bytes Retransforming java/lang/ArrayStoreException class bytes match using stored bytes Retransforming java/nio/Buffer ! class lengths do not match using stored bytes Retransforming java/util/Collections$SynchronizedSet ! class lengths do not match using stored bytes Retransforming java/security/AccessController ! class lengths do not match using stored bytes Retransforming java/lang/RuntimePermission class bytes match using stored bytes Retransforming java/security/AccessControlContext ! class lengths do not match using stored bytes Retransforming java/io/FileReader class bytes match using stored bytes Retransforming java/util/Set ! class bytes do not match using stored bytes Retransforming sun/nio/cs/StreamEncoder ! class lengths do not match using stored bytes Retransforming java/io/OutputStreamWriter ! class lengths do not match using stored bytes Retransforming sun/reflect/FieldAccessorImpl ! class bytes do not match using stored bytes Retransforming java/nio/file/Path ! class bytes do not match using stored bytes Retransforming java/nio/charset/CharsetEncoder ! class lengths do not match using stored bytes Retransforming java/util/Collections$EmptyList ! class lengths do not match using stored bytes Retransforming java/lang/Comparable class bytes match using stored bytes Retransforming java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 ! class lengths do not match using stored bytes Retransforming java/util/concurrent/atomic/AtomicInteger ! class lengths do not match using stored bytes Retransforming java/io/BufferedOutputStream ! class lengths do not match using stored bytes Retransforming java/lang/reflect/Modifier ! class lengths do not match using stored bytes Retransforming java/nio/file/Watchable class bytes match using stored bytes Retransforming java/lang/Class ! class lengths do not match using stored bytes Retransforming java/lang/StringBuffer ! class lengths do not match using stored bytes Retransforming sun/reflect/FieldAccessor ! class bytes do not match using stored bytes Retransforming java/io/BufferedInputStream ! class lengths do not match using stored bytes Retransforming sun/reflect/generics/repository/GenericDeclRepository ! class lengths do not match using stored bytes Retransforming java/lang/Cloneable class bytes match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap$Node ! class lengths do not match using stored bytes Retransforming java/lang/VirtualMachineError ! class bytes do not match using stored bytes Retransforming java/lang/ThreadLocal ! class lengths do not match using stored bytes Retransforming sun/nio/cs/ArrayEncoder class bytes match using stored bytes Retransforming sun/misc/JavaNioAccess ! class bytes do not match using stored bytes Retransforming java/util/HashMap ! class lengths do not match using stored bytes Retransforming java/util/Properties ! class lengths do not match using stored bytes Retransforming sun/net/www/protocol/jar/Handler ! class lengths do not match using stored bytes Retransforming java/net/URLClassLoader$7 ! class lengths do not match using stored bytes Retransforming sun/reflect/annotation/AnnotationType ! class lengths do not match using stored bytes Retransforming sun/reflect/ReflectionFactory$1 ! class lengths do not match using stored bytes Retransforming java/lang/reflect/ReflectAccess ! class bytes do not match using stored bytes Retransforming java/lang/ClassNotFoundException ! class bytes do not match using stored bytes Retransforming java/lang/Exception ! class bytes do not match using stored bytes Retransforming java/lang/ClassLoader$3 ! class lengths do not match using stored bytes Retransforming java/util/Collections$EmptyMap ! class lengths do not match using stored bytes Retransforming java/lang/ref/WeakReference class bytes match using stored bytes Retransforming sun/misc/SharedSecrets ! class lengths do not match using stored bytes Retransforming java/security/PrivilegedAction class bytes match using stored bytes Retransforming java/lang/Number ! class bytes do not match using stored bytes Retransforming java/lang/ClassLoader ! class lengths do not match using stored bytes Retransforming java/io/Closeable class bytes match using stored bytes Retransforming java/util/List ! class lengths do not match using stored bytes Retransforming java/nio/HeapCharBuffer ! class lengths do not match using stored bytes Retransforming java/io/FileSystem ! class lengths do not match using stored bytes Retransforming java/lang/reflect/Field ! class lengths do not match using stored bytes Retransforming java/util/HashMap$TreeNode ! class lengths do not match using stored bytes Retransforming sun/reflect/Reflection ! class lengths do not match using stored bytes Retransforming java/lang/NullPointerException class bytes match using stored bytes Retransforming java/lang/SecurityManager ! class lengths do not match using stored bytes Retransforming java/lang/Class$3 ! class lengths do not match using stored bytes Retransforming sun/misc/Launcher ! class lengths do not match using stored bytes Retransforming java/io/BufferedWriter ! class lengths do not match using stored bytes Retransforming java/util/HashMap$Node ! class lengths do not match using stored bytes Retransforming sun/nio/cs/StreamDecoder ! class lengths do not match using stored bytes Retransforming java/io/Serializable class bytes match using stored bytes Retransforming java/util/Locale$LocaleKey ! class lengths do not match using stored bytes Retransforming java/lang/invoke/CallSite ! class lengths do not match using stored bytes Retransforming java/util/Map$Entry ! class lengths do not match using stored bytes Retransforming java/util/HashSet ! class lengths do not match using stored bytes Retransforming java/util/concurrent/locks/ReentrantLock ! class lengths do not match using stored bytes Retransforming java/io/FilterOutputStream ! class lengths do not match using stored bytes Retransforming sun/net/www/protocol/file/Handler ! class lengths do not match using stored bytes Retransforming java/util/Collections ! class lengths do not match using stored bytes Retransforming sun/reflect/UnsafeFieldAccessorImpl ! class lengths do not match using stored bytes Retransforming java/lang/reflect/GenericDeclaration class bytes match using stored bytes Retransforming java/nio/charset/CharsetDecoder ! class lengths do not match using stored bytes Retransforming java/lang/LinkageError class bytes match using stored bytes Retransforming java/util/BitSet ! class lengths do not match using stored bytes Retransforming java/lang/IllegalArgumentException ! class bytes do not match using stored bytes Retransforming java/lang/invoke/MethodHandle ! class lengths do not match using stored bytes Retransforming java/lang/NoClassDefFoundError class bytes match using stored bytes Retransforming java/io/FileDescriptor$1 ! class lengths do not match using stored bytes Retransforming java/lang/invoke/LambdaForm ! class lengths do not match using stored bytes Retransforming java/util/LinkedHashMap$Entry class bytes match using stored bytes Retransforming java/util/AbstractSet ! class lengths do not match using stored bytes Retransforming java/nio/charset/CodingErrorAction ! class bytes do not match using stored bytes Retransforming java/lang/Long ! class lengths do not match using stored bytes Retransforming java/io/DefaultFileSystem class bytes match using stored bytes Retransforming sun/reflect/MagicAccessorImpl class bytes match using stored bytes Retransforming java/io/Reader ! class lengths do not match using stored bytes Retransforming java/lang/RuntimeException ! class bytes do not match using stored bytes Retransforming sun/reflect/ConstantPool ! class bytes do not match using stored bytes Retransforming java/lang/StackOverflowError class bytes match using stored bytes Retransforming java/util/Collections$EmptySet ! class lengths do not match using stored bytes Retransforming sun/util/locale/BaseLocale$Cache ! class bytes do not match using stored bytes Retransforming java/util/StringTokenizer ! class lengths do not match using stored bytes Retransforming java/net/Parts ! class lengths do not match using stored bytes Retransforming java/lang/CharacterDataLatin1 ! class lengths do not match using stored bytes Retransforming java/util/Hashtable$Entry ! class lengths do not match using stored bytes Retransforming java/lang/reflect/AccessibleObject ! class lengths do not match using stored bytes Retransforming java/lang/Integer$IntegerCache ! class lengths do not match using stored bytes Retransforming java/lang/ref/ReferenceQueue$Lock class bytes match using stored bytes Retransforming java/util/concurrent/ConcurrentHashMap$ValuesView ! class lengths do not match using stored bytes Howdy VMDeath
14-10-2013

Peter, This issue most likely has been already fixed as it looks like a dup of the fixed bug. But it must be checked first that it is not reproducible anymore.
12-10-2013

7u40-defer-request justification: Requesting deferral to 7u60 as the fix for this will not be ready in time for 7u40.
04-07-2013

SQE-OK
04-07-2013

PUBLIC COMMENTS We know about this problem and there even is an old bug that this bug seems to be a duplicate of: 6929027 JVMTI seems to use it's own constant pool merging code which doesn't merge two constant pools with invokedynamic entries properly. There is some code in the VM that could be reused to make this work.
16-08-2012