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

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Wed Jan 22 03:42:35 PST 2014


changeset 5a408c1472b0 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=5a408c1472b0
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Thu Dec 26 19:03:54 2013 +0000

	Fix usage of JEP and add key.

	2013-12-26  Andrew John Hughes  <gnu.andrew at redhat.com>

		* NEWS: Fix usage of JEP and add key.


changeset 120fcb6621f2 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=120fcb6621f2
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Fri Jan 17 22:21:40 2014 +0000

	Adapt to upstream b30 changes.

	2014-01-17  Andrew John Hughes  <gnu.andrew at redhat.com>

		* patches/openjdk/6763340-corba_memory_leak.patch,
		* patches/openjdk/6893617-cnctx_always_uses_default_orb.patch,
		* patches/openjdk/6980681-corba_deadlock.patch,
		* patches/openjdk/7162902-corba_fixes.patch,
		* patches/openjdk/8009530-icu_kern_table_support_broken.patch:
		Remove upstreamed fixes.
		* Makefile.am:
		(ICEDTEA_PATCHES): Drop above.
		* patches/hotspot/hs23/update-bootclasspath.patch,
		* patches/openjdk/p11cipher-6812738-native_cleanup.patch:
		Regenerated against upstream.


changeset 4254fe8a95c5 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=4254fe8a95c5
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Fri Jan 17 22:30:56 2014 +0000

	Bump to next release, b30.

	2014-01-17  Andrew John Hughes  <gnu.andrew at redhat.com>

		* Makefile.am:
		(OPENJDK_VERSION): Bump to next release, b30.


changeset e4993084e698 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=e4993084e698
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Fri Jan 17 23:04:10 2014 +0000

	Update NEWS with upstream fixes.

	2014-01-17  Andrew John Hughes  <gnu.andrew at redhat.com>

		* NEWS: Add fixes added to upstream.


changeset d2919052bc27 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=d2919052bc27
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Wed Jan 22 09:53:21 2014 +0000

	Update to b30 tarball.

	2014-01-22  Andrew John Hughes  <gnu.andrew at redhat.com>

		* Makefile.am:
		(OPENJDK_DATE): Set to date of b30.
		(OPENJDK_SHA256SUM): Add b30 SHA256 checksum.
		(OPENJDK_SRC_ZIP): Switch to smaller xz tarball.


changeset a57af491ae85 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=a57af491ae85
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Wed Jan 22 10:21:56 2014 +0000

	Add fixes from end of b30 lifecycle.

	2014-01-22  Andrew John Hughes  <gnu.andrew at redhat.com>

		* NEWS: Add fixes from end of b30 lifecycle.


changeset 3ca6adc6e412 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=3ca6adc6e412
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Tue Jan 21 19:54:26 2014 +0000

	Fix path in nss-not-enabled-config.patch

	2014-01-10  Omair Majid  <omajid at redhat.com>

		* patches/nss-not-enabled-config.patch: Fix path
		to java.security.


changeset 99eae205c056 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=99eae205c056
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Mon Jan 20 18:42:31 2014 +0000

	Credit Aurelien Jarno for D729448 patch.

	2014-01-20  Andrew John Hughes  <gnu.andrew at redhat.com>

		* AUTHORS:
		Credit Aurelien Jarno for D729448 patch.


changeset 1368d29bbdf0 in /hg/release/icedtea6-1.13
details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=1368d29bbdf0
author: Andrew John Hughes <gnu.andrew at redhat.com>
date: Wed Jan 22 11:42:18 2014 +0000

	Update NEWS with NSS patch fix.

	2014-01-22  Andrew John Hughes  <gnu.andrew at redhat.com>

		* NEWS: Update with NSS patch fix.


