build 18.0-b04-fastdebug regression?

Rémi Forax forax at univ-mlv.fr
Fri Jun 18 00:55:05 PDT 2010


Le 18/06/2010 09:21, Howard Lovatt a écrit :
> Hi,
> I am seeing a change in behavior which I think might be a regression
> from build 17.0-b10 to build 18.0-b04-fastdebug. I am using Stephen
> Bannasch builds on Mac OS 10.6. The working version of my code with
> 17.0-b10 to build gives:
>
> wizziewol-ln:Invoke Dynamic Multiple Dispatch lov080$ $a/java -ea
> -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles
> -XX:+EnableInvokeDynamic -cp dist/Invoke\ Dynamic\ Multiple\
> Dispatch.jar invokedynamicmultipledispatch.Cost
> type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> nearest = cost, type =
> (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> target = cost, type =
> (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> nearest = cost, type =
> (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> target = cost, type =
> (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> cost = 0.0
>
> Which is as expected for the test code I am running. With the newer
> 18.0-b04-fastdebug build I get:
>
> wizziewol-ln:Invoke Dynamic Multiple Dispatch lov080$ $b/java -ea
> -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles
> -XX:+EnableInvokeDynamic -cp dist/Invoke\ Dynamic\ Multiple\
> Dispatch.jar invokedynamicmultipledispatch.Cost
> VM option '+UnlockExperimentalVMOptions'
> VM option '+EnableMethodHandles'
> VM option '+EnableInvokeDynamic'
> type = (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> nearest = cost, type =
> (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> target = cost, type =
> (invokedynamicmultipledispatch.CostCalculator,invokedynamicmultipledispatch.Item)double
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc:  SuppressErrorAt=/cpCacheOop.hpp:133
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error
> (/Users/stephen/dev/java/src/bsd-port/hotspot/src/share/vm/oops/cpCacheOop.hpp:133),
> pid=57368, tid=2953121792
> #  Error: assert(_f2 == 0 || _f2 == f2,"illegal field change")
> #
> # JRE version: 7.0
> # Java VM: OpenJDK Server VM (18.0-b04-fastdebug mixed mode bsd-x86 )
> # An error report file with more information is saved as:
> # /Users/lov080/Dropbox/Personal/Java/examples/Invoke Dynamic Multiple
> Dispatch/hs_err_pid57368.log
> #
> # If you would like to submit a bug report, please visit:
> #   http://java.sun.com/webapps/bugreport/crash.jsp
> #
> Current thread is 2953121792
> Dumping core ...
> Abort trap
>
> The code is failing in the bootstrap method invoked by the first of my
> InvokeDynamic calls when it tries to create a CallSite from a
> MethodHandle.
>
> Is this a known problem or would it be useful if I investigate further?
>    

It's a known problem,
changes have been made into hotspot repository but jdk API was not updated:
see http://mail.openjdk.java.net/pipermail/mlvm-dev/2010-May/001728.html

>   -- Howard.
>    

Rémi


More information about the mlvm-dev mailing list