RFC: cannot run hotspot with bootstrap jdk1.7.0_45: see 8014399: Remove JVM_SetProtectionDomain from hotspot:

Daniel D. Daugherty daniel.daugherty at oracle.com
Mon Nov 4 05:52:22 PST 2013

On 11/4/13 2:20 AM, David Holmes wrote:
> On 4/11/2013 4:48 PM, Francis ANDRE wrote:
>> David,
>> Le 03/11/2013 22:24, David Holmes a écrit :
>>> Francis,
>>> On 2/11/2013 10:58 PM, Francis ANDRE wrote:
>>>> Hi
>>>> Building hotspot-rt using this repository
>>>> http://hg.openjdk.java.net/hsx/hotspot-rt on a WXP/Cygwin/VS2010
>>>> platform and running
>>>> C:/Progra~1/Java/jdk1.7.0_45\bin\java.exe
>>>> -XXaltjvm=Z:/JDK/hotspot-rt/hotspot/build\vs-i486/compiler1/debug
>>>> -Dsun.java.launcher=gamma
>>> The gamma launcher has been removed partly because of this kind of
>>> problem. You can not use a hs25 VM in a JDK7 any more. The "hotspot
>>> express" release model, where newer VMs could be used in older JDKs is
>>> no more. The VM and JDK are once again tightly connected.
>> No problem with the VM and JDK being once again tightly connected once
>> the bootstrap process is correct, but in my case, the ProjectCreator for
>> MSVC102 generates this line of command for the hsx/hotspot-rt repository
>>    <PropertyGroup
>> Condition="'$(Configuration)|$(Platform)'=='compiler1_fastdebug|Win32'">
>> <LocalDebuggerCommand>C:/Progra~1/Java/jdk1.7.0_45\bin\java.exe</LocalDebuggerCommand> 
>>      <LocalDebuggerCommandArguments>-XXaltjvm=$(TargetDir)
>> -Dsun.java.launcher=gamma</LocalDebuggerCommandArguments>
>> <LocalDebuggerEnvironment>JAVA_HOME=C:/Progra~1/Java/jdk1.7.0_45</LocalDebuggerEnvironment> 
>>    </PropertyGroup>
>> which is exactly the command line I displayed below
>> C:/Progra~1/Java/jdk1.7.0_45\bin\java.exe
>> -XXaltjvm=Z:/JDK/hotspot-rt/hotspot/build\vs-i486/compiler1/debug
>> -Dsun.java.launcher=gamma
> I don't use ProjectCreator but it looks like it needs to be modified 
> as this is no longer a generally valid approach.

See this bug for work that is going for exactly this issue:

8027113 decouple the '-XXaltjvm=<path>' option from the gamma launcher

This fix won't make HSX-25, but it will be in early for JDK9.


>>>> produces the following exception
>>>> _JVM_SetProtectionDomain at 12 is not found in the dynamic linked library
>>>> jvm.dll
>>>> The definition of SetProtectionDomain has been removed from the 
>>>> jdk8 jvm
>>>> but not its reference in the jdk7 java.exe, thus it is not possible
>>>> anymore to build/run a jdk8 release with a bootstrap release as of 
>>>> jdk7
>>>> that contains such reference. Thus I am proposing to build a jdk7
>>>> release without any reference to the _JVM_SetProtectionDomain entry
>>>> point by back-porting the 8014399  to the jdk7u distribution.
>>> That might be possible but there are likely to be other things -
>>> particularly in the area of invokeDynamic and MethodHandles that will
>>> prevent hs25 from operating within 7u45.
>> InvokeDynamic is a new opcode that will be produced only by jdk8, if I
>> understand well. What I am requesting is just a backport of the
>> reference to SetProtectionDomain -- this changeset 37aa82c52317 -- so
>> that a JDK8 be produced/tested with a jdk7 as bootstrap jdk.
> invokeDynamic was introduced in JDK7. There have been numerous changes 
> in the related VM implementation for it and MethodHandles (and other 
> parts of java.lang.invoke API's) that may prevent a new VM from 
> running in a 7u45 JDK.
> David
> -----
>> Currently, I applied  locally  this changeset 37aa82c52317 and
>> ba9dacff9c9d to the hsx/jdk7u repo and use it to bootstrap jdk8. Tests
>> are in progress. I will keek you updated on the results.
>>> David
>>> -----
>>>> Francis

More information about the hotspot-runtime-dev mailing list