changeset 1415:e58c66c7c2ee

Integrate b13 drop fixes. 2008-11-08 Mark Wielaard <mark@klomp.org> * Makefile.am (OPENJDK_DATE, OPENJDK_MD5SUM, OPENJDK_VERSION): Update for b13. (ICEDTEA_PATCHES): Removed patches 6616825, 6651382, 6756202. * patches/icedtea-6open-6616825.patch: Removed. * patches/icedtea-6open-6651382.patch: Removed. * patches/icedtea-6open-6756202.patch: Removed. * NEWS: Add integration of b13.
author Mark Wielaard <mark@klomp.org>
date Sat, 08 Nov 2008 11:47:10 +0100
parents b259b240929b
children 285c8111f751
files ChangeLog Makefile.am NEWS patches/icedtea-6open-6616825.patch patches/icedtea-6open-6651382.patch patches/icedtea-6open-6756202.patch
diffstat 6 files changed, 17 insertions(+), 436 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Nov 07 15:53:48 2008 +0000
+++ b/ChangeLog	Sat Nov 08 11:47:10 2008 +0100
@@ -1,3 +1,13 @@
+2008-11-08  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (OPENJDK_DATE, OPENJDK_MD5SUM, OPENJDK_VERSION):
+	Update for b13.
+	(ICEDTEA_PATCHES): Removed patches 6616825, 6651382, 6756202.
+	* patches/icedtea-6open-6616825.patch: Removed.
+	* patches/icedtea-6open-6651382.patch: Removed.
+	* patches/icedtea-6open-6756202.patch: Removed.
+	* NEWS: Add integration of b13.
+
 2008-11-07  Andrew John Hughes  <ahughes@redhat.com>
 
 	* Makefile.am: Use 'node|short' instead of 'rev'
--- a/Makefile.am	Fri Nov 07 15:53:48 2008 +0000
+++ b/Makefile.am	Sat Nov 08 11:47:10 2008 +0100
@@ -1,6 +1,6 @@
-OPENJDK_DATE = 28_aug_2008
-OPENJDK_MD5SUM = b53e1ef643909ce82721ee4c970d958b
-OPENJDK_VERSION = b12
+OPENJDK_DATE = 05_nov_2008
+OPENJDK_MD5SUM = 3b6975c8eaf465396c8c488a9877f259
+OPENJDK_VERSION = b13
 
 CACAO_VERSION = 0.99.3
 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8
@@ -527,9 +527,6 @@
 	patches/icedtea-arch.patch \
 	patches/icedtea-lc_ctype.patch \
 	patches/icedtea-messageutils.patch \
-	patches/icedtea-6open-6616825.patch \
-	patches/icedtea-6open-6651382.patch \
-	patches/icedtea-6open-6756202.patch \
 	$(VISUALVM_PATCH) \
 	patches/icedtea-javac-debuginfo.patch \
 	patches/icedtea-xjc.patch \
--- a/NEWS	Fri Nov 07 15:53:48 2008 +0000
+++ b/NEWS	Sat Nov 08 11:47:10 2008 +0100
@@ -1,3 +1,7 @@
+New in release 1.4 (NOT_YET_RELEASED)
+
+- Integrated b13 drop fixes.
+
 New in release 1.3.1 (2008-10-27)
 
 - Plugin including LiveConnect support built as default.
