/hg/release/icedtea6-1.13: 13 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Tue Jul 15 20:28:55 UTC 2014


changeset d3c2f64bd8fc in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=d3c2f64bd8fc
author: Omair Majid <omajid at redhat.com>
date: Tue Jul 08 18:19:52 2014 -0400

	2014-07-15 CPU

	Update to OpenJDK6 b32 that contains security fixes.

	2014-07-08  Omair Majid  <omajid at redhat.com>

	    2014-07-15 CPU
	    * NEW: Update with fixes.
	    * Makefile.am
	    (OPENJDK_DATE, OPENJDK_SHA256SUM, OPENJDK_VERSION): Update for b32.
	    (ICEDTEA_PATCHES): Drop upstreamed patches.
	    * patches/openjdk/6636370-appcontext_simplification.patch,
	    * patches/openjdk/6729772-opt_cleanup.patch,
	    * patches/openjdk/6799141-split_out_versions.patch,
	    * patches/openjdk/6816311-compiler_name.patch,
	    * patches/windows-awt.patch: Update to apply on top of b32.
	    * patches/jtreg-T6638712-fix.patch,
	    * patches/openjdk/6638712-wildcard_types.patch,
	    * patches/openjdk/6650759-missing_inference.patch: Remove upstreamed
	    patch.


changeset e7dbc33f6f5b in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=e7dbc33f6f5b
author: Omair Majid <omajid at redhat.com>
date: Mon Jul 14 01:29:01 2014 -0400

	Update to newer 2014-07-15 tarball

	2014-07-14  Omair Majid  <omajid at redhat.com>

	       * NEWS: Update with fixes.
	       * Makefile.am (OPENJDK_SHA256SUM): Update checksum for new tarball.


changeset 3d9c006eaf4f in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=3d9c006eaf4f
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 16:04:35 2014 +0100

	Merge


changeset 41b9b1df898c in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=41b9b1df898c
author: Omair Majid <omajid at redhat.com>
date: Tue Jul 15 12:14:49 2014 -0400

	Release 1.13.4

	2014-07-15  Omair Majid  <omajid at redhat.com>

	    * NEWS: Set unembargo date.
	    * configure.ac: Bump to 1.13.4.


changeset 3e9e26ebca6c in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=3e9e26ebca6c
author: Omair Majid <omajid at redhat.com>
date: Tue Jul 15 12:24:44 2014 -0400

	Added tag icedtea6-1.13.4 for changeset 41b9b1df898c


changeset 0d6fd5bae539 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=0d6fd5bae539
author: Omair Majid <omajid at redhat.com>
date: Tue Jul 15 12:34:37 2014 -0400

	Start 1.13.5 release cycle.

	2014-07-15  Omair Majid  <omajid at redhat.com>

		* NEWS: Add a section for 1.13.5
		* configure.ac: Bump to 1.13.5pre.


changeset 21a1b0e6077e in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=21a1b0e6077e
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 17:40:35 2014 +0100

	S7183251: Netbeans editor renders text wrong on JDK 7u6 build

	2014-05-28  Andrew John Hughes  <gnu.andrew at redhat.com>

		* Makefile.am:
		(ICEDTEA_PATCHES): Add new patches.
		* NEWS: Updated.
		* patches/openjdk/7183251-netbeans_renders_text_wrong.patch:
		Backport text layout fixes.


changeset a359fcb9891d in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=a359fcb9891d
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 17:54:05 2014 +0100

	Merge


changeset 98dcce0066c5 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=98dcce0066c5
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 18:17:57 2014 +0100

	Add CVE information to NEWS.

	2014-07-15  Andrew John Hughes  <gnu.andrew at redhat.com>

		* NEWS:
		Move D-I-D fixes into security list.
		Add CVE numbers.


changeset 5749b9d7b329 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=5749b9d7b329
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 18:19:34 2014 +0100

	Prepare for 1.13.4 release.

	2014-07-15  Andrew John Hughes  <gnu.andrew at redhat.com>

		* configure.ac: Bump to 1.13.4.
		* NEWS: Remove 1.13.5 section.


