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

beta4 problems



My first experiences with Soot (1.beta.4) were somewhat rough.
Here are some problems you'd probably like to know about.

Soot doesn't work under Sun's Java 1.2.1_02 ("Java 2") because it can't
find standard classes like java.lang.System.  For Java 1.2, I believe
that it needs to search using the "java.sys.class.path" property as well
as the "java.class.path" property.

Example3 provokes a segmentation fault from java (!) when run using the
distributed PropagateConstants.class file.  This is consistent across
three platforms: Intel Linux, Sun Solaris, Digital Unix.  "java -verify"
reports a VerifyError (with no additional information) on SGI Irix only.

Example5 fails because the code that spawns a "jasmin" process doesn't
wait for the process to finish before it deletes the jasmin input file.
Below is a patch for this problem.

   ---------------------------------------------------------------------------
   Gregg Townsend         Staff Scientist      The University of Arizona
   gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA




*** SootClass.org	Wed Mar 17 21:06:46 1999
--- SootClass.java	Wed Aug 18 17:12:14 1999
***************
*** 896,904 ****
  
              writerOut.close();
  
!             Runtime.getRuntime().exec("jasmin " + this.getName() + ".jasmin");
              tempFile.delete();
!         } catch(IOException e)
          {
              throw new RuntimeException("Could not produce new classfile! (" + e + ")");
          }
--- 896,905 ----
  
              writerOut.close();
  
!             Runtime.getRuntime().exec("jasmin " + this.getName() + ".jasmin").waitFor();
! 	    
              tempFile.delete();
!         } catch(Exception e)
          {
              throw new RuntimeException("Could not produce new classfile! (" + e + ")");
          }