/hg/release/icedtea6-1.9: 6 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Wed Dec 1 12:27:31 PST 2010


changeset 63366753f9ba in /hg/release/icedtea6-1.9
details: http://icedtea.classpath.org/hg/release/icedtea6-1.9?cmd=changeset;node=63366753f9ba
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Dec 01 18:41:42 2010 +0000

	7002666: Eclipse CDT projects crash with compressed oops

	2010-12-01 Andrew John Hughes <ahughes at redhat.com>

	 * patches/disable-default-compoops.patch: Removed.
		* Makefile.am: Replace disable compressed oops workaround with
	proper fix for 7002666.
		* patches/openjdk/7002666-eclipse_cdt_oops_crash.patch:
	Backport of 7002666: Eclipse CDT projects crash with
	compressed oops
		* NEWS: Updated.


changeset 16d45ce7afaf in /hg/release/icedtea6-1.9
details: http://icedtea.classpath.org/hg/release/icedtea6-1.9?cmd=changeset;node=16d45ce7afaf
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Dec 01 19:56:08 2010 +0000

	Apply 7002666 to both hs17 and hs19.

	2010-12-01 Andrew John Hughes <ahughes at redhat.com>

	 * Makefile.am: Apply 7002666 to both hs17 and hs19.


changeset d24b71a3a8fe in /hg/release/icedtea6-1.9
details: http://icedtea.classpath.org/hg/release/icedtea6-1.9?cmd=changeset;node=d24b71a3a8fe
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Dec 01 18:45:49 2010 +0000

	Update NEWS.

	2010-12-01 Andrew John Hughes <ahughes at redhat.com>

	 * NEWS: Updated.


changeset 9bb38e077ec0 in /hg/release/icedtea6-1.9
details: http://icedtea.classpath.org/hg/release/icedtea6-1.9?cmd=changeset;node=9bb38e077ec0
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Dec 01 19:56:56 2010 +0000

	Add missing patch.


changeset 42cb6cbb7ba6 in /hg/release/icedtea6-1.9
details: http://icedtea.classpath.org/hg/release/icedtea6-1.9?cmd=changeset;node=42cb6cbb7ba6
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Dec 01 20:26:57 2010 +0000

	Bump to 1.9.3.

	2010-12-01 Andrew John Hughes <ahughes at redhat.com>

	 * configure.ac: Bump to 1.9.3.


changeset e24e9650454e in /hg/release/icedtea6-1.9
details: http://icedtea.classpath.org/hg/release/icedtea6-1.9?cmd=changeset;node=e24e9650454e
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Dec 01 20:27:01 2010 +0000

	Added tag icedtea6-1.9.3 for changeset 42cb6cbb7ba6


diffstat:

8 files changed, 222 insertions(+), 17 deletions(-)
.hgtags                                              |    1 
ChangeLog                                            |   25 ++++
Makefile.am                                          |    4 
NEWS                                                 |    8 +
configure.ac                                         |    2 
patches/applet_hole.patch                            |  108 ++++++++++++++++++
patches/disable-default-compoops.patch               |   12 --
patches/openjdk/7002666-eclipse_cdt_oops_crash.patch |   79 +++++++++++++

diffs (299 lines):

diff -r fb7722abad72 -r e24e9650454e .hgtags
--- a/.hgtags	Mon Nov 29 15:56:43 2010 +0100
+++ b/.hgtags	Wed Dec 01 20:27:01 2010 +0000
@@ -22,3 +22,4 @@ 5464f814f82f7d9c8428179a71c51f11094717fd
 5464f814f82f7d9c8428179a71c51f11094717fd icedtea6-1.9
 2fa3935ab384958d06614cec587506702bc8e658 icedtea6-1.9.1
 c298e31212047871e12f07d6900d7580f83b5831 icedtea6-1.9.2