changeset cbd687c7240d in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=cbd687c7240d
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 18:19:49 2014 +0100

	Removed tag icedtea6-1.13.4


changeset 46f42f7e474f in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=46f42f7e474f
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 21:25:57 2014 +0100

	Added tag icedtea6-1.13.4 for changeset cbd687c7240d


changeset 73fd837debeb in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=73fd837debeb
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jul 15 21:28:07 2014 +0100

	Start 1.13.5 release cycle.

	2014-07-15  Andrew John Hughes  <gnu.andrew at redhat.com>

		* configure.ac: Bump to 1.13.5pre.
		* NEWS: Add 1.13.5 section.


diffstat:

 .hgtags                                                          |    5 +
 ChangeLog                                                        |   65 +
 Makefile.am                                                      |   14 +-
 NEWS                                                             |   44 +-
 configure.ac                                                     |    2 +-
 patches/jtreg-T6638712-fix.patch                                 |   30 -
 patches/openjdk/6636370-appcontext_simplification.patch          |   52 +-
 patches/openjdk/6638712-wildcard_types.patch                     |  563 ------
 patches/openjdk/6650759-missing_inference.patch                  |  884 ----------
 patches/openjdk/6729772-opt_cleanup.patch                        |  140 -
 patches/openjdk/6799141-split_out_versions.patch                 |   28 +-
 patches/openjdk/6816311-compiler_name.patch                      |  221 --
 patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch |   33 +
 patches/openjdk/7183251-netbeans_renders_text_wrong.patch        |   24 +
 patches/windows-awt.patch                                        |   45 -
 15 files changed, 217 insertions(+), 1933 deletions(-)

diffs (truncated from 2352 to 500 lines):

diff -r c48649311b8f -r 73fd837debeb .hgtags
--- a/.hgtags	Fri May 09 13:19:29 2014 +0200
+++ b/.hgtags	Tue Jul 15 21:28:07 2014 +0100
@@ -26,3 +26,8 @@
 eb77bc7992a9c321470c8426c901abd75ed8f567 icedtea6-1.13.1
 84eda38cea6394a1973c62aed9e26086690db5c7 icedtea6-1.13.2
 d616ea6189f4d38427d0035eea31eb592ff90ebd icedtea6-1.13.3
+41b9b1df898c29f45b09aff3fdd8dad164a9bf7a icedtea6-1.13.4
+41b9b1df898c29f45b09aff3fdd8dad164a9bf7a icedtea6-1.13.4
+0000000000000000000000000000000000000000 icedtea6-1.13.4
+0000000000000000000000000000000000000000 icedtea6-1.13.4
+cbd687c7240d173b0b34840ba07a39a6e7b39a20 icedtea6-1.13.4
diff -r c48649311b8f -r 73fd837debeb ChangeLog
--- a/ChangeLog	Fri May 09 13:19:29 2014 +0200
+++ b/ChangeLog	Tue Jul 15 21:28:07 2014 +0100
@@ -1,3 +1,68 @@
+2014-07-15  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* configure.ac: Bump to 1.13.5pre.
+	* NEWS: Add 1.13.5 section.
+
+2014-07-15  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* configure.ac: Bump to 1.13.4.
+	* NEWS: Remove 1.13.5 section.
+
+2014-07-15  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* NEWS:
+	Move D-I-D fixes into security list.
+	Add CVE numbers.
+
+2014-07-15  Omair Majid  <omajid at redhat.com>
+
+	* NEWS: Add a section for 1.13.5
+	* configure.ac: Bump to 1.13.5pre.
+
+2014-07-15  Omair Majid  <omajid at redhat.com>
+
+	* NEWS: Set unembargo date.
+	* configure.ac: Bump to 1.13.4.
+
+2014-07-14  Omair Majid  <omajid at redhat.com>
+
+	* NEWS: Update with fixes.
+	* Makefile.am (OPENJDK_SHA256SUM): Update checksum for new tarball.
+
+2014-07-08  Omair Majid  <omajid at redhat.com>
+
+	2014-07-15 CPU
+	* NEWS: Update with fixes.
+	* Makefile.am
+	(OPENJDK_DATE, OPENJDK_SHA256SUM, OPENJDK_VERSION): Update for b32.
+	(ICEDTEA_PATCHES): Drop upstreamed patches.
+	* patches/openjdk/6636370-appcontext_simplification.patch,
+	* patches/openjdk/6729772-opt_cleanup.patch,
+	* patches/openjdk/6799141-split_out_versions.patch,
+	* patches/openjdk/6816311-compiler_name.patch,
+	* patches/windows-awt.patch: Update to apply on top of b32.
+	* patches/jtreg-T6638712-fix.patch,
+	* patches/openjdk/6638712-wildcard_types.patch,
+	* patches/openjdk/6650759-missing_inference.patch: Remove upstreamed
+	patch.
+
+2014-05-28  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patches.
+	* NEWS: Updated.
+	* patches/openjdk/7183251-netbeans_renders_text_wrong.patch:
+	Backport text layout fixes.
+
+2014-05-22  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patch.
+	* NEWS: Updated.
+	* patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch:
+	Backport fix to replace HashMap usage with ConcurrentHashMap,
+	avoiding deadlock.
+
 2014-05-09  Jiri Vanek  <jvanek at redhat.com>
 
 	* Makefile.am: (add-nss-debug.stamp): fixed ECJ_BUILD_OUTPUT_DIR
