aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2007-03-30 04:09:35 +0000
committerTom Tromey <tromey@gcc.gnu.org>2007-03-30 04:09:35 +0000
commitcc5e1fab404f5c6c6f6f7e79c5626fc681eae97d (patch)
tree8b08d6e0dec0395e2de932fcd3c04af282a603c0
parent1a54978869b510d5b712778ae5e32521459f3791 (diff)
downloadgcc-cc5e1fab404f5c6c6f6f7e79c5626fc681eae97d.zip
gcc-cc5e1fab404f5c6c6f6f7e79c5626fc681eae97d.tar.gz
gcc-cc5e1fab404f5c6c6f6f7e79c5626fc681eae97d.tar.bz2
re PR libgcj/29869 (LogManager class loading failure with Tomcat)
libjava PR libgcj/29869: * java/util/logging/LogManager.java (readConfiguration): Handle comma-separated 'handlers'. Don't try to add a non-existing handler. libgcj/classpath PR libgcj/29869: * gnu/java/util/jar/JarUtils.java (log): Commented out. (readSFManifest): Don't log. From-SVN: r123356
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/classpath/ChangeLog6
-rw-r--r--libjava/classpath/gnu/java/util/jar/JarUtils.java14
-rw-r--r--libjava/classpath/lib/gnu/java/util/jar/JarUtils.classbin9045 -> 8687 bytes
-rw-r--r--libjava/classpath/lib/java/util/logging/LogManager$1.classbin2265 -> 2265 bytes
-rw-r--r--libjava/classpath/lib/java/util/logging/LogManager.classbin13496 -> 13528 bytes
-rw-r--r--libjava/java/util/logging/LogManager.java12
7 files changed, 32 insertions, 7 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 79ac5f4..318a4c2 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2007-03-29 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/29869:
+ * java/util/logging/LogManager.java (readConfiguration): Handle
+ comma-separated 'handlers'. Don't try to add a non-existing
+ handler.
+
2007-03-27 Tom Tromey <tromey@redhat.com>
* sources.am, Makefile.in: Rebuilt.
diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog
index caa611a..3d3d23f 100644
--- a/libjava/classpath/ChangeLog
+++ b/libjava/classpath/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-29 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/29869:
+ * gnu/java/util/jar/JarUtils.java (log): Commented out.
+ (readSFManifest): Don't log.
+
2007-03-28 Casey Marshall <csm@gnu.org>
* gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun):
diff --git a/libjava/classpath/gnu/java/util/jar/JarUtils.java b/libjava/classpath/gnu/java/util/jar/JarUtils.java
index c35daec..9debf64 100644
--- a/libjava/classpath/gnu/java/util/jar/JarUtils.java
+++ b/libjava/classpath/gnu/java/util/jar/JarUtils.java
@@ -1,5 +1,5 @@
/* JarUtils.java -- Utility methods for reading/writing Manifest[-like] files
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -62,7 +62,10 @@ import java.util.logging.Logger;
*/
public abstract class JarUtils
{
- private static final Logger log = Logger.getLogger(JarUtils.class.getName());
+ // We used to log here, but this causes problems during bootstrap,
+ // and it didn't seem worthwhile to preserve this. Still, this
+ // might be useful for debugging.
+ // private static final Logger log = Logger.getLogger(JarUtils.class.getName());
public static final String META_INF = "META-INF/";
public static final String DSA_SUFFIX = ".DSA";
public static final String SF_SUFFIX = ".SF";
@@ -112,9 +115,10 @@ public abstract class JarUtils
{
String version = expectHeader(version_header, br);
attr.putValue(SIGNATURE_VERSION, version);
- if (! DEFAULT_SF_VERSION.equals(version))
- log.warning("Unexpected version number: " + version
- + ". Continue (but may fail later)");
+ // This may cause problems during VM bootstrap.
+ // if (! DEFAULT_SF_VERSION.equals(version))
+ // log.warning("Unexpected version number: " + version
+ // + ". Continue (but may fail later)");
}
catch (IOException ioe)
{
diff --git a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class
index a1acf25..b2c6b89 100644
--- a/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class
+++ b/libjava/classpath/lib/gnu/java/util/jar/JarUtils.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/logging/LogManager$1.class b/libjava/classpath/lib/java/util/logging/LogManager$1.class
index 927c28c..737e5e6 100644
--- a/libjava/classpath/lib/java/util/logging/LogManager$1.class
+++ b/libjava/classpath/lib/java/util/logging/LogManager$1.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/logging/LogManager.class b/libjava/classpath/lib/java/util/logging/LogManager.class
index 92da8e3..2a4e0b0 100644
--- a/libjava/classpath/lib/java/util/logging/LogManager.class
+++ b/libjava/classpath/lib/java/util/logging/LogManager.class
Binary files differ
diff --git a/libjava/java/util/logging/LogManager.java b/libjava/java/util/logging/LogManager.java
index 1e0192e..811310c 100644
--- a/libjava/java/util/logging/LogManager.java
+++ b/libjava/java/util/logging/LogManager.java
@@ -559,13 +559,21 @@ public class LogManager
if ("handlers".equals(key))
{
- StringTokenizer tokenizer = new StringTokenizer(value);
+ // In Java 5 and earlier this was specified to be
+ // whitespace-separated, but in reality it also accepted
+ // commas (tomcat relied on this), and in Java 6 the
+ // documentation was updated to fit the implementation.
+ StringTokenizer tokenizer = new StringTokenizer(value,
+ " \t\n\r\f,");
while (tokenizer.hasMoreTokens())
{
String handlerName = tokenizer.nextToken();
Handler handler = (Handler)
createInstance(handlerName, Handler.class, key);
- Logger.root.addHandler(handler);
+ // Tomcat also relies on the implementation ignoring
+ // items in 'handlers' which are not class names.
+ if (handler != null)
+ Logger.root.addHandler(handler);
}
}