+42cb6cbb7ba6fbbcdd3499ea91c283637994db98 icedtea6-1.9.3
diff -r fb7722abad72 -r e24e9650454e ChangeLog
--- a/ChangeLog	Mon Nov 29 15:56:43 2010 +0100
+++ b/ChangeLog	Wed Dec 01 20:27:01 2010 +0000
@@ -1,7 +1,30 @@ 2010-11-29  Matthias Klose  <doko at ubuntu
-2010-11-29  Matthias Klose  <doko at ubuntu.com>
+2010-12-01  Andrew John Hughes  <ahughes at redhat.com>
+
+	* configure.ac: Bump to 1.9.3.
+
+2010-12-01  Andrew John Hughes  <ahughes at redhat.com>
+
+	* NEWS: Updated.
+
+2010-12-01  Andrew John Hughes  <ahughes at redhat.com>
+
+	* Makefile.am: Apply 7002666 to both hs17
+	and hs19.
+
+2010-12-01  Andrew John Hughes  <ahughes at redhat.com>
 
 	* patches/hotspot/hs19/ia64-fix.patch: Reapply chunk from
 	patches/zero/6896043.patch.
+
+2010-11-29  Matthias Klose  <doko at ubuntu.com>
+
+	* patches/disable-default-compoops.patch: Removed.
+	* Makefile.am: Replace disable compressed oops workaround
+	with proper fix for 7002666.
+	* patches/openjdk/7002666-eclipse_cdt_oops_crash.patch:
+	Backport of 7002666: Eclipse CDT projects crash with
+	compressed oops
+	* NEWS: Updated.
 
 2010-11-29  Matthias Klose  <doko at ubuntu.com>
 
diff -r fb7722abad72 -r e24e9650454e Makefile.am
--- a/Makefile.am	Mon Nov 29 15:56:43 2010 +0100
+++ b/Makefile.am	Wed Dec 01 20:27:01 2010 +0000
@@ -316,12 +316,12 @@ ICEDTEA_PATCHES = \
 	patches/openjdk/6850606-bigdecimal_regression.patch \
 	patches/openjdk/6876282-bigdecimal_divide.patch \
 	patches/f14-fonts.patch \
-	patches/applet_hole.patch
+	patches/applet_hole.patch \
+	patches/openjdk/7002666-eclipse_cdt_oops_crash.patch
 
 if WITH_ALT_HSBUILD
 ICEDTEA_PATCHES += \
 	patches/openjdk/6994130-ppc_fix.patch \
-	patches/disable-default-compoops.patch \
 	patches/hotspot/hs19/ia64-fix.patch
 else
 ICEDTEA_PATCHES += \
diff -r fb7722abad72 -r e24e9650454e NEWS
--- a/NEWS	Mon Nov 29 15:56:43 2010 +0100
+++ b/NEWS	Wed Dec 01 20:27:01 2010 +0000
@@ -8,7 +8,13 @@ GX  - http://bugs.gentoo.org/show_bug.cg
 
 CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
 
-New in release 1.9.3 (201X-XX-XX):
+New in release 1.9.3 (2010-12-01):
+
+* Re-enable compressed oops by default now 7002666 is fixed.
+* Backports
+  - S7002666: Eclipse CDT projects crash with compressed oops
+* Fixes
+  - Reapply ia64 fix from 6896043 which was reverted by 6953477
 
 New in release 1.9.2 (2010-11-24):
 
