crash loading gcj stuff

Marcus G. Daniels mgd at swarm.org
Wed Feb 2 16:45:10 PST 2000



So it seems to be something with exception handling.  In the two cases
below I had to take care to avoid class-lookup failures.  Avoiding
those failures, the gcj shared object loads and runs fine.

retrieving revision 1.1
Index: libraries/javalib/java/lang/ClassLoader.java
===================================================================
RCS file: /cvs/kaffe/kaffe/libraries/javalib/java/lang/ClassLoader.java,v
retrieving revision 1.19
diff -c -r1.19 ClassLoader.java
*** libraries/javalib/java/lang/ClassLoader.java	1999/09/21 20:47:15	1.19
--- libraries/javalib/java/lang/ClassLoader.java	2000/02/03 00:36:41
***************
*** 146,152 ****
  
  public URL getResource(String name) {
  	try {
! 		return (URL)getResources(name).nextElement();
  	} catch (IOException e) {
  	} catch (NoSuchElementException e) {
  	}
--- 146,155 ----
  
  public URL getResource(String name) {
  	try {
!           Enumeration vec = getResources (name);
!           
!           if (vec.hasMoreElements ())
! 	    return (URL)vec.nextElement();
  	} catch (IOException e) {
  	} catch (NoSuchElementException e) {
  	}
Index: libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java
===================================================================
RCS file: /cvs/kaffe/kaffe/libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java,v
retrieving revision 1.4
diff -c -r1.4 DefaultURLStreamHandlerFactory.java
*** libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java	1999/07/24 00:56:36	1.4
--- libraries/javalib/kaffe/net/DefaultURLStreamHandlerFactory.java	2000/02/03 00:36:43
***************
*** 46,58 ****
  		}
  	}
  
  	/* Try the TVT default name */
! 	String classPath = tvtName + protocol + ".Handler";
  	handler = tryClass(classPath);
  	if (handler != null) {
  		cache.put(protocol, handler);
  		return (handler);
  	}
  
  	/* Try the default name */
  	classPath = defaultName + protocol + ".Handler";
--- 46,61 ----
  		}
  	}
  
+ 	String classPath;
  	/* Try the TVT default name */
! /*
!         classPath = tvtName + protocol + ".Handler";
  	handler = tryClass(classPath);
  	if (handler != null) {
  		cache.put(protocol, handler);
  		return (handler);
  	}
+ */
  
  	/* Try the default name */
  	classPath = defaultName + protocol + ".Handler";



More information about the kaffe mailing list