--- a/patches/icedtea-6open-6616825.patch	Fri Nov 07 15:53:48 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +0,0 @@
---- openjdk/jdk/src/share/classes/javax/management/ObjectName.java	Wed Oct  8 06:07:09 2008
-+++ openjdk/jdk/src/share/classes/javax/management/ObjectName.java	Wed Oct  8 06:07:09 2008
-@@ -37,9 +37,6 @@
- import java.util.HashMap;
- import java.util.Hashtable;
- import java.util.Map;
--import javax.management.MBeanServer;
--import javax.management.MalformedObjectNameException;
--import javax.management.QueryExp;
- 
- /**
-  * <p>Represents the object name of an MBean, or a pattern that can
-@@ -1159,9 +1156,19 @@
-             //
-             //in.defaultReadObject();
-             final ObjectInputStream.GetField fields = in.readFields();
-+            String propListString =
-+                    (String)fields.get("propertyListString", "");
-+
-+            // 6616825: take care of property patterns
-+            final boolean propPattern =
-+                    fields.get("propertyPattern" , false);
-+            if (propPattern) {
-+                propListString =
-+                        (propListString.length()==0?"*":(propListString+",*"));
-+            }
-+
-             cn = (String)fields.get("domain", "default")+
--                ":"+
--                (String)fields.get("propertyListString", "");
-+                ":"+ propListString;
-         } else {
-             // Read an object serialized in the new serial form
-             //
-@@ -1795,6 +1802,7 @@
-      * @return True if <code>object</code> is an ObjectName whose
-      * canonical form is equal to that of this ObjectName.
-      */
-+    @Override
-     public boolean equals(Object object)  {
- 
-         // same object case
-@@ -1818,6 +1826,7 @@
-      * Returns a hash code for this object name.
-      *
-      */
-+    @Override
-     public int hashCode() {
-         return _canonicalName.hashCode();
-     }
---- openjdk/jdk/test/javax/management/ObjectName/SerialCompatTest.java	Wed Oct  8 06:07:12 2008
-+++ openjdk/jdk/test/javax/management/ObjectName/SerialCompatTest.java	Wed Oct  8 06:07:12 2008
-@@ -23,9 +23,9 @@
- 
- /*
-  * @test
-- * @bug 6211220
-+ * @bug 6211220 6616825
-  * @summary Test that jmx.serial.form=1.0 works for ObjectName
-- * @author Eamonn McManus
-+ * @author Eamonn McManus, Daniel Fuchs
-  * @run clean SerialCompatTest
-  * @run build SerialCompatTest
-  * @run main/othervm SerialCompatTest
-@@ -36,20 +36,8 @@
- import javax.management.ObjectName;
- 
- public class SerialCompatTest {
--    public static void main(String[] args) throws Exception {
--        System.setProperty("jmx.serial.form", "1.0");
-+    public static void check6211220() throws Exception {
- 
--        /* Check that we really are in jmx.serial.form=1.0 mode.
--           The property is frozen the first time the ObjectName class
--           is referenced so checking that it is set to the correct
--           value now is not enough.  */
--        ObjectStreamClass osc = ObjectStreamClass.lookup(ObjectName.class);
--        if (osc.getFields().length != 6) {
--            throw new Exception("Not using old serial form: fields: " +
--                                Arrays.asList(osc.getFields()));
--            // new serial form has no fields, uses writeObject
--        }
--
-         ObjectName on = new ObjectName("a:b=c");
-         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-         ObjectOutputStream oos = new ObjectOutputStream(bos);
-@@ -62,53 +50,192 @@
- 
-         // if the bug is present, these will get NullPointerException
-         for (int i = 0; i <= 11; i++) {
-+            String msg = "6211220 case("+i+")";
-             try {
-                 switch (i) {
-                 case 0:
--                    check(on1.getDomain().equals("a")); break;
-+                    check(msg, on1.getDomain().equals("a")); break;
-                 case 1:
--                    check(on1.getCanonicalName().equals("a:b=c")); break;
-+                    check(msg, on1.getCanonicalName().equals("a:b=c")); break;
-                 case 2:
--                    check(on1.getKeyPropertyListString().equals("b=c")); break;
-+                    check(msg, on1.getKeyPropertyListString().equals("b=c"));
-+                    break;
-                 case 3:
--                    check(on1.getCanonicalKeyPropertyListString().equals("b=c"));
-+                    check(msg, on1.getCanonicalKeyPropertyListString()
-+                            .equals("b=c"));
-                     break;
-                 case 4:
--                    check(on1.getKeyProperty("b").equals("c")); break;
-+                    check(msg, on1.getKeyProperty("b").equals("c")); break;
-                 case 5:
--                    check(on1.getKeyPropertyList()
-+                    check(msg, on1.getKeyPropertyList()
-                           .equals(Collections.singletonMap("b", "c"))); break;
-                 case 6:
--                    check(!on1.isDomainPattern()); break;
-+                    check(msg, !on1.isDomainPattern()); break;
-                 case 7:
--                    check(!on1.isPattern()); break;
-+                    check(msg, !on1.isPattern()); break;
-                 case 8:
--                    check(!on1.isPropertyPattern()); break;
-+                    check(msg, !on1.isPropertyPattern()); break;
-                 case 9:
--                    check(on1.equals(on)); break;
-+                    check(msg, on1.equals(on)); break;
-                 case 10:
--                    check(on.equals(on1)); break;
-+                    check(msg, on.equals(on1)); break;
-                 case 11:
--                    check(on1.apply(on)); break;
-+                    check(msg, on1.apply(on)); break;
-                 default:
-+                    throw new Exception(msg+": Test incorrect");
-+                }
-+            } catch (Exception e) {
-+                System.out.println(msg+": Test failed with exception:");
-+                e.printStackTrace(System.out);
-+                failed = true;
-+            }
-+        }
-+
-+        if (failed)
-+            throw new Exception("Some tests for 6211220 failed");
-+        else
-+            System.out.println("All tests for 6211220 passed");
-+    }
-+
-+    static void checkName(String testname, ObjectName on)
-+        throws Exception {
-+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-+        ObjectOutputStream oos = new ObjectOutputStream(bos);
-+        oos.writeObject(on);
-+        oos.close();
-+        byte[] bytes = bos.toByteArray();
-+        ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
-+        ObjectInputStream ois = new ObjectInputStream(bis);
-+        ObjectName on1 = (ObjectName) ois.readObject();
-+        // if the bug is present, these will get NullPointerException
-+        for (int i = 0; i <= 11; i++) {
-+            String msg = testname + " case("+i+")";
-+            try {
-+                switch (i) {
-+                case 0:
-+                    check(msg,on1.getDomain().equals(on.getDomain()));
-+                    break;
-+                case 1:
-+                    check(msg,on1.getCanonicalName().
-+                         equals(on.getCanonicalName()));
-+                    break;
-+                case 2:
-+                    check(msg,on1.getKeyPropertyListString().
-+                            equals(on.getKeyPropertyListString())); break;
-+                case 3:
-+                    check(msg,on1.getCanonicalKeyPropertyListString().
-+                            equals(on.getCanonicalKeyPropertyListString()));
-+                    break;
-+                case 4:
-+                    for (Object ko : on1.getKeyPropertyList().keySet()) {
-+			final String key = (String) ko;
-+                            check(msg,on1.getKeyProperty(key).
-+                                    equals(on.getKeyProperty(key)));
-+                    }
-+                    for (Object ko : on.getKeyPropertyList().keySet()) {
-+			final String key = (String) ko;
-+                            check(msg,on1.getKeyProperty(key).
-+                                    equals(on.getKeyProperty(key)));
-+                    }
-+                case 5:
-+                    check(msg,on1.getKeyPropertyList()
-+                          .equals(on.getKeyPropertyList())); break;
-+                case 6:
-+                    check(msg,on1.isDomainPattern()==on.isDomainPattern());
-+                    break;
-+                case 7:
-+                    check(msg,on1.isPattern()==on.isPattern()); break;
-+                case 8:
-+                    check(msg,
-+                       on1.isPropertyPattern()==on.isPropertyPattern()); break;
-+                case 9:
-+                    check(msg,on1.equals(on)); break;
-+                case 10:
-+                    check(msg,on.equals(on1)); break;
-+                case 11:
-+                    if (!on.isPattern())
-+                            check(msg,on1.apply(on)); break;
-+                default:
-                     throw new Exception("Test incorrect: case: " + i);
-                 }
-             } catch (Exception e) {
--                System.out.println("Test failed with exception:");
-+                System.out.println("Test ("+i+") failed with exception:");
-                 e.printStackTrace(System.out);
-                 failed = true;
-             }
-         }
- 
-+    }
-+
-+    private static String[] names6616825 = {
-+        "a:b=c","a:b=c,*","*:*",":*",":b=c",":b=c,*",
-+        "a:*,b=c",":*",":*,b=c","*x?:k=\"x\\*z\"","*x?:k=\"x\\*z\",*",
-+        "*x?:*,k=\"x\\*z\"","*x?:k=\"x\\*z\",*,b=c"
-+    };
-+
-+    static void check6616825() throws Exception {
-+        System.out.println("Testing 616825");
-+        for (String n : names6616825) {
-+            final ObjectName on;
-+            try {
-+                on = new ObjectName(n);
-+            } catch (Exception x) {
-+                failed = true;
-+                System.out.println("Unexpected failure for 6616825 ["+n
-+                   +"]: "+x);
-+                x.printStackTrace(System.out);
-+                continue;
-+            }
-+            try {
-+                checkName("616825 "+n,on);
-+            } catch (Exception x) {
-+                failed = true;
-+                System.out.println("6616825 failed for ["+n+"]: "+x);
-+                x.printStackTrace(System.out);
-+            }
-+        }
-+
-         if (failed)
-+            throw new Exception("Some tests for 6616825 failed");
-+        else
-+            System.out.println("All tests for 6616825 passed");
-+    }
-+
-+    public static void main(String[] args) throws Exception {
-+        System.setProperty("jmx.serial.form", "1.0");
-+
-+        /* Check that we really are in jmx.serial.form=1.0 mode.
-+           The property is frozen the first time the ObjectName class
-+           is referenced so checking that it is set to the correct
-+           value now is not enough.  */
-+        ObjectStreamClass osc = ObjectStreamClass.lookup(ObjectName.class);
-+        if (osc.getFields().length != 6) {
-+            throw new Exception("Not using old serial form: fields: " +
-+                                Arrays.asList(osc.getFields()));
-+            // new serial form has no fields, uses writeObject
-+        }
-+
-+        try {
-+            check6211220();
-+        } catch (Exception x) {
-+            System.err.println(x.getMessage());
-+        }
-+        try {
-+            check6616825();
-+        } catch (Exception x) {
-+            System.err.println(x.getMessage());
-+        }
-+
-+        if (failed)
-             throw new Exception("Some tests failed");
-         else
-             System.out.println("All tests passed");
-+
-     }
- 
--    private static void check(boolean condition) {
-+    private static void check(String msg, boolean condition) {
-         if (!condition) {
--            new Throwable("Test failed").printStackTrace(System.out);
-+            new Throwable("Test failed "+msg).printStackTrace(System.out);
-             failed = true;
-         }
-     }
--- a/patches/icedtea-6open-6651382.patch	Fri Nov 07 15:53:48 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
---- openjdk/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolEntryImpl.java	Tue Oct  7 08:43:32 2008
-+++ openjdk/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolEntryImpl.java	Tue Oct  7 08:43:32 2008
-@@ -26,7 +26,6 @@
- 
- // java imports
- //
--import java.io.Serializable;
- import java.util.Map;
- 
- // jmx imports
-@@ -36,9 +35,7 @@
- 
- // jdmk imports
- //
--import com.sun.jmx.snmp.agent.SnmpMib;
- 
--import java.lang.management.ManagementFactory;
- import java.lang.management.MemoryUsage;
- import java.lang.management.MemoryType;
- import java.lang.management.MemoryPoolMXBean;
-@@ -73,8 +70,10 @@
-         "jvmMemPoolEntry.getCollectionUsage";
-     final static MemoryUsage ZEROS = new MemoryUsage(0,0,0,0);
- 
--
--
-+    final String entryMemoryTag;
-+    final String entryPeakMemoryTag;
-+    final String entryCollectMemoryTag;
-+    
-     MemoryUsage getMemoryUsage() {
-         try {
-             final Map<Object, Object> m = JvmContextFactory.getUserData();
-@@ -81,10 +80,10 @@
- 
-             if (m != null) {
-                 final MemoryUsage cached = (MemoryUsage)
--                    m.get(memoryTag);
-+                    m.get(entryMemoryTag);
-                 if (cached != null) {
--                    log.debug("getMemoryUsage",
--                          "jvmMemPoolEntry.getUsage found in cache.");
-+                    log.debug("getMemoryUsage",entryMemoryTag+
-+                          " found in cache.");
-                     return cached;
-                 }
- 
-@@ -91,7 +90,7 @@
-                 MemoryUsage u = pool.getUsage();
-                 if (u == null) u = ZEROS;
- 
--                m.put(memoryTag,u);
-+                m.put(entryMemoryTag,u);
-                 return u;
-             }
-             // Should never come here.
-@@ -113,11 +112,11 @@
- 
-             if (m != null) {
-                 final MemoryUsage cached = (MemoryUsage)
--                    m.get(peakMemoryTag);
-+                    m.get(entryPeakMemoryTag);
-                 if (cached != null) {
-                     if (log.isDebugOn())
-                         log.debug("getPeakMemoryUsage",
--                              peakMemoryTag + " found in cache.");
-+                              entryPeakMemoryTag + " found in cache.");
-                     return cached;
-                 }
- 
-@@ -124,7 +123,7 @@
-                 MemoryUsage u = pool.getPeakUsage();
-                 if (u == null) u = ZEROS;
- 
--                m.put(peakMemoryTag,u);
-+                m.put(entryPeakMemoryTag,u);
-                 return u;
-             }
-             // Should never come here.
-@@ -146,11 +145,11 @@
- 
-             if (m != null) {
-                 final MemoryUsage cached = (MemoryUsage)
--                    m.get(collectMemoryTag);
-+                    m.get(entryCollectMemoryTag);
-                 if (cached != null) {
-                     if (log.isDebugOn())
-                         log.debug("getCollectMemoryUsage",
--                                  collectMemoryTag + " found in cache.");
-+                                  entryCollectMemoryTag + " found in cache.");
-                     return cached;
-                 }
- 
-@@ -157,7 +156,7 @@
-                 MemoryUsage u = pool.getCollectionUsage();
-                 if (u == null) u = ZEROS;
- 
--                m.put(collectMemoryTag,u);
-+                m.put(entryCollectMemoryTag,u);
-                 return u;
-             }
-             // Should never come here.
-@@ -179,9 +178,12 @@
-     /**
-      * Constructor for the "JvmMemPoolEntry" group.
-      */
--    public JvmMemPoolEntryImpl(MemoryPoolMXBean mp, int index) {
-+    public JvmMemPoolEntryImpl(MemoryPoolMXBean mp, final int index) {
-         this.pool=mp;
-         this.jvmMemPoolIndex = index;
-+        this.entryMemoryTag = memoryTag + "." + index;
-+        this.entryPeakMemoryTag = peakMemoryTag + "." + index;
-+        this.entryCollectMemoryTag = collectMemoryTag + "." + index;
-     }
- 
-     /**
--- a/patches/icedtea-6open-6756202.patch	Fri Nov 07 15:53:48 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
---- openjdk/jdk/make/netbeans/jmx/build.properties	Wed Oct  8 09:13:27 2008
-+++ openjdk/jdk/make/netbeans/jmx/build.properties	Wed Oct  8 09:13:27 2008
-@@ -42,14 +42,14 @@
-     java/lang/management/ \
-     javax/management/
- 
--project.spec.version			= JMX API 2.0
-+project.spec.version			= JMX API 1.4
- 
- jar.jmx.name				= jmx.jar
- jar.jmx.sealed				= true
--jar.jmx.spec.title			= JSR 003, 160, 255 - JMX API
-+jar.jmx.spec.title			= JSR 003, 160 - JMX API
- jar.jmx.spec.version			= ${project.spec.version}
- jar.jmx.spec.vendor			= Sun Microsystems, Inc.
--jar.jmx.impl.title			= JSR 003, 160, 255 - OpenJDK 7 JMX API 
-+jar.jmx.impl.title			= JSR 003, 160 - OpenJDK 6 JMX API 
- jar.jmx.impl.vendor			= Project OpenJDK
- 
- javadoc.options=-J-Xmx256m