diff -r c48649311b8f -r 73fd837debeb Makefile.am
--- a/Makefile.am	Fri May 09 13:19:29 2014 +0200
+++ b/Makefile.am	Tue Jul 15 21:28:07 2014 +0100
@@ -1,8 +1,8 @@
 # Dependencies
 
-OPENJDK_DATE = 15_apr_2014
-OPENJDK_SHA256SUM = 362d9bf20e91393b52dd0513896d39831cf320c49bd4bf1e28124f21569b72eb
-OPENJDK_VERSION = b31
+OPENJDK_DATE = 15_jul_2014
+OPENJDK_SHA256SUM = 9a5ad1b599953baac1b6b34189b9487ac5dcdb367aac5cc0aa5aa49700e73871
+OPENJDK_VERSION = b32
 OPENJDK_URL = https://java.net/downloads/openjdk6/
 
 CACAO_VERSION = 68fe50ac34ec
@@ -374,12 +374,8 @@
 	patches/ipv4-mapped-ipv6-addresses.patch \
 	patches/jtreg-OpenGLContextInit.patch \
 	patches/openjdk/6510892-httpserver_test.patch \
-	patches/openjdk/6638712-wildcard_types.patch \
-	patches/openjdk/6650759-missing_inference.patch \
 	patches/jtreg-international-fonts.patch \
 	patches/f14-fonts.patch \
-	patches/jtreg-T6638712-fix.patch \
-	patches/jtreg-T6650759m-fix.patch \
 	patches/openjdk/7003777-bad-html-entity-parse.patch \
 	patches/rendering-engine-tests.patch \
 	patches/openjdk/6800846-printing-quality.patch \
@@ -611,7 +607,9 @@
 	patches/windows-jdk-sizecalc.patch \
 	patches/shark_fixes_from_8003868.patch \
 	patches/8003992_support_6.patch \
-	patches/shark-drop_compile_method_arg_following_7083786.patch
+	patches/shark-drop_compile_method_arg_following_7083786.patch \
+	patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch \
+	patches/openjdk/7183251-netbeans_renders_text_wrong.patch
 
 if WITH_RHINO
 ICEDTEA_PATCHES += \
diff -r c48649311b8f -r 73fd837debeb NEWS
--- a/NEWS	Fri May 09 13:19:29 2014 +0200
+++ b/NEWS	Tue Jul 15 21:28:07 2014 +0100
@@ -12,7 +12,49 @@
 
 CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
 
