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