JDK-8035602 : Test case from JDK-8033150 crashes in within sharedRuntime.cpp/AdapterHandlerLibrary::get_adapter
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 9
  • Priority: P2
  • Status: Resolved
  • Resolution: Duplicate
  • Submitted: 2014-02-21
  • Updated: 2014-04-17
  • Resolved: 2014-03-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u20Resolved 9Resolved
Related Reports
Blocks :  
Relates :  
Description
The TestConflictingDefaultsAndStaticMethod.java test case attached to JDK-8033150 is asserting with an internal error within sharedRuntime.cpp for JDK 9.  This test case should normally generate an ICCE.  The ICCE is generated with JDK 9 b02, but fails with the assertion in JDK 9 b03.


% <JDK 9 promoted b02 build>/b02/binaries/linux-x64/jdk1.9.0/fastdebug/bin/java TestConflictingDefaultsAndStaticMethod
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:484)
        at TestConflictingDefaultsAndStaticMethod.main(TestConflictingDefaultsAndStaticMethod.java:71)
Caused by: java.lang.IncompatibleClassChangeError: Expected static method p1.T4.m()I
        at p1.T4.test(Unknown Source)
        ... 5 more


% <JDK 9 promoted b03 build>/b03/binaries/linux-x64/fastdebug/bin/java TestConflictingDefaultsAndStaticMethod
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/sharedRuntime.cpp:2435
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/HUDSON3/workspace/9-2-build-linux-amd64/jdk9/112/hotspot/src/share/vm/runtime/sharedRuntime.cpp:2435), pid=6981, tid=140114829846288
#  assert(i == total_args_passed) failed:
#
# JRE version: Java(TM) SE Runtime Environment (9.0-b03) (build 1.9.0-ea-fastdebug-b03)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b62-fastdebug mixed mode linux-amd64 compressed oops)
# Core dump written. Default location: /xxx/hpot/test_mine/core or core.6981
#
# An error report file with more information is saved as:
# /xxx/hpot/test_mine/hs_err_pid6981.log
Phoning home...
Using server: 10.161.186.18, port 4711
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
Current thread is 140114829846288
Dumping core ...
Abort (core dumped)
Comments
Duplicate of JDK-8033150.
27-03-2014

You cannot have multiple fixVersion values in one bug records for JBS.
13-03-2014

Initial triage notes: Digging a little bit deeper. I went back to looking at different baselevels in JDK 8 since JDK 9 b01 and b02, initially, did not have all the JDK 8 latest changesets included in their builds. This problem actually started showing up in JDK 8 b124 and can be attributed to the the changeset for JDK-8031059. Building without the change to classfile/defaultMethods.cpp, the test case behaves as reported in JDK-8033150, an ICCE is generated. $JAVA_HOME/bin/java TestConflictingDefaultsAndStaticMethod Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:484) at TestConflictingDefaultsAndStaticMethod.main(TestConflictingDefaultsAndStaticMethod.java:71) Caused by: java.lang.IncompatibleClassChangeError: Expected static method p1.T4.m()I at p1.T4.test(Unknown Source) ... 5 more So the changeset at issue is: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/c3f3cfd39184
05-03-2014