JDK-8050105 : test sun/rmi/rmic/minimizeWrapperInstances/run.sh fails
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.rmi
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2014-07-11
  • Updated: 2023-08-01
  • Resolved: 2014-07-12
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
8u391Fixed 9 b23Fixed
Related Reports
Relates :  
Description
This test has started to fail in regular builds. It seems likely this is related to

    JDK-8011044: Remove support for 1.5 and earlier source and target options

Test failure log is below.

---------------------------------------------
 sun/rmi/rmic/minimizeWrapperInstances/run.sh
---------------------------------------------
    nightly-b23_2014-07-10 sun/rmi/rmic/minimizeWrapperInstances/run.sh FAIL ON ALL PLATFORMS
    test result: Failed. Execution failed: exit code 1

+ /Users/aurora/CommonData/jdk/bin/rmic -classpath /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances -d /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances PImpl 
+ /Users/aurora/CommonData/jdk/bin/java -ea -esa -Xmx512m -classpath /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances Test 

Regression test for RFE 5096178

expected argument values: { java.lang.Boolean@118352462(false) }
  actual argument values: { java.lang.Boolean@118352462(false) }
expected argument values: { java.lang.Boolean@1550089733(true) }
  actual argument values: { java.lang.Boolean@1550089733(true) }
TEST PASSED
+ /Users/aurora/CommonData/jdk/bin/rmic -classpath /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances -d /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances -vcompat PImpl 
+ /Users/aurora/CommonData/jdk/bin/java -ea -esa -Xmx512m -classpath /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances Test 

Regression test for RFE 5096178

expected argument values: { java.lang.Boolean@1550089733(false) }
  actual argument values: { java.lang.Boolean@1550089733(false) }
expected argument values: { java.lang.Boolean@865113938(true) }
  actual argument values: { java.lang.Boolean@865113938(true) }
TEST PASSED
+ /Users/aurora/CommonData/jdk/bin/rmic -Xnew -classpath /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances -d /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances PImpl 
+ /Users/aurora/CommonData/jdk/bin/java -ea -esa -Xmx512m -classpath /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/classes/sun/rmi/rmic/minimizeWrapperInstances Test 

Regression test for RFE 5096178

Exception in thread "main" java.lang.VerifyError: (class: PImpl_Stub, method: <clinit> signature: ()V) Illegal type in constant pool
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:263)
	at Test.main(Test.java:39)



Comments
URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/d04d8ae46ca3 User: lana Date: 2014-07-16 16:40:11 +0000
16-07-2014

URL: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/d04d8ae46ca3 User: smarks Date: 2014-07-12 17:50:03 +0000
12-07-2014

RULE sun/rmi/rmic/minimizeWrapperInstances/run.sh Exception java.lang.VerifyError: (class: PImpl_Stub, method: <clinit> signature: ()V) Illegal type in constant pool RULE sun/rmi/rmic/minimizeWrapperInstances/run.sh ExitCode 1
12-07-2014

By default, rmic uses the old javac compiler in sun.tools for compiling the generated stubs. This compiler accepts Java source code at the 1.3 level. Rmic sets the compilation environment to generate version 45.3 class files (equivalent of -target 1.1), which is the release in which RMI was introduced. This ensures that generated stubs are compatible with any shipping RMI binary. There is a hidden option -Xnew to rmic that generates and compiles stubs using "newrmic" which is an alternate, incomplete, and unsupported version of rmic. This version uses the new javac compiler in com.sun.tools.javac. To preserve compatibility the same way it does with the old javac, newrmic passes the -source 1.3 -target 1.1 options to the new javac. These options have been desupported and removed by the fix for JDK-8011044: Remove support for 1.5 and earlier source and target options Interestingly, the compilation invoked by newrmic with these unsupported options doesn't cause the compilation to fail. Instead, invalid class files are generated, and these generate a VerifyError when they are loaded by the JVM. Static stub generation for JRMP is deprecated, and newrmic supports only JRMP stub generation (not IIOP/CORBA stub generation). There is therefore little use in running tests that use newrmic, so the invocations using -Xnew in this test should simply be removed.
12-07-2014