Possible regression (assert(_adapter == NULL) failed: init'd to NULL)
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Mon Feb 14 01:11:50 PST 2011
On 13/02/11 11:03, Rémi Forax wrote:
> On 02/13/2011 02:08 AM, John Rose wrote:
>> It looks like this regression is due to a version mismatch. The name
>> "invokeVarargs" is no longer defined; it was replaced by
>> "invokeWithArguments" and has been deprecated for some time (since
>> bug 6981777, circa 10/2010).
>>
>> I suspect the lambda prototype needs updating. Also, we are in a
>> transitional period now, since the java.dyn package is being renamed
>> to java.lang.invoke. That might be causing the lambda folks to hold
>> back on backend updates.
>>
>> -- John
>
> Yes, it's a bug in the lambda workspace.
> com.sun.runtime.ProxyHelper use invokeVarargs() instead of
> invokeWithArguments at line 61.
>
> Maurizio, why not use MethodHandles.asInstance() instead of
> ProxyHelper.makeProxy() ?
Thanks for the headsup
I will update the code to use MethodHandles.asInstance()
Maurizio
>
> Rémi
>
>> On Feb 12, 2011, at 4:42 PM, Howard Lovatt wrote:
>>
>>> Using Stephen's Mac OS X builds I find that the latest build:
>>>
>>> java (JVM) Version:
>>> openjdk version "1.7.0-internal-fastdebug"
>>> OpenJDK Runtime Environment (build
>>> 1.7.0-internal-fastdebug-stephen_2011_02_07_15_42-b00)
>>>
>>> Has a problem with a method reference:
>>>
>>> final ActionListener al4 = Main#print( ActionEvent );
>>>
>>> Where print is:
>>>
>>> private static void print( final ActionEvent notUsed ) {
>>> out.println( "Main.print method called" );
>>> }
>>>
>>> The error I get is:
>>>
>>> # To suppress the following error report, specify this argument
>>> # after -XX: or in .hotspotrc: SuppressErrorAt=/methodOop.cpp:697
>>> #
>>> # A fatal error has been detected by the Java Runtime Environment:
>>> #
>>> # Internal Error
>>> (/Users/stephen/dev/java/src/mlvm/sources/hotspot/src/share/vm/oops/methodOop.cpp:697),
>>>
>>> pid=87457, tid=4298117120
>>> # assert(_adapter == NULL) failed: init'd to NULL
>>> #
>>> # JRE version: 7.0
>>> # Java VM: OpenJDK 64-Bit Server VM (20.0-b06-fastdebug mixed mode
>>> bsd-amd64 compressed oops)
>>> # An error report file with more information is saved as:
>>> #
>>> /Users/lov080/Dropbox/Personal/Java/examples/Lambdas/build/classes/hs_err_pid87457.log
>>> #
>>> # If you would like to submit a bug report, please visit:
>>> # http://java.sun.com/webapps/bugreport/crash.jsp
>>> #
>>>
>>> If the error at methodOop.cpp:697 is suppressed then the error is:
>>>
>>> Exception in thread "main" java.lang.NoSuchMethodError:
>>> java.dyn.MethodHandle.invokeVarargs([Ljava/lang/Object;)Ljava/lang/Object;
>>>
>>> at com.sun.runtime.ProxyHelper$1.invoke(ProxyHelper.java:61)
>>> at $Proxy0.actionPerformed(Unknown Source)
>>> at
>>> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2019)
>>>
>>> at
>>> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2342)
>>> at
>>> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
>>> at
>>> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
>>> at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
>>> at javax.swing.AbstractButton.doClick(AbstractButton.java:356)
>>> at lambdas.Main.methodReferences(Main.java:147)
>>> at lambdas.Main.main(Main.java:24)
>>>
>>>
>>> The previous build, dated 11 Jan, is fine with this example.
>>>
>>> -- Howard.
>>> _______________________________________________
>>> mlvm-dev mailing list
>>> mlvm-dev at openjdk.java.net
>>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>> _______________________________________________
>> mlvm-dev mailing list
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>
More information about the mlvm-dev
mailing list