diffstat:

 AUTHORS                                                     |     1 +
 ChangeLog                                                   |    52 +
 Makefile.am                                                 |    13 +-
 NEWS                                                        |    45 +-
 patches/hotspot/hs23/update-bootclasspath.patch             |    12 +-
 patches/nss-not-enabled-config.patch                        |     2 +-
 patches/openjdk/6763340-corba_memory_leak.patch             |   409 -
 patches/openjdk/6893617-cnctx_always_uses_default_orb.patch |   234 -
 patches/openjdk/6980681-corba_deadlock.patch                |    69 -
 patches/openjdk/7162902-corba_fixes.patch                   |  2258 -----------
 patches/openjdk/8009530-icu_kern_table_support_broken.patch |   332 -
 patches/openjdk/p11cipher-6812738-native_cleanup.patch      |    67 +-
 12 files changed, 137 insertions(+), 3357 deletions(-)

diffs (truncated from 3711 to 500 lines):

diff -r c73a000ee810 -r 1368d29bbdf0 AUTHORS
--- a/AUTHORS	Thu Jan 16 18:06:30 2014 +0000
+++ b/AUTHORS	Wed Jan 22 11:42:18 2014 +0000
@@ -19,6 +19,7 @@
 Andrew John Hughes <gnu_andrew at member.fsf.org, gnu.andrew at redhat.com>
 Tomas Hurka <tomas.hurka at sun.com>
 Ioana Ivan <iivan at redhat.com>
+Aurelien Jarno <aurelien at aurel32.net>
 C. K. Jester-Young (cky944 at gmail.com)
 Alex Kasko (alex.kasko.lists at gmail.com)
 Matthias Klose <doko at ubuntu.com>
diff -r c73a000ee810 -r 1368d29bbdf0 ChangeLog
--- a/ChangeLog	Thu Jan 16 18:06:30 2014 +0000
+++ b/ChangeLog	Wed Jan 22 11:42:18 2014 +0000
@@ -1,3 +1,55 @@
+2014-01-22  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* NEWS: Update with NSS patch fix.
+
+2014-01-20  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* AUTHORS:
+	Credit Aurelien Jarno for D729448 patch.
+
+2014-01-10  Omair Majid  <omajid at redhat.com>
+
+	* patches/nss-not-enabled-config.patch: Fix path
+	to java.security.
+
+2014-01-22  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* NEWS: Add fixes from end of b30 lifecycle.
+
+2014-01-22  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* Makefile.am:
+	(OPENJDK_DATE): Set to date of b30.
+	(OPENJDK_SHA256SUM): Add b30 SHA256 checksum.
+	(OPENJDK_SRC_ZIP): Switch to smaller xz tarball.
+
+2014-01-17  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* NEWS: Add fixes added to upstream.
+
+2014-01-17  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* Makefile.am:
+	(OPENJDK_VERSION): Bump to next release, b30.
+
+2014-01-17  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* patches/openjdk/6763340-corba_memory_leak.patch,
+	* patches/openjdk/6893617-cnctx_always_uses_default_orb.patch,
+	* patches/openjdk/6980681-corba_deadlock.patch,
+	* patches/openjdk/7162902-corba_fixes.patch,
+	* patches/openjdk/8009530-icu_kern_table_support_broken.patch:
+	Remove upstreamed fixes.
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Drop above.
+	* patches/hotspot/hs23/update-bootclasspath.patch,
+	* patches/openjdk/p11cipher-6812738-native_cleanup.patch:
+	Regenerated against upstream.
+
+2013-12-26  Andrew John Hughes  <gnu.andrew at redhat.com>
+
+	* NEWS: Fix usage of JEP and add key.
+
 2014-01-16  Andrew John Hughes  <gnu.andrew at redhat.com>
 
 	* NEWS: Add 1.13.1 section.
diff -r c73a000ee810 -r 1368d29bbdf0 Makefile.am
--- a/Makefile.am	Thu Jan 16 18:06:30 2014 +0000
+++ b/Makefile.am	Wed Jan 22 11:42:18 2014 +0000
@@ -1,8 +1,8 @@
 # Dependencies
 
