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
> 
> 

Attachment: runtime.j
Description: runtime.j

Attachment: runtime.class
Description: runtime.class

_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath

Reply via email to