-New in release 1.13.4 (2014-07-XX):
+New in release 1.13.5 (2014-10-YY):
+
+New in release 1.13.4 (2014-07-15):
+
+* Security fixes
+  - S8029755, CVE-2014-4209: Enhance subject class
+  - S8030763: Validate global memory allocation
+  - S8031346, CVE-2014-4244: Enhance RSA key handling
+  - S8031540: Introduce document horizon
+  - S8032536: JVM resolves wrong method in some unusual cases
+  - S8033055: Issues in 2d
+  - S8033301, CVE-2014-4266: Build more informative InfoBuilder
+  - S8034267: Probabilistic native crash
+  - S8034272: Do not cram data into CRAM arrays
+  - S8035004, CVE-2014-4252: Provider provides less service
+  - S8035009, CVE-2014-4218: Make Proxy representations consistent
+  - S8035119, CVE-2014-4219: Fix exceptions to bytecode verification
+  - S8035699, CVE-2014-4268: File choosers should be choosier
+  - S8036571: (process) Process process arguments carefully
+  - S8036800: Attribute OOM to correct part of code
+  - S8037046: Validate libraries to be loaded
+  - S8037157: Verify <init> call
+  - S8037076, CVE-2014-2490: Check constant pool constants
+  - S8037162, CVE-2014-4263: More robust DH exchanges
+  - S8037167, CVE-2014-4216: Better method signature resolution
+  - S8039520, CVE-2014-4262: More atomicity of atomic updates
+* Import of OpenJDK6 b32
+  - OP32: OpenJDK6-b31 isn't compatible with Windows platform
+  - OJ33: Update copyright headers introduced by the fix for OPENJDK6-32
+  - OJ34: OpenJDK6-b31 backport of JDK-6638712 to openjdk6
+  - OJ35: backport of JDK-6650759 to openjdk6
+  - OJ36: Fix a mistake in backport of 8035119
+  - S8013611: Modal dialog fails to obtain keyboard focus
+  - S8013836: getFirstDayOfWeek reports wrong day for pt-BR locale
+  - S8028111: XML readers share the same entity expansion counter
+  - S8028285: RMI Thread can no longer call out to AWT
+  - S8029038: Revise fix for XML readers share the same entity expansion counter
+  - S8042582: Test java/awt/KeyboardFocusmanager/ChangeKFMTest/ChangeKFMTest.html fails on Windows x64
+  - S8042590: Running form URL throws NPE
+  - S8042789: org.omg.CORBA.ORBSingletonClass loading no longer uses context class loader
+* Backports
+ - S7027300, RH1098399: Unsynchronized HashMap access causes endless loop
+ - S7183251: Netbeans editor renders text wrong on JDK 7u6 build
 
 New in release 1.13.3 (2014-04-15):
 
diff -r c48649311b8f -r 73fd837debeb configure.ac
--- a/configure.ac	Fri May 09 13:19:29 2014 +0200
+++ b/configure.ac	Tue Jul 15 21:28:07 2014 +0100
@@ -1,4 +1,4 @@
-AC_INIT([icedtea6],[1.13.4pre],[distro-pkg-dev at openjdk.java.net])
+AC_INIT([icedtea6],[1.13.5pre],[distro-pkg-dev at openjdk.java.net])
 AC_CANONICAL_HOST
 AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