-OPENJDK_DATE = 05_dec_2013
-OPENJDK_SHA256SUM = a9b1b0a48fb52aef82bbe5db33b1dae1672fc8a5f456451f2e300158fc7a7d6b
-OPENJDK_VERSION = b29
+OPENJDK_DATE = 21_jan_2014
+OPENJDK_SHA256SUM = ebd9fdf39c8590cd620cb78c481ca233f5919f2819237b5d2b440666f1dd3475
+OPENJDK_VERSION = b30
 OPENJDK_URL = https://java.net/downloads/openjdk6/
 
 CACAO_VERSION = 68fe50ac34ec
@@ -175,7 +175,7 @@
 if USE_HG
   OPENJDK_SRC_ZIP = 
 else
-  OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz
+  OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.xz
 endif
 
 # FIXME (HotSpot): HotSpot changeset logic goes here
@@ -498,9 +498,6 @@
 	patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch \
 	patches/openjdk/p11cipher-6414899-p11digest_should_support_cloning.patch \
 	patches/merge_fix.patch \
-	patches/openjdk/6763340-corba_memory_leak.patch \
-	patches/openjdk/6980681-corba_deadlock.patch \
-	patches/openjdk/7162902-corba_fixes.patch \
 	patches/traceable.patch \
 	patches/pr1319-support_giflib_5.patch \
 	patches/openjdk/6718364-inference_failure.patch \
@@ -510,7 +507,6 @@
 	patches/openjdk/7003595-incompatibleclasschangeerror.patch \
 	patches/openjdk/6500343-bad_code_from_conditionals.patch \
 	patches/jaxws-tempfiles-ioutils-6.patch \
-	patches/openjdk/8009530-icu_kern_table_support_broken.patch \
 	patches/jtreg-LayoutGetCharacterCount.patch \
 	patches/jtreg-LayoutLimits.patch \
 	patches/jtreg-ComponentOrientationTests.patch \
@@ -571,7 +567,6 @@
 	patches/hotspot/original/jvmtiEnv.patch \
 	patches/sparc-trapsfix.patch \
 	patches/print_lsb_release.patch \
-	patches/openjdk/6893617-cnctx_always_uses_default_orb.patch \
 	patches/alternative_krb5_cache.patch \
 	patches/alternative_krb5_cache_fixup.patch \
 	patches/openjdk/8014469-tzdata2013c.patch \
diff -r c73a000ee810 -r 1368d29bbdf0 NEWS
--- a/NEWS	Thu Jan 16 18:06:30 2014 +0000
+++ b/NEWS	Wed Jan 22 11:42:18 2014 +0000
@@ -8,11 +8,53 @@
 CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X
 LPX - https://bugs.launchpad.net/bugs/X 
 OJX - http://java.net/jira/browse/OPENJDK6-X
+JEPX - http://openjdk.java.net/jeps/X
 
 CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
 
 New in release 1.13.1 (2014-XX-XX):
 
