Build of jdk-7udev: Error occurred during initialization of VM

Tim Bell tim.bell at oracle.com
Thu Nov 15 05:52:14 UTC 2012


See below for the 'flag day' message related to this, sent to the 
hotspot and 7u dev lists.

On 11/14/12 21:24, David Holmes wrote:
> As general advice yes you need matching jdk and hotspot builds in 7u 
> now (and 8), but this error in itself seems unrelated to invokeDynamic.

[snip...]

> Pete Brunet wrote:
>> I recloned hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk today and the build
>> failed as follows:
>>
>> make[3]: Entering directory
>> `/cygdrive/c/Users/Pete/JDK7u/jdk7u-dev/jdk/make/com/sun/jmx'
>> /usr/bin/mkdir -p
>> ../../../../build/windows-i586/classes/javax/management/remote/rmi
>> rm -f
>> ../../../../build/windows-i586/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.class
>> ../../../../build/windows-i586/bin/java -XX:-PrintVMOptions
>> -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -client -Xmx512m
>> -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m -cp
>> ../../../../build/windows-i586/classes sun.rmi.rmic.Main -classpath
>> "../../../../build/windows-i586/classes"    \
>>                  -d ../../../../build/windows-i586/classes              \
>>                  -v1.2                           \
>>                  -keepgenerated                  \
>>                  javax.management.remote.rmi.RMIConnectionImpl
>> Error occurred during initialization of VM
>> java/lang/NoClassDefFoundError: java/lang/invoke/AdapterMethodHandle
>> make[3]: ***
>> [../../../../build/windows-i586/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.class]
>> Error 1
>> make[3]: Leaving directory
>> `/cygdrive/c/Users/Pete/JDK7u/jdk7u-dev/jdk/make/com/sun/jmx'

This may not be quite the same error fingerprint as described in the 
flag day message,  but having java/lang/invoke involved makes me believe 
the problems are similar.

The short answer is to build the full forest, at least until a jdk7u 
build is promoted with the JSR292 (invoke dynamic) changes included.  
After that, you can try using it as an import JDK.

Regards-

Tim

-------- Original Message --------
Subject: 	flag day
Date: 	Wed, 07 Nov 2012 16:53:05 -0700
From: 	Alejandro E Murillo <alejandro.murillo at oracle.com>
Organization: 	Oracle Corporation
To: 	jdk7u-dev at openjdk.java.net, hotspot-dev at openjdk.java.net



Many apologies for the delay sending this info

This afternoon I integrated hs24-b24 into jdk7u12 [1].
That integration includes the changes for JSR292 (invoke dynamic)
that were integrated into jdk8 back in August.
These changes require the hotspot and jdk repos to be in sync.
(hotspot and jdk repos must match - i.e., either both must have the JSR292 changes or
both must not have them)

A JDK with mismatched repos may build but will not be able to handle
invoke dynamics appropriately, and will fail with a message similar to this:

$ java -showversion -Xbootclasspath/p:$PWD/classes
-XX:+UnlockDiagnosticVMOptions -XX:+EnableInvokeDynamic
Invalid layout of java.lang.invoke.MemberName at vmindex

In particular, users of JPRT who have pulled the changes must build
*both* hotspot and jdk until the JSR292 changes are in a promoted
jdk7u12 build (expected tomorrow, Thu, November 8, 2012).

The simplest coping strategy is to avoid pulling
from the jdk7u master repo until the next jdk7u12 build is promoted.
If you do pull, make sure to pull both hotspot and jdk, and to build both.

  [1] http://hg.openjdk.java.net/jdk7u/jdk7u

Thanks
-- 
Alejandro





More information about the build-dev mailing list