classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Kissme-general] More Classpath change problems


From: John Leuner
Subject: Re: [Kissme-general] More Classpath change problems
Date: Thu, 28 Mar 2002 20:43:04 +0000
User-agent: Mutt/1.3.27i

I tracked this down to the ClassLoader class.

These patches seem to solve the problem:

Index: gnu/java/lang/SystemClassLoader.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/lang/SystemClassLoader.java,v
retrieving revision 1.1
diff -u -r1.1 SystemClassLoader.java
--- gnu/java/lang/SystemClassLoader.java        22 Mar 2002 21:25:20 -0000      
1.1
+++ gnu/java/lang/SystemClassLoader.java        28 Mar 2002 20:43:59 -0000
@@ -59,6 +59,10 @@
  */
 public class SystemClassLoader extends ClassLoader
 {
+    public SystemClassLoader(ClassLoader parent)
+    {
+       super(parent);
+    }
   /** A lock for synchronization when reading jars. */
   private static final Object NO_SUCH_ARCHIVE = new Object();
 

Index: java/lang/ClassLoader.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/lang/ClassLoader.java,v
retrieving revision 1.16
diff -u -r1.16 ClassLoader.java
--- java/lang/ClassLoader.java  22 Mar 2002 21:25:20 -0000      1.16
+++ java/lang/ClassLoader.java  28 Mar 2002 20:45:51 -0000
@@ -713,7 +713,9 @@
                                            "gnu.java.lang.SystemClassLoader");
         try
           {
-            return (ClassLoader) Class.forName(loader).newInstance();
+             System.err.println("loader is " + loader);
+             return new gnu.java.lang.SystemClassLoader(null);
+             //            return (ClassLoader) 
Class.forName(loader).newInstance();
           }
         catch (Exception e)
           {


Otherwise getSystemClassLoader gets in an infinite loop where the Constructor 
for SystemClassLoader calls the ClassLoader() constructor which tries to use 
the system class loader as the parent classloader and round and round it goes 
...

John Leuner

> I can now run a bunch of mauve tests, in particular this one fails with some 
> sort of infinite recursion:
> 
> gnu.testlet.java.text.DateFormat.Test
> 
> For later reference:
> 
> #13 0x0807ad4f in java_lang_reflect_Constructor_constructNative 
> (env=0x80d1c90, consObject=0x40c017e0, 
>     args=0x40c017f0, declaringClazz=0x40be93e0, slot=2) at 
> ./lib/indigenous/java.lang.reflect/Constructor.c:46
> #14 0x0805ac58 in JNI_CallNativeMethod (pstFrame=0x89293f0, 
> pstMethod=0x810cc24) at ./vm/jni_native_call.c:868
> #15 0x08050c0c in Interpret (env=0x80d1c90, pstInitFrame=0x8929310, 
> iMultiThread=1)
>     at vm/interp/method_invocation.h:800
> #16 0x080536b2 in INTERP_RunSpecialMethodFromPtr (env=0x80d1c90, 
> pstTheMethod=0x818a388, pi32Args=0x8929300)
>     at ./vm/interp/interp.c:794
> #17 0x0805d5a0 in NewObjectA (env=0x80d1c90, clazz=0x40be93e0, 
> methodID=0x818a388, args=0x0) at ./vm/jni.c:527
> #18 0x0807ad4f in java_lang_reflect_Constructor_constructNative 
> (env=0x80d1c90, consObject=0x40c017ac, 
>     args=0x40c017bc, declaringClazz=0x40be93e0, slot=2) at 
> ./lib/indigenous/java.lang.reflect/Constructor.c:46
> #19 0x0805ac58 in JNI_CallNativeMethod (pstFrame=0x8928398, 
> pstMethod=0x810cc24) at ./vm/jni_native_call.c:868
> #20 0x08050c0c in Interpret (env=0x80d1c90, pstInitFrame=0x89282b8, 
> iMultiThread=1)
>     at vm/interp/method_invocation.h:800
> #21 0x080536b2 in INTERP_RunSpecialMethodFromPtr (env=0x80d1c90, 
> pstTheMethod=0x818a388, pi32Args=0x89282a8)
>     at ./vm/interp/interp.c:794
> #22 0x0805d5a0 in NewObjectA (env=0x80d1c90, clazz=0x40be93e0, 
> methodID=0x818a388, args=0x0) at ./vm/jni.c:527
> #23 0x0807ad4f in java_lang_reflect_Constructor_constructNative 
> (env=0x80d1c90, consObject=0x40c01778, 
>     args=0x40c01788, declaringClazz=0x40be93e0, slot=2) at 
> ./lib/indigenous/java.lang.reflect/Constructor.c:46
> 
> John Leuner
> 
> _______________________________________________
> Kissme-general mailing list
> address@hidden
> https://lists.sourceforge.net/lists/listinfo/kissme-general



reply via email to

[Prev in Thread] Current Thread [Next in Thread]