+* Security fixes
+  - S6727821: Enhance JAAS Configuration
+  - S7068126, CVE-2014-0373: Enhance SNMP statuses
+  - S8010935: Better XML handling
+  - S8011786, CVE-2014-0368: Better applet networking
+  - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list
+  - S8021271: Better buffering in ObjC code
+  - S8022904: Enhance JDBC Parsers
+  - S8022927: Input validation for byte/endian conversions
+  - S8022935: Enhance Apache resolver classes
+  - S8022945: Enhance JNDI implementation classes
+  - S8023057: Enhance start up image display
+  - S8023069, CVE-2014-0411: Enhance TLS connections
+  - S8023245, CVE-2014-0423: Enhance Beans decoding
+  - S8023301: Enhance generic classes
+  - S8023672: Enhance jar file validation
+  - S8024306, CVE-2014-0416: Enhance Subject consistency
+  - S8024530: Enhance font process resilience
+  - S8024867: Enhance logging start up
+  - S8025014: Enhance Security Policy
+  - S8025018, CVE-2014-0376: Enhance JAX-P set up
+  - S8025026, CVE-2013-5878: Enhance canonicalization
+  - S8025034, CVE-2013-5907: Improve layout lookups
+  - S8025448: Enhance listening events
+  - S8025758, CVE-2014-0422: Enhance Naming management
+  - S8025767, CVE-2014-0428: Enhance IIOP Streams
+  - S8026172: Enhance UI Management
+  - S8026176: Enhance document printing
+  - S8026193, CVE-2013-5884: Enhance CORBA stub factories
+  - S8026204: Enhance auth login contexts
+  - S8026417, CVE-2013-5910: Enhance XML canonicalization
+  - S8027201, CVE-2014-0376: Enhance JAX-P set up
+* Import of OpenJDK6 b30
+  - OJ24: Fix change summary generator
+  - OJ25: Remove @Override annotation added on interfaces by 2014/01/14 security fixes
+  - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile
+  - S8026826: JDK 7 fix for 8010935 broke the build
+  - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms
+* Bug fixes
+  - Fix path in nss-not-enabled-config.patch.
+
 New in release 1.13.0 (2013-12-26):
 
 * New features
@@ -891,7 +933,7 @@
   - PR1627: JDK check should depend on bootstrapping check
   - Fix Shark hs23 build failures (missing EliminateNestedLocks and extra argument to compile_method)
 * JamVM
-  - JEP 171: Implement fence methods in sun.misc.Unsafe
+  - JEP171: Implement fence methods in sun.misc.Unsafe
   - sun.misc.Unsafe: additional methods get/putAddress
   - FreeClassData: adjust method count for Miranda methods
   - Fix invokesuper check in invokespecial opcode
@@ -998,6 +1040,7 @@
   - S6867671: javap whitespace formatting issues
   - S6868539: javap should use current names for constant pool tags
   - S6888215: memory leak in jpeg plugin
+  - S6893617: JDK 6 CNCtx always uses the default ORB
   - S6902264: fix indentation of tableswitch and lookupswitch
   - S6925851: Localize JRE into pt_BR
   - S6954275: XML signatures with reference data larger 16KB and cacheRef on fails to validate
diff -r c73a000ee810 -r 1368d29bbdf0 patches/hotspot/hs23/update-bootclasspath.patch
--- a/patches/hotspot/hs23/update-bootclasspath.patch	Thu Jan 16 18:06:30 2014 +0000
+++ b/patches/hotspot/hs23/update-bootclasspath.patch	Wed Jan 22 11:42:18 2014 +0000
@@ -1,10 +1,10 @@
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp	2013-06-04 18:47:35.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/os.cpp	2013-08-15 11:53:40.989493660 +0100
-@@ -1105,6 +1105,9 @@
- #ifdef __APPLE__
-         "%/lib/JObjC.jar:"
- #endif
+--- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp	2014-01-17 20:29:13.006436284 +0000
++++ openjdk/hotspot/src/share/vm/runtime/os.cpp	2014-01-17 20:49:55.908779782 +0000
+@@ -1102,6 +1102,9 @@
+         "%/lib/jce.jar:"
+         "%/lib/charsets.jar:"
+         "%/lib/jfr.jar:"
 +        "%/lib/netx.jar:"
 +        "%/lib/plugin.jar:"
 +        "%/lib/rhino.jar:"
diff -r c73a000ee810 -r 1368d29bbdf0 patches/nss-not-enabled-config.patch
--- a/patches/nss-not-enabled-config.patch	Thu Jan 16 18:06:30 2014 +0000
+++ b/patches/nss-not-enabled-config.patch	Wed Jan 22 11:42:18 2014 +0000
@@ -1,5 +1,5 @@
 --- lib/security/java.security.old	2009-08-25 11:43:59.000000000 +0100