diff -r c48649311b8f -r 73fd837debeb patches/jtreg-T6638712-fix.patch
--- a/patches/jtreg-T6638712-fix.patch	Fri May 09 13:19:29 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
---- openjdk-old/langtools/test/tools/javac/generics/inference/6638712/T6638712a.out	2010-11-30 14:44:29.000000000 +0100
-+++ openjdk/langtools/test/tools/javac/generics/inference/6638712/T6638712a.out	2010-11-30 15:27:57.000000000 +0100
-@@ -1,2 +1,2 @@
--T6638712a.java:39:41: compiler.err.invalid.inferred.types: T, (- compiler.misc.inferred.do.not.conform.to.params: java.lang.Iterable<? extends java.util.Comparator<? super java.lang.String>>, java.util.List<java.util.Comparator<?>>)
-+T6638712a.java:16:41: compiler.err.invalid.inferred.types: T, (- compiler.misc.inferred.do.not.conform.to.params: java.lang.Iterable<? extends java.util.Comparator<? super java.lang.String>>, java.util.List<java.util.Comparator<?>>)
- 1 error
---- openjdk-old/langtools/test/tools/javac/generics/inference/6638712/T6638712b.out	2010-11-30 14:44:29.000000000 +0100
-+++ openjdk/langtools/test/tools/javac/generics/inference/6638712/T6638712b.out	2010-11-30 15:27:58.000000000 +0100
-@@ -1,2 +1,2 @@
--T6638712b.java:37:21: compiler.err.prob.found.req: (- compiler.misc.incompatible.types.1: (- compiler.misc.no.conforming.instance.exists: T, T, java.lang.String)), <T>T, java.lang.String
-+T6638712b.java:14:21: compiler.err.prob.found.req: (- compiler.misc.incompatible.types.1: (- compiler.misc.no.conforming.instance.exists: T, T, java.lang.String)), <T>T, java.lang.String
- 1 error
---- openjdk-old/langtools/test/tools/javac/generics/inference/6638712/T6638712c.out	2010-11-30 14:44:29.000000000 +0100
-+++ openjdk/langtools/test/tools/javac/generics/inference/6638712/T6638712c.out	2010-11-30 15:27:59.000000000 +0100
-@@ -1,2 +1,2 @@
--T6638712c.java:39:9: compiler.err.cant.apply.symbol: <T>sort(T[],java.util.Comparator<? super T>), T6638712c, , java.lang.Enum[],java.util.Comparator<java.lang.Enum<?>>, null
-+T6638712c.java:16:9: compiler.err.cant.apply.symbol: <T>sort(T[],java.util.Comparator<? super T>), T6638712c, , java.lang.Enum[],java.util.Comparator<java.lang.Enum<?>>, null
- 1 error
---- openjdk-old/langtools/test/tools/javac/generics/inference/6638712/T6638712d.out	2010-11-30 14:44:29.000000000 +0100
-+++ openjdk/langtools/test/tools/javac/generics/inference/6638712/T6638712d.out	2010-11-30 15:28:01.000000000 +0100
-@@ -1,2 +1,2 @@
--T6638712d.java:39:9: compiler.err.cant.apply.symbol: <U>m(U,java.util.List<java.util.List<U>>), T6638712d, , int,java.util.List<java.util.List<java.lang.String>>, null
-+T6638712d.java:16:9: compiler.err.cant.apply.symbol: <U>m(U,java.util.List<java.util.List<U>>), T6638712d, , int,java.util.List<java.util.List<java.lang.String>>, null
- 1 error
---- openjdk-old/langtools/test/tools/javac/generics/inference/6638712/T6638712e.out	2010-11-30 14:44:29.000000000 +0100
-+++ openjdk/langtools/test/tools/javac/generics/inference/6638712/T6638712e.out	2010-11-30 15:28:02.000000000 +0100
-@@ -1,2 +1,2 @@
--T6638712e.java:40:27: compiler.err.prob.found.req: (- compiler.misc.incompatible.types.1: (- compiler.misc.no.conforming.instance.exists: X, T6638712e.Foo<X,java.lang.String>, T6638712e.Foo<java.lang.Object,java.lang.String>)), <X>T6638712e.Foo<X,java.lang.String>, T6638712e.Foo<java.lang.Object,java.lang.String>
-+T6638712e.java:17:27: compiler.err.prob.found.req: (- compiler.misc.incompatible.types.1: (- compiler.misc.no.conforming.instance.exists: X, T6638712e.Foo<X,java.lang.String>, T6638712e.Foo<java.lang.Object,java.lang.String>)), <X>T6638712e.Foo<X,java.lang.String>, T6638712e.Foo<java.lang.Object,java.lang.String>
- 1 error
diff -r c48649311b8f -r 73fd837debeb patches/openjdk/6636370-appcontext_simplification.patch
--- a/patches/openjdk/6636370-appcontext_simplification.patch	Fri May 09 13:19:29 2014 +0200
+++ b/patches/openjdk/6636370-appcontext_simplification.patch	Tue Jul 15 21:28:07 2014 +0100
@@ -1,6 +1,6 @@
-diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/AppContext.java openjdk/jdk/src/share/classes/sun/awt/AppContext.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/AppContext.java	2013-08-05 16:49:37.120128300 +0100
-+++ openjdk/jdk/src/share/classes/sun/awt/AppContext.java	2013-08-05 17:02:51.304664462 +0100
+diff -ruN openjdk.orig/jdk/src/share/classes/sun/awt/AppContext.java openjdk/jdk/src/share/classes/sun/awt/AppContext.java
+--- openjdk.orig/jdk/src/share/classes/sun/awt/AppContext.java	2014-07-08 13:29:01.986811368 -0400
++++ openjdk/jdk/src/share/classes/sun/awt/AppContext.java	2014-07-08 13:34:11.529064569 -0400
 @@ -151,7 +151,7 @@
         contained in another AppContext. It is implicitly created for
         standalone apps only (i.e. not applets)
