Hello community, here is the log from the commit of package java-1_9_0-openjdk for openSUSE:Factory checked in at 2017-02-04 15:22:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/java-1_9_0-openjdk (Old) and /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-1_9_0-openjdk" Changes: -------- --- /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/java-1_9_0-openjdk.changes 2017-02-03 17:43:09.786315520 +0100 +++ /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/java-1_9_0-openjdk.changes 2017-02-04 17:58:13.255811573 +0100 @@ -1,0 +2,8 @@ +Fri Feb 3 07:23:40 UTC 2017 - fst...@suse.com + +- Update to upstream tag jdk-9+155 +- Changed patch + * s390-java-opts.patch + - rewrite the patch to correspond to the new boot-jdk.m4 + +------------------------------------------------------------------- Old: ---- 078ebe23b584.tar.bz2 34af95c7dbff.tar.bz2 6a9dd3d893b0.tar.bz2 7fa738305436.tar.bz2 8d26916eaa21.tar.bz2 a84b49cfee63.tar.bz2 a9fdfd55835e.tar.bz2 c97e7a8b8da0.tar.bz2 New: ---- 48fa77af1532.tar.bz2 688a3863c00e.tar.bz2 9b9918656c97.tar.bz2 a545f54babfa.tar.bz2 dfcfdb2db85f.tar.bz2 e170c858888e.tar.bz2 f3b3d77a1751.tar.bz2 f9bb37a817b3.tar.bz2 s390-java-opts.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ java-1_9_0-openjdk.spec ++++++ --- /var/tmp/diff_new_pack.SBjciH/_old 2017-02-04 17:58:16.567338060 +0100 +++ /var/tmp/diff_new_pack.SBjciH/_new 2017-02-04 17:58:16.567338060 +0100 @@ -17,7 +17,7 @@ %{!?aarch64:%global aarch64 aarch64 arm64 armv8} -%global jit_arches %{ix86} x86_64 ppc64 ppc64le %{aarch64} %{arm} s390x +%global jit_arches %{ix86} x86_64 ppc64 ppc64le %{aarch64} %{arm} %global debug 0 %global buildoutputdir build # Convert an absolute path to a relative path. Each symbolic link is @@ -32,17 +32,17 @@ %global minorver 0 %global securityver 0 %global patchver 0 -%global buildver 154 +%global buildver 155 %global root_project jdk9 %global root_repository jdk9 -%global root_revision 8d26916eaa21 -%global corba_revision 078ebe23b584 -%global hotspot_revision a9fdfd55835e -%global jaxp_revision 7fa738305436 -%global jaxws_revision 34af95c7dbff -%global jdk_revision c97e7a8b8da0 -%global langtools_revision 6a9dd3d893b0 -%global nashorn_revision a84b49cfee63 +%global root_revision 688a3863c00e +%global corba_revision a545f54babfa +%global hotspot_revision f3b3d77a1751 +%global jaxp_revision 48fa77af1532 +%global jaxws_revision 9b9918656c97 +%global jdk_revision e170c858888e +%global langtools_revision dfcfdb2db85f +%global nashorn_revision f9bb37a817b3 %global icedtea_sound_version 1.0.1 # priority must be 6 digits in total %global priority 1905 @@ -174,6 +174,7 @@ # # OpenJDK specific patches # +Patch100: s390-java-opts.patch Patch101: s390-size_t.patch # Patch102: sorted-diff.patch @@ -443,6 +444,7 @@ # s390 build fixes %ifarch s390 +%patch100 -p1 %patch101 -p1 %endif ++++++ 078ebe23b584.tar.bz2 -> 48fa77af1532.tar.bz2 ++++++ ++++ 972392 lines of diff (skipped) ++++++ a84b49cfee63.tar.bz2 -> 688a3863c00e.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/a84b49cfee63.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/688a3863c00e.tar.bz2 differ: char 11, line 1 ++++++ a84b49cfee63.tar.bz2 -> 9b9918656c97.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/a84b49cfee63.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/9b9918656c97.tar.bz2 differ: char 11, line 1 ++++++ 078ebe23b584.tar.bz2 -> a545f54babfa.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/corba-078ebe23b584/.hg_archival.txt new/corba-a545f54babfa/.hg_archival.txt --- old/corba-078ebe23b584/.hg_archival.txt 2017-01-20 19:26:37.000000000 +0100 +++ new/corba-a545f54babfa/.hg_archival.txt 2017-01-27 17:28:56.000000000 +0100 @@ -1,4 +1,4 @@ repo: 55540e827aef970ecc010b7e06b912d991c8e3ce -node: 078ebe23b584466dc8346e620d7821d91751e5a9 +node: a545f54babfa31aa7eb611f36031609acd617cbc branch: default -tag: jdk-9+154 +tag: jdk-9+155 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/corba-078ebe23b584/.hgtags new/corba-a545f54babfa/.hgtags --- old/corba-078ebe23b584/.hgtags 2017-01-20 19:26:37.000000000 +0100 +++ new/corba-a545f54babfa/.hgtags 2017-01-27 17:28:56.000000000 +0100 @@ -396,3 +396,4 @@ 77f827f5bbad3ef795664bc675f72d98d156b9f8 jdk-9+151 ff8cb43c07c069b1debdee44cb88ca22db1ec757 jdk-9+152 68a8e8658511093b322a46ed04b2a321e1da2a43 jdk-9+153 +078ebe23b584466dc8346e620d7821d91751e5a9 jdk-9+154 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/corba-078ebe23b584/src/java.corba/share/classes/com/sun/corba/se/spi/orb/ORB.java new/corba-a545f54babfa/src/java.corba/share/classes/com/sun/corba/se/spi/orb/ORB.java --- old/corba-078ebe23b584/src/java.corba/share/classes/com/sun/corba/se/spi/orb/ORB.java 2017-01-20 19:26:37.000000000 +0100 +++ new/corba-a545f54babfa/src/java.corba/share/classes/com/sun/corba/se/spi/orb/ORB.java 2017-01-27 17:28:56.000000000 +0100 @@ -31,9 +31,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger ; -import java.security.AccessController ; -import java.security.PrivilegedAction ; - import org.omg.CORBA.TCKind ; import com.sun.corba.se.pept.broker.Broker ; @@ -89,9 +86,6 @@ import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl ; -import jdk.internal.misc.JavaAWTAccess; -import jdk.internal.misc.SharedSecrets; - public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB implements Broker, TypeCodeFactory { @@ -164,12 +158,9 @@ static class Holder { static final PresentationManager defaultPresentationManager = - setupPresentationManager(); + setupPresentationManager(); } - private static final Map<Object, PresentationManager> pmContexts = - new ConcurrentHashMap<>(); - private static Map<StringPair, LogWrapperBase> staticWrapperMap = new ConcurrentHashMap<>(); @@ -198,23 +189,10 @@ byteBufferPool = null; } - /** - * Returns the Presentation Manager for the current thread group, using the ThreadGroup-specific - * AppContext to hold it. Creates and records one if needed. + /** Get the single instance of the PresentationManager */ public static PresentationManager getPresentationManager() { - SecurityManager sm = System.getSecurityManager(); - JavaAWTAccess javaAwtAccess = SharedSecrets.getJavaAWTAccess(); - if (sm != null && javaAwtAccess != null) { - final Object appletContext = javaAwtAccess.getAppletContext(); - if (appletContext != null) { - return pmContexts.computeIfAbsent(appletContext, - x -> setupPresentationManager()); - } - } - - // No security manager or AppletAppContext return Holder.defaultPresentationManager; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/corba-078ebe23b584/src/java.corba/share/classes/org/omg/CORBA/ORB.java new/corba-a545f54babfa/src/java.corba/share/classes/org/omg/CORBA/ORB.java --- old/corba-078ebe23b584/src/java.corba/share/classes/org/omg/CORBA/ORB.java 2017-01-20 19:26:37.000000000 +0100 +++ new/corba-a545f54babfa/src/java.corba/share/classes/org/omg/CORBA/ORB.java 2017-01-27 17:28:56.000000000 +0100 @@ -36,8 +36,6 @@ import java.security.AccessController; import java.security.PrivilegedAction; -import sun.reflect.misc.ReflectUtil; - /** * A class providing APIs for the CORBA Object Request Broker * features. The {@code ORB} class also provides @@ -188,6 +186,24 @@ private static final String ORBClassKey = "org.omg.CORBA.ORBClass"; private static final String ORBSingletonClassKey = "org.omg.CORBA.ORBSingletonClass"; + // check that access to the class is not restricted by the security manager. + private static void checkPackageAccess(String name) { + SecurityManager s = System.getSecurityManager(); + if (s != null) { + String cname = name.replace('/', '.'); + if (cname.startsWith("[")) { + int b = cname.lastIndexOf('[') + 2; + if (b > 1 && b < cname.length()) { + cname = cname.substring(b); + } + } + int i = cname.lastIndexOf('.'); + if (i != -1) { + s.checkPackageAccess(cname.substring(0, i)); + } + } + } + // // The global instance of the singleton ORB implementation which // acts as a factory for typecodes for generated Helper classes. @@ -318,7 +334,7 @@ private static ORB create_impl_with_systemclassloader(String className) { try { - ReflectUtil.checkPackageAccess(className); + checkPackageAccess(className); ClassLoader cl = ClassLoader.getSystemClassLoader(); Class<org.omg.CORBA.ORB> orbBaseClass = org.omg.CORBA.ORB.class; Class<?> singletonOrbClass = Class.forName(className, true, cl).asSubclass(orbBaseClass); @@ -337,7 +353,7 @@ cl = ClassLoader.getSystemClassLoader(); try { - ReflectUtil.checkPackageAccess(className); + checkPackageAccess(className); Class<org.omg.CORBA.ORB> orbBaseClass = org.omg.CORBA.ORB.class; Class<?> orbClass = Class.forName(className, true, cl).asSubclass(orbBaseClass); return (ORB)orbClass.newInstance(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/corba-078ebe23b584/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/InputStream.java new/corba-a545f54babfa/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/InputStream.java --- old/corba-078ebe23b584/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/InputStream.java 2017-01-20 19:26:37.000000000 +0100 +++ new/corba-a545f54babfa/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/InputStream.java 2017-01-27 17:28:56.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -75,10 +75,11 @@ /** * Create a new instance of this class. * - * throw SecurityException if SecurityManager is installed and + * @implNote + * Throws SecurityException if SecurityManager is installed and * enableSubclassImplementation SerializablePermission * is not granted or jdk.corba.allowInputStreamSubclass system - * property is either not set or is set to 'false' + * property is either not set or is set to 'false'. */ public InputStream() { this(checkPermission()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/corba-078ebe23b584/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java new/corba-a545f54babfa/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java --- old/corba-078ebe23b584/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java 2017-01-20 19:26:37.000000000 +0100 +++ new/corba-a545f54babfa/src/java.corba/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java 2017-01-27 17:28:56.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -72,10 +72,11 @@ /** * Create a new instance of this class. * - * throw SecurityException if SecurityManager is installed and + * @implNote + * Throws SecurityException if SecurityManager is installed and * enableSubclassImplementation SerializablePermission * is not granted or jdk.corba.allowOutputStreamSubclass system - * property is either not set or is set to 'false' + * property is either not set or is set to 'false'. */ public OutputStream() { this(checkPermission()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/corba-078ebe23b584/src/java.corba/share/classes/sun/corba/Bridge.java new/corba-a545f54babfa/src/java.corba/share/classes/sun/corba/Bridge.java --- old/corba-078ebe23b584/src/java.corba/share/classes/sun/corba/Bridge.java 2017-01-20 19:26:37.000000000 +0100 +++ new/corba-a545f54babfa/src/java.corba/share/classes/sun/corba/Bridge.java 2017-01-27 17:28:56.000000000 +0100 @@ -29,6 +29,10 @@ import java.lang.invoke.MethodHandle; import java.lang.reflect.Field ; import java.lang.reflect.Constructor ; +import java.lang.StackWalker; +import java.lang.StackWalker.StackFrame; +import java.util.Optional; +import java.util.stream.Stream; import java.security.AccessController; import java.security.Permission; @@ -58,6 +62,7 @@ * <li>RuntimePermission "reflectionFactoryAccess"</li> * <li>BridgePermission "getBridge"</li> * <li>ReflectPermission "suppressAccessChecks"</li> + * <li>StackFramePermission "retainClassReference"</li> * </ul> * <p> * All of these permissions are required to obtain and correctly initialize @@ -89,9 +94,12 @@ ) ; private final ReflectionFactory reflectionFactory ; + private final StackWalker stackWalker; private Bridge() { reflectionFactory = ReflectionFactory.getReflectionFactory(); + stackWalker = StackWalker.getInstance( + StackWalker.Option.RETAIN_CLASS_REFERENCE); } /** Fetch the Bridge singleton. This requires the following @@ -100,6 +108,7 @@ * <li>RuntimePermission "reflectionFactoryAccess"</li> * <li>BridgePermission "getBridge"</li> * <li>ReflectPermission "suppressAccessChecks"</li> + * <li>StackFramePermission "retainClassReference"</li> * </ul> * @return The singleton instance of the Bridge class * @throws SecurityException if the caller does not have the @@ -118,11 +127,33 @@ return bridge ; } + /** Returns true if the loader that loaded the frame's declaring class + * is a user loader (if it is not the platform class loader or one of + * its ancestor). + */ + private boolean isUserLoader(StackFrame sf) { + ClassLoader cl = sf.getDeclaringClass().getClassLoader(); + if (cl == null) return false; + ClassLoader p = ClassLoader.getPlatformClassLoader(); + while (cl != p && p != null) p = p.getParent(); + return cl != p; + } + + private Optional<StackFrame> getLatestUserDefinedLoaderFrame(Stream<StackFrame> stream) { + return stream.filter(this::isUserLoader).findFirst(); + } + + /** Obtain the latest user defined ClassLoader from the call stack. * This is required by the RMI-IIOP specification. */ public final ClassLoader getLatestUserDefinedLoader() { - return jdk.internal.misc.VM.latestUserDefinedLoader(); + // requires getClassLoader permission => needs doPrivileged. + PrivilegedAction<ClassLoader> pa = () -> + stackWalker.walk(this::getLatestUserDefinedLoaderFrame) + .map(sf -> sf.getDeclaringClass().getClassLoader()) + .orElseGet(() -> ClassLoader.getPlatformClassLoader()); + return AccessController.doPrivileged(pa); } /** ++++++ 078ebe23b584.tar.bz2 -> dfcfdb2db85f.tar.bz2 ++++++ ++++ 1252424 lines of diff (skipped) ++++++ 078ebe23b584.tar.bz2 -> e170c858888e.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/078ebe23b584.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/e170c858888e.tar.bz2 differ: char 11, line 1 ++++++ 078ebe23b584.tar.bz2 -> f3b3d77a1751.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/078ebe23b584.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/f3b3d77a1751.tar.bz2 differ: char 11, line 1 ++++++ 078ebe23b584.tar.bz2 -> f9bb37a817b3.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/078ebe23b584.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/f9bb37a817b3.tar.bz2 differ: char 11, line 1 ++++++ s390-java-opts.patch ++++++ --- jdk9/common/autoconf/boot-jdk.m4 2017-01-23 20:49:50.000000000 +0100 +++ jdk9/common/autoconf/boot-jdk.m4 2017-02-02 07:37:15.384455529 +0100 @@ -360,11 +360,11 @@ AC_MSG_CHECKING([flags for boot jdk java command for big workloads]) # Starting amount of heap memory. - ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA]) - BOOTCYCLE_JVM_ARGS_BIG=-Xms64M + ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs_big,[$JAVA]) + BOOTCYCLE_JVM_ARGS_BIG=-Xms256M # Maximum amount of heap memory and stack size. - JVM_HEAP_LIMIT_32="1024" + JVM_HEAP_LIMIT_32="768" # Running a 64 bit JVM allows for and requires a bigger heap JVM_HEAP_LIMIT_64="1600" STACK_SIZE_32=768 @@ -417,8 +417,8 @@ # Use serial gc for small short lived tools if possible ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA]) - ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA]) - ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs_small,[$JAVA]) + ADD_JVM_ARG_IF_OK([-Xmx768M],boot_jdk_jvmargs_small,[$JAVA]) ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA]) AC_MSG_RESULT([$boot_jdk_jvmargs_small])