-+++ lib/security/java.security		2009-08-27 14:23:54.000000000 +0100
++++ lib/security/java.security-linux	2009-08-27 14:23:54.000000000 +0100
 @@ -51,6 +51,10 @@
  security.provider.6=com.sun.security.sasl.Provider
  security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
diff -r c73a000ee810 -r 1368d29bbdf0 patches/openjdk/6763340-corba_memory_leak.patch
--- a/patches/openjdk/6763340-corba_memory_leak.patch	Thu Jan 16 18:06:30 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,409 +0,0 @@
-# HG changeset patch
-# User robm
-# Date 1289846868 28800
-# Node ID cff5a173ec1e89013359e804a3e31736ef6fb462
-# Parent  f642c9ec81a07b88a5566ea1dc4f1a9068c7d251
-6763340: memory leak in com.sun.corba.se.* classes
-6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04
-Summary: Reviewed by Ken Cavanaugh
-Reviewed-by: coffeys
-
-diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java
---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java
-+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java
-@@ -74,6 +74,7 @@
- import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
- import com.sun.corba.se.spi.orb.ORB;
- import com.sun.corba.se.spi.protocol.CorbaMessageMediator;
-+import com.sun.corba.se.spi.protocol.RetryType;
- import com.sun.corba.se.spi.transport.CorbaContactInfo;
- import com.sun.corba.se.spi.transport.CorbaContactInfoList;
- import com.sun.corba.se.spi.transport.CorbaContactInfoListIterator;
-@@ -110,7 +111,7 @@
- 
-     // The current retry request status.  True if this request is being
-     // retried and this info object is to be reused, or false otherwise.
--    private boolean retryRequest;
-+    private RetryType retryRequest;
- 
-     // The number of times this info object has been (re)used.  This is
-     // incremented every time a request is retried, and decremented every
-@@ -163,7 +164,8 @@
- 
-         // Please keep these in the same order that they're declared above.
- 
--        retryRequest = false;
-+        // 6763340
-+        retryRequest = RetryType.NONE;
- 
-         // Do not reset entryCount because we need to know when to pop this
-         // from the stack.
-@@ -824,14 +826,15 @@
-     /**
-      * Set or reset the retry request flag.
-      */
--    void setRetryRequest( boolean retryRequest ) {
-+    void setRetryRequest( RetryType retryRequest ) {
-         this.retryRequest = retryRequest;
-     }
- 
-     /**
-      * Retrieve the current retry request status.
-      */
--    boolean getRetryRequest() {
-+    RetryType getRetryRequest() {
-+        // 6763340
-         return this.retryRequest;
-     }
- 
-diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java
---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java
-+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java
-@@ -70,6 +70,7 @@
- import com.sun.corba.se.spi.protocol.CorbaMessageMediator;
- import com.sun.corba.se.spi.protocol.ForwardException;
- import com.sun.corba.se.spi.protocol.PIHandler;
-+import com.sun.corba.se.spi.protocol.RetryType;
- import com.sun.corba.se.spi.logging.CORBALogDomains;
- 
- import com.sun.corba.se.impl.logging.InterceptorsSystemException;
-@@ -372,9 +373,24 @@
-         }
-     }
- 
--    public Exception invokeClientPIEndingPoint(
--        int replyStatus, Exception exception )
--    {
-+    // Needed when an error forces a retry AFTER initiateClientPIRequest
-+    // but BEFORE invokeClientPIStartingPoint.
-+    public Exception makeCompletedClientRequest( int replyStatus,
-+        Exception exception ) {
-+
-+        // 6763340
-+        return handleClientPIEndingPoint( replyStatus, exception, false ) ;
-+    }
-+
-+    public Exception invokeClientPIEndingPoint( int replyStatus,
-+        Exception exception ) {
-+
-+        // 6763340
-+        return handleClientPIEndingPoint( replyStatus, exception, true ) ;
-+    }
-+
-+    public Exception handleClientPIEndingPoint(
-+        int replyStatus, Exception exception, boolean invokeEndingPoint ) {
-         if( !hasClientInterceptors ) return exception;
-         if( !isClientPIEnabledForThisThread() ) return exception;
- 
-@@ -388,24 +404,31 @@
-         ClientRequestInfoImpl info = peekClientRequestInfoImplStack();
-         info.setReplyStatus( piReplyStatus );
-         info.setException( exception );
--        interceptorInvoker.invokeClientInterceptorEndingPoint( info );
--        piReplyStatus = info.getReplyStatus();
-+
-+        if (invokeEndingPoint) {
-+            // 6763340
-+            interceptorInvoker.invokeClientInterceptorEndingPoint( info );
-+            piReplyStatus = info.getReplyStatus();
-+        }
- 
-         // Check reply status:
-         if( (piReplyStatus == LOCATION_FORWARD.value) ||
--            (piReplyStatus == TRANSPORT_RETRY.value) )
--        {
-+            (piReplyStatus == TRANSPORT_RETRY.value) ) {
-             // If this is a forward or a retry, reset and reuse
-             // info object:
-             info.reset();
--            info.setRetryRequest( true );
-+
-+            // fix for 6763340:
-+            if (invokeEndingPoint) {
-+                info.setRetryRequest( RetryType.AFTER_RESPONSE ) ;
-+            } else {
-+                info.setRetryRequest( RetryType.BEFORE_RESPONSE ) ;
-+            }
- 
-             // ... and return a RemarshalException so the orb internals know
-             exception = new RemarshalException();
--        }
--        else if( (piReplyStatus == SYSTEM_EXCEPTION.value) ||
--                 (piReplyStatus == USER_EXCEPTION.value) )
--        {
-+        } else if( (piReplyStatus == SYSTEM_EXCEPTION.value) ||
-+                 (piReplyStatus == USER_EXCEPTION.value) ) {
-             exception = info.getException();
-         }
- 
-@@ -421,18 +444,21 @@
-         RequestInfoStack infoStack =
-             (RequestInfoStack)threadLocalClientRequestInfoStack.get();
-         ClientRequestInfoImpl info = null;
--        if( !infoStack.empty() ) info =
--            (ClientRequestInfoImpl)infoStack.peek();
- 
--        if( !diiRequest && (info != null) && info.isDIIInitiate() ) {
-+        if (!infoStack.empty() ) {
-+            info = (ClientRequestInfoImpl)infoStack.peek();
-+        }
-+
-+        if (!diiRequest && (info != null) && info.isDIIInitiate() ) {
-             // In RequestImpl.doInvocation we already called
-             // initiateClientPIRequest( true ), so ignore this initiate.
-             info.setDIIInitiate( false );
--        }
--        else {
-+        } else {
-             // If there is no info object or if we are not retrying a request,
-             // push a new ClientRequestInfoImpl on the stack:
--            if( (info == null) || !info.getRetryRequest() ) {
-+
-+            // 6763340: don't push unless this is not a retry
-+            if( (info == null) || !info.getRetryRequest().isRetry() ) {
-                 info = new ClientRequestInfoImpl( orb );
-                 infoStack.push( info );
-                 printPush();
-@@ -442,9 +468,15 @@
-             // Reset the retry request flag so that recursive calls will
-             // push a new info object, and bump up entry count so we know
-             // when to pop this info object:
--            info.setRetryRequest( false );
-+            info.setRetryRequest( RetryType.NONE );
-             info.incrementEntryCount();
- 
-+            // KMC 6763340: I don't know why this wasn't set earlier,
-+            // but we do not want a retry to pick up the previous
-+            // reply status, so clear it here.  Most likely a new
-+            // info was pushed before, so that this was not a problem.
-+            info.setReplyStatus( RequestInfoImpl.UNINITIALIZED ) ;
-+
-             // If this is a DII request, make sure we ignore the next initiate.
-             if( diiRequest ) {
-                 info.setDIIInitiate( true );
-@@ -457,25 +489,34 @@
-         if( !isClientPIEnabledForThisThread() ) return;
- 
-         ClientRequestInfoImpl info = peekClientRequestInfoImplStack();
-+        RetryType rt = info.getRetryRequest() ;
- 
--        // If the replyStatus has not yet been set, this is an indication
--        // that the ORB threw an exception before we had a chance to
--        // invoke the client interceptor ending points.
--        //
--        // _REVISIT_ We cannot handle any exceptions or ForwardRequests
--        // flagged by the ending points here because there is no way
--        // to gracefully handle this in any of the calling code.
--        // This is a rare corner case, so we will ignore this for now.
--        short replyStatus = info.getReplyStatus();
--        if( replyStatus == info.UNINITIALIZED ) {
--            invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION,
--                wrapper.unknownRequestInvoke(
--                    CompletionStatus.COMPLETED_MAYBE ) ) ;
-+        // fix for 6763340
-+        if (!rt.equals( RetryType.BEFORE_RESPONSE )) {
-+
-+            // If the replyStatus has not yet been set, this is an indication
-+            // that the ORB threw an exception before we had a chance to
-+            // invoke the client interceptor ending points.
-+            //
-+            // _REVISIT_ We cannot handle any exceptions or ForwardRequests
-+            // flagged by the ending points here because there is no way
-+            // to gracefully handle this in any of the calling code.
-+            // This is a rare corner case, so we will ignore this for now.
-+            short replyStatus = info.getReplyStatus();
-+            if (replyStatus == info.UNINITIALIZED ) {
-+                invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION,
-+                    wrapper.unknownRequestInvoke(
-+                        CompletionStatus.COMPLETED_MAYBE ) ) ;
-+            }
-         }
- 
-         // Decrement entry count, and if it is zero, pop it from the stack.
-         info.decrementEntryCount();
--        if( info.getEntryCount() == 0 ) {
-+
-+        // fix for 6763340, and probably other cases (non-recursive retry)
-+        if (info.getEntryCount() == 0 && !info.getRetryRequest().isRetry()) {
-+            // RequestInfoStack<ClientRequestInfoImpl> infoStack =
-+            //     threadLocalClientRequestInfoStack.get();
-             RequestInfoStack infoStack =
-                 (RequestInfoStack)threadLocalClientRequestInfoStack.get();
-             infoStack.pop();
-diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java
---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java
-+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java
-@@ -107,6 +107,11 @@
-         return null;
-     }
- 
-+    public Exception makeCompletedClientRequest(
-+        int replyStatus, Exception exception ) {
-+        return null;
-+    }
-+
-     public void initiateClientPIRequest( boolean diiRequest ) {
-     }
- 
-diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java
---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java
-+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java
-@@ -187,7 +187,8 @@
-         startingPointCall = 0;
-         intermediatePointCall = 0;
-         endingPointCall = 0;
--        replyStatus = UNINITIALIZED;
-+        // 6763340
-+        setReplyStatus( UNINITIALIZED ) ;
-         currentExecutionPoint = EXECUTION_POINT_STARTING;
-         alreadyExecuted = false;
-         connection = null;
-diff --git a/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java b/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
-+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
-@@ -1672,6 +1672,7 @@
-     {
-         StackImpl invocationInfoStack =
-             (StackImpl)clientInvocationInfoStack.get();
-+        int entryCount = -1;
-         ClientInvocationInfo clientInvocationInfo = null;
-         if (!invocationInfoStack.empty()) {
-             clientInvocationInfo =
-@@ -1680,8 +1681,12 @@


More information about the distro-pkg-dev mailing list