@@ -71,7 +71,7 @@
  
                      // Special case: we implicitly create the main app context
                      // if no contexts have been created yet. This covers standalone apps
-@@ -308,28 +297,29 @@
+@@ -308,42 +297,41 @@
                          }
                      }
  
@@ -79,27 +79,51 @@
 -            while (context == null) {
 -                threadGroup = threadGroup.getParent();
 -                if (threadGroup == null) {
--		    return null;
+-                    // We've got up to the root thread group and did not find an AppContext
+-                    // Try to get it from the security manager
+-                    SecurityManager securityManager = System.getSecurityManager();
+-                    if (securityManager != null) {
+-                        ThreadGroup smThreadGroup = securityManager.getThreadGroup();
+-                        if (smThreadGroup != null) {
+-                            /*
+-                             * If we get this far then it's likely that
+-                             * the ThreadGroup does not actually belong
+-                             * to the applet, so do not cache it.
+-                             */
+-                            return threadGroup2appContext.get(smThreadGroup);
 +                    AppContext context = threadGroup2appContext.get(threadGroup);
 +                    while (context == null) {
 +                        threadGroup = threadGroup.getParent();
 +                        if (threadGroup == null) {
++                            // We've got up to the root thread group and did not find an AppContext
++                            // Try to get it from the security manager
++                            SecurityManager securityManager = System.getSecurityManager();
++                            if (securityManager != null) {
++                                ThreadGroup smThreadGroup = securityManager.getThreadGroup();
++                                if (smThreadGroup != null) {
++                                    /*
++                                     * If we get this far then it's likely that
++                                     * the ThreadGroup does not actually belong
++                                     * to the applet, so do not cache it.
++                                     */
++                                    return threadGroup2appContext.get(smThreadGroup);
++                                }
++                            }
 +                            return null;
-+                        }
+                         }
 +                        context = threadGroup2appContext.get(threadGroup);
 +                    }
-+
 +                    // In case we did anything in the above while loop, we add
 +                    // all the intermediate ThreadGroups to threadGroup2appContext
 +                    // so we won't spin again.
 +                    for (ThreadGroup tg = currentThreadGroup; tg != threadGroup; tg = tg.getParent()) {
 +                        threadGroup2appContext.put(tg, context);
-+                    }
+                     }
+-                    return null;
 +
 +                    // Now we're done, so we cache the latest key/value pair.
 +                    threadAppContext.set(context);
 +
-+
 +                    return context;
                  }
 -                context = threadGroup2appContext.get(threadGroup);
@@ -122,7 +146,7 @@
          }
  
          return appContext;
-@@ -473,7 +463,7 @@
+@@ -487,7 +475,7 @@
          // Threads in the ThreadGroup to exit.
  
          long startTime = System.currentTimeMillis();