diff -r fb7722abad72 -r e24e9650454e configure.ac
--- a/configure.ac	Mon Nov 29 15:56:43 2010 +0100
+++ b/configure.ac	Wed Dec 01 20:27:01 2010 +0000
@@ -1,4 +1,4 @@ AC_INIT([icedtea6],[1.9.3pre],[distro-pk
-AC_INIT([icedtea6],[1.9.3pre],[distro-pkg-dev at openjdk.java.net])
+AC_INIT([icedtea6],[1.9.3],[distro-pkg-dev at openjdk.java.net])
 AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
 AC_CONFIG_FILES([Makefile])
 
diff -r fb7722abad72 -r e24e9650454e patches/applet_hole.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/applet_hole.patch	Wed Dec 01 20:27:01 2010 +0000
@@ -0,0 +1,108 @@
+diff -urN openjdk.orig/jdk/src/share/classes/sun/applet/AppletViewerPanel.java openjdk/jdk/src/share/classes/sun/applet/AppletViewerPanel.java
+--- openjdk.orig/jdk/src/share/classes/sun/applet/AppletViewerPanel.java	2008-01-12 15:53:45.000000000 -0500
++++ openjdk/jdk/src/share/classes/sun/applet/AppletViewerPanel.java	2008-02-04 11:51:20.000000000 -0500
+@@ -42,25 +42,25 @@
+  *
+  * @author      Arthur van Hoff
+  */
+-class AppletViewerPanel extends AppletPanel {
++public class AppletViewerPanel extends AppletPanel {
+ 
+     /* Are we debugging? */
+-    static boolean debug = false;
++    protected static boolean debug = false;
+ 
+     /**
+      * The document url.
+      */
+-    URL documentURL;
++    protected URL documentURL;
+ 
+     /**
+      * The base url.
+      */
+-    URL baseURL;
++    protected URL baseURL;
+ 
+     /**
+      * The attributes of the applet.
+      */
+-    Hashtable atts;
++    protected Hashtable atts;
+ 
+     /*
+      * JDK 1.1 serialVersionUID
+@@ -70,7 +70,7 @@
+     /**
+      * Construct an applet viewer and start the applet.
+      */
+-    AppletViewerPanel(URL documentURL, Hashtable atts) {
++    protected AppletViewerPanel(URL documentURL, Hashtable atts) {
+         this.documentURL = documentURL;
+         this.atts = atts;
+ 
+@@ -202,12 +202,12 @@
+         return (AppletContext)getParent();
+     }
+ 
+-    static void debug(String s) {
++    protected static void debug(String s) {
+         if(debug)
+             System.err.println("AppletViewerPanel:::" + s);
+     }
+ 
+-    static void debug(String s, Throwable t) {
++    protected static void debug(String s, Throwable t) {
+         if(debug) {
+             t.printStackTrace();
+             debug(s);
+diff -urN openjdk.orig/jdk/src/share/classes/sun/applet/AppletPanel.java openjdk/jdk/src/share/classes/sun/applet/AppletPanel.java
+--- openjdk.orig/jdk/src/share/classes/sun/applet/AppletPanel.java	2008-03-26 04:58:12.000000000 -0400
++++ openjdk/jdk/src/share/classes/sun/applet/AppletPanel.java	2008-04-07 21:55:56.000000000 -0400
+@@ -68,7 +68,7 @@
+     /**
+      * The applet (if loaded).
+      */
+-    Applet applet;
++    protected Applet applet;
+ 
+     /**
+      * Applet will allow initialization.  Should be
+@@ -117,7 +117,7 @@
+     /**
+      * The thread for the applet.
+      */
+-    Thread handler;
++    protected Thread handler;
+ 
+ 
+     /**
+@@ -162,7 +162,8 @@
+      * Creates a thread to run the applet. This method is called
+      * each time an applet is loaded and reloaded.
+      */
+-    synchronized void createAppletThread() {
++	//Overridden by NetxPanel.
++    protected synchronized void createAppletThread() {
+         // Create a thread group for the applet, and start a new
+         // thread to load the applet.
+         String nm = "applet-" + getCode();
+@@ -306,7 +307,7 @@
+     /**
+      * Get an event from the queue.
+      */
+-    synchronized AppletEvent getNextEvent() throws InterruptedException {
++    protected synchronized AppletEvent getNextEvent() throws InterruptedException {
+         while (queue == null || queue.isEmpty()) {
+             wait();
+         }
+@@ -695,7 +696,8 @@
+      * applet event processing so that it can be gracefully interrupted from
+      * things like HotJava.
+      */
+-    private void runLoader() {
++	//Overridden by NetxPanel.
++    protected void runLoader() {
+         if (status != APPLET_DISPOSE) {
+             showAppletStatus("notdisposed");
+             return;
diff -r fb7722abad72 -r e24e9650454e patches/disable-default-compoops.patch
--- a/patches/disable-default-compoops.patch	Mon Nov 29 15:56:43 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp    2010-11-08 23:50:59.000000000 -0500
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp        2010-11-08 23:52:53.000000000 -0500
-@@ -1301,7 +1301,8 @@ void Arguments::set_ergonomics_flags() {
-   if (MaxHeapSize <= max_heap_for_compressed_oops()) {
- #ifndef COMPILER1
-     if (FLAG_IS_DEFAULT(UseCompressedOops) && !UseG1GC) {
--      FLAG_SET_ERGO(bool, UseCompressedOops, true);
-+      // Temporarily fix rhbz#647737 -- disable compressed oops by default
-+      //FLAG_SET_ERGO(bool, UseCompressedOops, true);
-     }
- #endif
- #ifdef _WIN64
diff -r fb7722abad72 -r e24e9650454e patches/openjdk/7002666-eclipse_cdt_oops_crash.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/7002666-eclipse_cdt_oops_crash.patch	Wed Dec 01 20:27:01 2010 +0000
@@ -0,0 +1,79 @@
+--- openjdk.orig/hotspot/src/share/vm/opto/memnode.cpp	Tue Nov 30 11:47:17 2010
++++ openjdk/hotspot/src/share/vm/opto/memnode.cpp	Tue Nov 30 11:47:17 2010
+@@ -3599,10 +3599,12 @@
+     intptr_t size_limit = phase->find_intptr_t_con(size_in_bytes, max_jint);
+     if (zeroes_done + BytesPerLong >= size_limit) {
+       assert(allocation() != NULL, "");
+-      Node* klass_node = allocation()->in(AllocateNode::KlassNode);
+-      ciKlass* k = phase->type(klass_node)->is_klassptr()->klass();
+-      if (zeroes_done == k->layout_helper())
+-        zeroes_done = size_limit;
++      if (allocation()->Opcode() == Op_Allocate) {
++        Node* klass_node = allocation()->in(AllocateNode::KlassNode);
++        ciKlass* k = phase->type(klass_node)->is_klassptr()->klass();
++        if (zeroes_done == k->layout_helper())
++          zeroes_done = size_limit;
++      }
+     }
+     if (zeroes_done < size_limit) {
+       rawmem = ClearArrayNode::clear_memory(rawctl, rawmem, rawptr,
+--- /dev/null	Tue Nov 30 11:47:18 2010
++++ openjdk/hotspot/test/compiler/7002666/Test7002666.java	Tue Nov 30 11:47:17 2010
+@@ -0,0 +1,57 @@
++/*
++ * Copyright (c) 2010, 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
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++ * or visit www.oracle.com if you need additional information or have any
++ * questions.
++ *
++ */
++
++/**
++ * @test
++ * @bug 7002666
++ * @summary eclipse CDT projects crash with compressed oops
++ *
++ * @run main/othervm -Xbatch -XX:CompileOnly=Test7002666.test,java/lang/reflect/Array Test7002666
++ *
++ * This will only reliably fail with a fastdebug build since it relies
++ * on seeing garbage in the heap to die.  It could be made more
++ * reliable in product mode but that would require greatly increasing
++ * the runtime.
++ */
++
++public class Test7002666 {
++    public static void main(String[] args) {
++        for (int i = 0; i < 25000; i++) {
++            Object[] a = test(Test7002666.class, new Test7002666());
++            if (a[0] != null) {
++                // The element should be null but if it's not then
++                // we've hit the bug.  This will most likely crash but
++                // at least throw an exception.
++                System.err.println(a[0]);
++                throw new InternalError(a[0].toString());
++                
++            }
++        }
++    }
++    public static Object[] test(Class c, Object o) {
++        // allocate an array small enough to be trigger the bug
++        Object[] a = (Object[])java.lang.reflect.Array.newInstance(c, 1);
++        return a;
++    }
++}



More information about the distro-pkg-dev mailing list