/hg/release/icedtea6-1.13: Add backports and bug fixes scheduled...
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Thu Apr 9 16:13:14 UTC 2015
changeset d9bd9c11a6bc in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=d9bd9c11a6bc
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Thu Apr 09 17:12:59 2015 +0100
Add backports and bug fixes scheduled for 1.13.7.
S6584008, PR2195, RH1173326: jvmtiStringPrimitiveCallback should not be invoked when string value is null
S7199862, PR2198: Make sure that a connection is still alive when retrieved from KeepAliveCache in certain cases
S8074312, PR2255: Enable hotspot builds on Linux 4.x
PR2197: jhat man page has broken URL
PR2201: Support giflib 5.1.0
PR2211: DGifCloseFile call should check the return value, not the error code, for failure
PR2226: giflib 5.1 conditional excludes 6.0, 7.0, etc.
2015-04-03 Andrew John Hughes <gnu.andrew at redhat.com>
* Makefile.am:
(ICEDTEA_PATCHES): Add new patches.
* NEWS: Updated.
* patches/openjdk/6584008-pr2195-jvmtistringprimitivecallback_null_string.patch,
* patches/openjdk/7199862-pr2198-ensure_cache_connection_still_alive.patch,
* patches/openjdk/8074312-pr2255-support_linux_4.patch,
* patches/pr2197-jhat_man_page_url.patch,
* patches/pr2201-support_giflib_5.1.patch,
* patches/pr2211-check_dgifclosefile_return.patch,
* patches/pr2226-support_future_giflib_6_and_up.patch:
Add new backports and bug fixes.
diffstat:
ChangeLog | 14 +
Makefile.am | 9 +-
NEWS | 10 +
patches/openjdk/6584008-pr2195-jvmtistringprimitivecallback_null_string.patch | 30 +
patches/openjdk/7199862-pr2198-ensure_cache_connection_still_alive.patch | 165 ++++++++++
patches/openjdk/8074312-pr2255-support_linux_4.patch | 19 +
patches/pr2197-jhat_man_page_url.patch | 52 +++
patches/pr2201-support_giflib_5.1.patch | 27 +
patches/pr2211-check_dgifclosefile_return.patch | 23 +
patches/pr2226-support_future_giflib_6_and_up.patch | 21 +
10 files changed, 369 insertions(+), 1 deletions(-)
diffs (425 lines):
diff -r c2b52092a6a7 -r d9bd9c11a6bc ChangeLog
--- a/ChangeLog Tue Jan 27 02:18:51 2015 +0000
+++ b/ChangeLog Thu Apr 09 17:12:59 2015 +0100
@@ -1,3 +1,17 @@
+2015-04-03 Andrew John Hughes <gnu.andrew at redhat.com>
+
+ * Makefile.am:
+ (ICEDTEA_PATCHES): Add new patches.
+ * NEWS: Updated.
+ * patches/openjdk/6584008-pr2195-jvmtistringprimitivecallback_null_string.patch,
+ * patches/openjdk/7199862-pr2198-ensure_cache_connection_still_alive.patch,
+ * patches/openjdk/8074312-pr2255-support_linux_4.patch,
+ * patches/pr2197-jhat_man_page_url.patch,
+ * patches/pr2201-support_giflib_5.1.patch,
+ * patches/pr2211-check_dgifclosefile_return.patch,
+ * patches/pr2226-support_future_giflib_6_and_up.patch:
+ Add new backports and bug fixes.
+
2015-01-27 Andrew John Hughes <gnu.andrew at redhat.com>
* NEWS: Add 1.13.7 section.
diff -r c2b52092a6a7 -r d9bd9c11a6bc Makefile.am
--- a/Makefile.am Tue Jan 27 02:18:51 2015 +0000
+++ b/Makefile.am Thu Apr 09 17:12:59 2015 +0100
@@ -607,7 +607,14 @@
patches/openjdk/7031830-pr2183-bad_record_mac_failure.patch \
patches/openjdk/oj52-pr2185-no_serbia_montenegro.patch \
patches/openjdk/oj53-pr2181-strict_aliasing_on_ppc32.patch \
- patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch
+ patches/openjdk/oj54-pr2182-6911104_reintroduces_test_fragment.patch \
+ patches/openjdk/6584008-pr2195-jvmtistringprimitivecallback_null_string.patch \
+ patches/openjdk/7199862-pr2198-ensure_cache_connection_still_alive.patch \
+ patches/openjdk/8074312-pr2255-support_linux_4.patch \
+ patches/pr2197-jhat_man_page_url.patch \
+ patches/pr2201-support_giflib_5.1.patch \
+ patches/pr2211-check_dgifclosefile_return.patch \
+ patches/pr2226-support_future_giflib_6_and_up.patch
if WITH_RHINO
ICEDTEA_PATCHES += \
diff -r c2b52092a6a7 -r d9bd9c11a6bc NEWS
--- a/NEWS Tue Jan 27 02:18:51 2015 +0000
+++ b/NEWS Thu Apr 09 17:12:59 2015 +0100
@@ -14,6 +14,16 @@
New in release 1.13.7 (2015-04-XX):
+ * Backports
+ - S6584008, PR2195, RH1173326: jvmtiStringPrimitiveCallback should not be invoked when string value is null
+ - S7199862, PR2198: Make sure that a connection is still alive when retrieved from KeepAliveCache in certain cases
+ - S8074312, PR2255: Enable hotspot builds on Linux 4.x
+ * Bug fixes
+ - PR2197: jhat man page has broken URL
+ - PR2201: Support giflib 5.1.0
+ - PR2211: DGifCloseFile call should check the return value, not the error code, for failure
+ - PR2226: giflib 5.1 conditional excludes 6.0, 7.0, etc.
+
New in release 1.13.6 (2015-01-23):
* Security fixes
diff -r c2b52092a6a7 -r d9bd9c11a6bc patches/openjdk/6584008-pr2195-jvmtistringprimitivecallback_null_string.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/6584008-pr2195-jvmtistringprimitivecallback_null_string.patch Thu Apr 09 17:12:59 2015 +0100
@@ -0,0 +1,30 @@
+# HG changeset patch
+# User aph
+# Date 1421396122 -3600
+# Fri Jan 16 09:15:22 2015 +0100
+# Node ID 9686a796c829bf0d5a4303947474a97e0fd5826c
+# Parent 1830156c6b7ee6ccc6ee21113fb537df507d2974
+6584008: jvmtiStringPrimitiveCallback should not be invoked when string value is null
+Reviewed-by: sla, sspitsyn
+
+diff -r 1830156c6b7e -r 9686a796c829 src/share/vm/prims/jvmtiTagMap.cpp
+--- openjdk/hotspot/src/share/vm/prims/jvmtiTagMap.cpp Wed Feb 04 04:31:38 2015 -0500
++++ openjdk/hotspot/src/share/vm/prims/jvmtiTagMap.cpp Fri Jan 16 09:15:22 2015 +0100
+@@ -1045,10 +1045,16 @@
+ {
+ assert(str->klass() == SystemDictionary::String_klass(), "not a string");
+
++ typeArrayOop s_value = java_lang_String::value(str);
++
++ // JDK-6584008: the value field may be null if a String instance is
++ // partially constructed.
++ if (s_value == NULL) {
++ return 0;
++ }
+ // get the string value and length
+ // (string value may be offset from the base)
+ int s_len = java_lang_String::length(str);
+- typeArrayOop s_value = java_lang_String::value(str);
+ int s_offset = java_lang_String::offset(str);
+ jchar* value;
+ if (s_len > 0) {
diff -r c2b52092a6a7 -r d9bd9c11a6bc patches/openjdk/7199862-pr2198-ensure_cache_connection_still_alive.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/7199862-pr2198-ensure_cache_connection_still_alive.patch Thu Apr 09 17:12:59 2015 +0100
@@ -0,0 +1,165 @@
+diff -r c4ed64237075 src/share/classes/sun/net/www/http/HttpClient.java
+--- openjdk/jdk/src/share/classes/sun/net/www/http/HttpClient.java Wed Apr 01 00:13:50 2015 +0100
++++ openjdk/jdk/src/share/classes/sun/net/www/http/HttpClient.java Thu Apr 02 18:21:08 2015 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 1994, 2007, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 1994, 2012, 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
+@@ -251,16 +251,17 @@
+ */
+ public static HttpClient New(URL url)
+ throws IOException {
+- return HttpClient.New(url, Proxy.NO_PROXY, -1, true);
++ return HttpClient.New(url, Proxy.NO_PROXY, -1, true, null);
+ }
+
+ public static HttpClient New(URL url, boolean useCache)
+ throws IOException {
+- return HttpClient.New(url, Proxy.NO_PROXY, -1, useCache);
++ return HttpClient.New(url, Proxy.NO_PROXY, -1, useCache, null);
+ }
+
+- public static HttpClient New(URL url, Proxy p, int to, boolean useCache)
+- throws IOException {
++ public static HttpClient New(URL url, Proxy p, int to, boolean useCache,
++ HttpURLConnection httpuc) throws IOException
++ {
+ if (p == null) {
+ p = Proxy.NO_PROXY;
+ }
+@@ -268,6 +269,12 @@
+ /* see if one's already around */
+ if (useCache) {
+ ret = (HttpClient) kac.get(url, null);
++ if (ret != null && httpuc != null &&
++ httpuc.streaming() &&
++ httpuc.getRequestMethod() == "POST") {
++ if (!ret.available())
++ ret = null;
++ }
+ if (ret != null) {
+ if ((ret.proxy != null && ret.proxy.equals(p)) ||
+ (ret.proxy == null && p == null)) {
+@@ -306,20 +313,25 @@
+ return ret;
+ }
+
+- public static HttpClient New(URL url, Proxy p, int to) throws IOException {
+- return New(url, p, to, true);
++ public static HttpClient New(URL url, Proxy p, int to,
++ HttpURLConnection httpuc) throws IOException
++ {
++ return New(url, p, to, true, httpuc);
+ }
+
+ public static HttpClient New(URL url, String proxyHost, int proxyPort,
+ boolean useCache)
+ throws IOException {
+- return New(url, newHttpProxy(proxyHost, proxyPort, "http"), -1, useCache);
++ return New(url, newHttpProxy(proxyHost, proxyPort, "http"),
++ -1, useCache, null);
+ }
+
+ public static HttpClient New(URL url, String proxyHost, int proxyPort,
+- boolean useCache, int to)
++ boolean useCache, int to,
++ HttpURLConnection httpuc)
+ throws IOException {
+- return New(url, newHttpProxy(proxyHost, proxyPort, "http"), to, useCache);
++ return New(url, newHttpProxy(proxyHost, proxyPort, "http"),
++ to, useCache, httpuc);
+ }
+
+ /* return it to the cache as still usable, if:
+@@ -348,6 +360,33 @@
+ }
+ }
+
++ protected synchronized boolean available() throws IOException {
++ boolean available = true;
++ int old = serverSocket.getSoTimeout();
++ serverSocket.setSoTimeout(1);
++ BufferedInputStream tmpbuf =
++ new BufferedInputStream(serverSocket.getInputStream());
++
++ try {
++ int r = tmpbuf.read();
++ if (r == -1) {
++ if (HttpCapture.isLoggable("FINEST")) {
++ HttpCapture.finest("HttpClient.available(): " +
++ "read returned -1: not available");
++ }
++ available = false;
++ }
++ } catch (SocketTimeoutException e) {
++ if (HttpCapture.isLoggable("FINEST")) {
++ HttpCapture.finest("HttpClient.available(): " +
++ "SocketTimeout: its available");
++ }
++ } finally {
++ serverSocket.setSoTimeout(old);
++ }
++ return available;
++ }
++
+ protected synchronized void putInKeepAliveCache() {
+ if (inCache) {
+ assert false : "Duplicate put to keep alive cache";
+diff -r c4ed64237075 src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
+--- openjdk/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Wed Apr 01 00:13:50 2015 +0100
++++ openjdk/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Thu Apr 02 18:21:08 2015 +0100
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 1995, 2012, 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
+@@ -619,7 +619,7 @@
+ */
+ protected void setNewClient (URL url, boolean useCache)
+ throws IOException {
+- http = HttpClient.New(url, null, -1, useCache, connectTimeout);
++ http = HttpClient.New(url, null, -1, useCache, connectTimeout, this);
+ http.setReadTimeout(readTimeout);
+ }
+
+@@ -660,7 +660,8 @@
+ String proxyHost, int proxyPort,
+ boolean useCache)
+ throws IOException {
+- http = HttpClient.New (url, proxyHost, proxyPort, useCache, connectTimeout);
++ http = HttpClient.New (url, proxyHost, proxyPort, useCache,
++ connectTimeout, this);
+ http.setReadTimeout(readTimeout);
+ }
+
+@@ -951,14 +952,14 @@
+ // subclass HttpsClient will overwrite & return an instance of HttpsClient
+ protected HttpClient getNewHttpClient(URL url, Proxy p, int connectTimeout)
+ throws IOException {
+- return HttpClient.New(url, p, connectTimeout);
++ return HttpClient.New(url, p, connectTimeout, this);
+ }
+
+ // subclass HttpsClient will overwrite & return an instance of HttpsClient
+ protected HttpClient getNewHttpClient(URL url, Proxy p,
+ int connectTimeout, boolean useCache)
+ throws IOException {
+- return HttpClient.New(url, p, connectTimeout, useCache);
++ return HttpClient.New(url, p, connectTimeout, useCache, this);
+ }
+
+ private void expect100Continue() throws IOException {
+@@ -1095,7 +1096,7 @@
+ }
+ }
+
+- private boolean streaming () {
++ public boolean streaming () {
+ return (fixedContentLength != -1) || (chunkLength != -1);
+ }
+
diff -r c2b52092a6a7 -r d9bd9c11a6bc patches/openjdk/8074312-pr2255-support_linux_4.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/8074312-pr2255-support_linux_4.patch Thu Apr 09 17:12:59 2015 +0100
@@ -0,0 +1,19 @@
+diff -Nru openjdk.orig/hotspot/make/linux/Makefile openjdk/hotspot/make/linux/Makefile
+--- openjdk.orig/hotspot/make/linux/Makefile 2015-01-20 02:17:59.000000000 +0000
++++ openjdk/hotspot/make/linux/Makefile 2015-04-01 15:56:23.145797203 +0100
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 1999, 2015, 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
+@@ -231,7 +231,7 @@
+ # Solaris 2.5.1, 2.6).
+ # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
+
+-SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
++SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3% 4%
+ OS_VERSION := $(shell uname -r)
+ EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
+
diff -r c2b52092a6a7 -r d9bd9c11a6bc patches/pr2197-jhat_man_page_url.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/pr2197-jhat_man_page_url.patch Thu Apr 09 17:12:59 2015 +0100
@@ -0,0 +1,52 @@
+# HG changeset patch
+# User andrew
+# Date 1423073807 0
+# Wed Feb 04 18:16:47 2015 +0000
+# Node ID a7b145722afff8d0677f991b43b35d1e6ec9d23a
+# Parent 6e761a451703610814e2099ba709dc22725e10d0
+PR2196, RH1164762: jhat man page has broken URL
+Summary: Fix link to HPROF web page to point to version for Oracle JDK 7
+Contributed-by: jvanek at redhat.com
+
+diff -r 6e761a451703 -r a7b145722aff src/linux/doc/man/jhat.1
+--- openjdk/jdk/src/linux/doc/man/jhat.1 Wed Feb 04 16:52:13 2015 +0000
++++ openjdk/jdk/src/linux/doc/man/jhat.1 Wed Feb 04 18:16:47 2015 +0000
+@@ -77,7 +77,7 @@
+ .na
+ \f2hprof\fP @
+ .fi
+-http://java.sun.com/developer/technicalArticles/Programming/HPROF.html.
++https://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html.
+ .RE
+
+ .LP
+@@ -134,7 +134,7 @@
+ .na
+ \f2hprof \- Heap and CPU profiling tool\fP @
+ .fi
+-http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
++https://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html.
+ .RE
+
+ .LP
+diff -r 6e761a451703 -r a7b145722aff src/solaris/doc/sun/man/man1/jhat.1
+--- openjdk/jdk/src/solaris/doc/sun/man/man1/jhat.1 Wed Feb 04 16:52:13 2015 +0000
++++ openjdk/jdk/src/solaris/doc/sun/man/man1/jhat.1 Wed Feb 04 18:16:47 2015 +0000
+@@ -77,7 +77,7 @@
+ .na
+ \f2hprof\fP @
+ .fi
+-http://java.sun.com/developer/technicalArticles/Programming/HPROF.html.
++https://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html.
+ .RE
+
+ .LP
+@@ -134,7 +134,7 @@
+ .na
+ \f2hprof \- Heap and CPU profiling tool\fP @
+ .fi
+-http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
++https://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html.
+ .RE
+
+ .LP
diff -r c2b52092a6a7 -r d9bd9c11a6bc patches/pr2201-support_giflib_5.1.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/pr2201-support_giflib_5.1.patch Thu Apr 09 17:12:59 2015 +0100
@@ -0,0 +1,27 @@
+# HG changeset patch
+# User andrew
+# Date 1423074043 0
+# Wed Feb 04 18:20:43 2015 +0000
+# Node ID 1d647255f65b9561d9821b30b2eb6fd18fad6bad
+# Parent a7b145722afff8d0677f991b43b35d1e6ec9d23a
+PR2200: Support giflib 5.1.0
+Contributed-by: fridrich.strba at suse.com
+
+diff -r a7b145722aff -r 1d647255f65b src/share/native/sun/awt/splashscreen/splashscreen_gif.c
+--- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c Wed Feb 04 18:16:47 2015 +0000
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c Wed Feb 04 18:20:43 2015 +0000
+@@ -310,7 +310,14 @@
+ free(pBitmapBits);
+ free(pOldBitmapBits);
+
++#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
++ int error = 0;
++ DGifCloseFile(gif, &error);
++ if (error)
++ return 0;
++#else
+ DGifCloseFile(gif);
++#endif
+
+ return 1;
+ }
diff -r c2b52092a6a7 -r d9bd9c11a6bc patches/pr2211-check_dgifclosefile_return.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/pr2211-check_dgifclosefile_return.patch Thu Apr 09 17:12:59 2015 +0100
@@ -0,0 +1,23 @@
+# HG changeset patch
+# User andrew
+# Date 1423101914 0
+# Thu Feb 05 02:05:14 2015 +0000
+# Node ID 3b9f3d7c767ec8d2e8d65c7b819aa135cf9af21e
+# Parent 1d647255f65b9561d9821b30b2eb6fd18fad6bad
+PR2210: DGifCloseFile call should check the return value, not the error code, for failure
+Summary: Avoid passing in an integer reference at all and just use the return value.
+
+diff -r 1d647255f65b -r 3b9f3d7c767e src/share/native/sun/awt/splashscreen/splashscreen_gif.c
+--- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c Wed Feb 04 18:20:43 2015 +0000
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c Thu Feb 05 02:05:14 2015 +0000
+@@ -311,9 +311,7 @@
+ free(pOldBitmapBits);
+
+ #if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
+- int error = 0;
+- DGifCloseFile(gif, &error);
+- if (error)
++ if (DGifCloseFile(gif, NULL) == GIF_ERROR)
+ return 0;
+ #else
+ DGifCloseFile(gif);
diff -r c2b52092a6a7 -r d9bd9c11a6bc patches/pr2226-support_future_giflib_6_and_up.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/pr2226-support_future_giflib_6_and_up.patch Thu Apr 09 17:12:59 2015 +0100
@@ -0,0 +1,21 @@
+# HG changeset patch
+# User andrew
+# Date 1423585468 0
+# Tue Feb 10 16:24:28 2015 +0000
+# Node ID 8e740701950bbfd435a8bbe1a39694bf8096d96e
+# Parent f8795ed79ba60e5ae655b74ebc27228597419b71
+PR2225: giflib 5.1 conditional excludes 6.0, 7.0, etc.
+Summary: Future-proof the giflib 5.1 support
+
+diff -r f8795ed79ba6 -r 8e740701950b src/share/native/sun/awt/splashscreen/splashscreen_gif.c
+--- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c Thu Feb 05 16:11:10 2015 +0000
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c Tue Feb 10 16:24:28 2015 +0000
+@@ -310,7 +310,7 @@
+ free(pBitmapBits);
+ free(pOldBitmapBits);
+
+-#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
++#if GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1)
+ if (DGifCloseFile(gif, NULL) == GIF_ERROR)
+ return 0;
+ #else
More information about the distro-pkg-dev
mailing list