Mono uses a conservative GC, so may be they just don't notice that IRAF
is garbage. On .NET ikvm runs fine:
C:\>ikvm IRAF foo
java.lang.SecurityException: Operation not allowed
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkWrite(Unknown Source)
at java.io.RandomAccessFile.<init>(Unknown Source)
at java.io.RandomAccessFile.<init>(Unknown Source)
at IRAF.main(Unknown Source)
at IRAF.main(Unknown Source)
java.lang.NullPointerException
at java.io.RandomAccessFile.write(Unknown Source)
at IRAF.main(Unknown Source)
at IRAF.main(Unknown Source)Another interesting trick with the finalizer is creating instances of classes that have a private constructor! The attached runtime.j creates an instance of (a subclass of) java.lang.Runtime. Doesn't work on ikvm, because it ignores "new" without a corresponding call to the constructor. It could be considered a bug in Sun's verifier that it allows a class without a constructor, what do the other VMs do with this code? Regards, Jeroen > > > -----Original Message----- > From: Mark Wielaard [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 05, 2003 00:07 > To: Jeroen Frijters > Cc: [EMAIL PROTECTED] > > Hi, > > Forgot the most important one for sure: > > $ mono --noinline --share-code bin/ikvm.exe IRAF testfile > java.lang.SecurityException: Operation not allowed > at java.lang.SecurityManager.checkPermission(<unknown>) > at java.lang.SecurityManager.checkWrite(<unknown>) > at java.io.RandomAccessFile.<init>(<unknown>) > at java.io.RandomAccessFile.<init>(<unknown>) > at IRAF.main(<unknown>) > at IRAF.main(<unknown>) > Killed > > Note that it is killed because it rapidly eats up all memory in the > system. > > Cheers, > > Mark > >
runtime.j
Description: runtime.j
runtime.class
Description: runtime.class
_______________________________________________ Classpath mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/classpath