@@ -131,7 +155,7 @@
          while ((this.threadGroup.activeCount() > 0) &&
                 (System.currentTimeMillis() < endTime)) {
              try {
-@@ -488,7 +478,7 @@
+@@ -502,7 +490,7 @@
          // Threads in the ThreadGroup to die.
  
          startTime = System.currentTimeMillis();
@@ -140,7 +164,7 @@
          while ((this.threadGroup.activeCount() > 0) &&
                 (System.currentTimeMillis() < endTime)) {
              try {
-@@ -507,10 +497,7 @@
+@@ -521,10 +509,7 @@
          }
          threadGroup2appContext.remove(this.threadGroup);
  
@@ -152,7 +176,7 @@
  
          // Finally, we destroy the ThreadGroup entirely.
          try {
-@@ -693,6 +680,7 @@
+@@ -707,6 +692,7 @@
       * Returns a string representation of this AppContext.
       * @since   1.2
       */
@@ -160,7 +184,7 @@
      public String toString() {
          return getClass().getName() + "[threadGroup=" + threadGroup.getName() + "]";
      }
-@@ -842,15 +830,6 @@
+@@ -856,15 +842,6 @@
      }
  }
  
diff -r c48649311b8f -r 73fd837debeb patches/openjdk/6638712-wildcard_types.patch
--- a/patches/openjdk/6638712-wildcard_types.patch	Fri May 09 13:19:29 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,563 +0,0 @@
-# HG changeset patch
-# User mcimadamore
-# Date 1284137253 -3600
-# Node ID c5fe15e03287286fa8e668798409c4d7493ee834
-# Parent  27f03394a69d018c1c2badadee65ea39c7274606
-6638712: Inference with wildcard types causes selection of inapplicable method
-Summary: Added global sanity check in order to make sure that return type inference does not violate bounds constraints
-Reviewed-by: jjg
-
-diff -r 27f03394a69d -r c5fe15e03287 src/share/classes/com/sun/tools/javac/code/Type.java
---- openjdk.orig/langtools/src/share/classes/com/sun/tools/javac/code/Type.java	Wed Jun 23 16:44:15 2010 -0700
-+++ openjdk/langtools/src/share/classes/com/sun/tools/javac/code/Type.java	Fri Sep 10 17:47:33 2010 +0100
-@@ -1061,6 +1061,21 @@
-             return qtype.isErroneous();
-         }
- 
-+        /**
-+         * Replaces this ForAll's typevars with a set of concrete Java types
-+         * and returns the instantiated generic type. Subclasses might override
-+         * in order to check that the list of types is a valid instantiation
-+         * of the ForAll's typevars.
-+         *
-+         * @param actuals list of actual types
-+         * @param types types instance
-+         * @return qtype where all occurrences of tvars are replaced
-+         * by types in actuals
-+         */
-+        public Type inst(List<Type> actuals, Types types) {
-+            return types.subst(qtype, tvars, actuals);
-+        }
-+
-         public Type map(Mapping f) {
-             return f.apply(qtype);
-         }
-diff -r 27f03394a69d -r c5fe15e03287 src/share/classes/com/sun/tools/javac/code/Types.java
---- openjdk.orig/langtools/src/share/classes/com/sun/tools/javac/code/Types.java	Wed Jun 23 16:44:15 2010 -0700
-+++ openjdk/langtools/src/share/classes/com/sun/tools/javac/code/Types.java	Fri Sep 10 17:47:33 2010 +0100
-@@ -331,6 +331,14 @@
-         if (s.tag >= firstPartialTag)
-             return isSuperType(s, t);
- 
-+        if (s.isCompound()) {
-+            for (Type s2 : interfaces(s).prepend(supertype(s))) {
-+                if (!isSubtype(t, s2, capture))
-+                    return false;
-+            }
-+            return true;
-+        }
-+
-         Type lower = lowerBound(s);
-         if (s != lower)
-             return isSubtype(capture ? capture(t) : t, lower, false);
-@@ -2766,6 +2774,14 @@
-     /**
-      * Capture conversion as specified by JLS 3rd Ed.
-      */
-+
-+    public List<Type> capture(List<Type> ts) {
-+        List<Type> buf = List.nil();
-+        for (Type t : ts) {
-+            buf = buf.prepend(capture(t));
-+        }
-+        return buf.reverse();
-+    }
-     public Type capture(Type t) {
-         if (t.tag != CLASS)
-             return t;
-diff -r 27f03394a69d -r c5fe15e03287 src/share/classes/com/sun/tools/javac/comp/Check.java
---- openjdk.orig/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Wed Jun 23 16:44:15 2010 -0700
-+++ openjdk/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Fri Sep 10 17:47:33 2010 +0100
-@@ -383,6 +383,10 @@
-                                      JCDiagnostic.fragment("incompatible.types" + (d!=null ? ".1" : ""), d),
-                                      t, pt);
-                 }
-+            } catch (Infer.InvalidInstanceException ex) {
-+                JCDiagnostic d = ex.getDiagnostic();
-+                log.error(pos, "invalid.inferred.types", t.tvars, d);
-+                return syms.errType;
-             }
-         }
-     }
-diff -r 27f03394a69d -r c5fe15e03287 src/share/classes/com/sun/tools/javac/comp/Infer.java
---- openjdk.orig/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java	Wed Jun 23 16:44:15 2010 -0700
-+++ openjdk/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java	Fri Sep 10 17:47:33 2010 +0100
-@@ -29,6 +29,7 @@
- import com.sun.tools.javac.util.List;
- import com.sun.tools.javac.code.*;
- import com.sun.tools.javac.code.Type.*;
-+import com.sun.tools.javac.code.Symbol.*;
- 
- import static com.sun.tools.javac.code.Flags.*;
- import static com.sun.tools.javac.code.Kinds.*;
-@@ -50,6 +51,7 @@
- 
-     Symtab syms;
-     Types types;
-+    Resolve rs;
- 
-     public static Infer instance(Context context) {
-         Infer instance = context.get(inferKey);
-@@ -62,43 +64,51 @@
-         context.put(inferKey, this);
-         syms = Symtab.instance(context);
-         types = Types.instance(context);
-+        rs = Resolve.instance(context);
-     }
- 
--    public static class NoInstanceException extends RuntimeException {
-+    public static class InferenceException extends RuntimeException {
-         private static final long serialVersionUID = 0;
- 
--        boolean isAmbiguous; // exist several incomparable best instances?
--
-         JCDiagnostic diagnostic;
- 
--        NoInstanceException(boolean isAmbiguous) {
-+        InferenceException() {
-             this.diagnostic = null;
--            this.isAmbiguous = isAmbiguous;
-         }
--        NoInstanceException setMessage(String key) {
--            this.diagnostic = JCDiagnostic.fragment(key);
-+        InferenceException setMessage(String key, Object... args) {
-+            this.diagnostic = JCDiagnostic.fragment(key, args);
-             return this;
-         }
--        NoInstanceException setMessage(String key, Object arg1) {
--            this.diagnostic = JCDiagnostic.fragment(key, arg1);
--            return this;
--        }
--        NoInstanceException setMessage(String key, Object arg1, Object arg2) {
--            this.diagnostic = JCDiagnostic.fragment(key, arg1, arg2);
--            return this;
--        }
--        NoInstanceException setMessage(String key, Object arg1, Object arg2, Object arg3) {
--            this.diagnostic = JCDiagnostic.fragment(key, arg1, arg2, arg3);
--            return this;
--        }
-+
-         public JCDiagnostic getDiagnostic() {
-             return diagnostic;
-         }
-     }
-+
-+    public static class NoInstanceException extends InferenceException {
-+        private static final long serialVersionUID = 1;
-+
-+        boolean isAmbiguous; // exist several incomparable best instances?
-+
-+        NoInstanceException(boolean isAmbiguous) {
-+            super();
-+            this.isAmbiguous = isAmbiguous;


More information about the distro-pkg-dev mailing list