[re] Java executables can abort trying to access a null pointer in a leaf function

tsuraan tsuraan@gmail.com
Wed Feb 1 21:32:00 GMT 2006


In April, 2000, the following code was posted to the java-gnats at
cygnus mailing list as a piece of code that causes a gcj compiled
program to abort rather than printing out the NullPointerException and
exiting:

public class NullPointer
{
  private int i = 5;

  public static void main(String[] args)
  {
    try
    {
      new NullPointer().foo(null);
    }
    catch (NullPointerException x)
    {
      System.out.println(x);
    }
  }

  void foo(NullPointer e)
  {
    e.i += 4;
  };
}

I'm getting the same result (program exit with abort) using
gcc-4.1-20051029 under FreeBSD 5.4.  This happens reliably on many
machines.  This code works fine using the same gcc source under Gentoo
Linux with a 2.6.x kernel, so I assume FreeBSD is handling things a
bit differently and causing the abort.  I tried to test this under the
current svn trunk, but when I attempt to run 'gmake install' I run out
of memory, so that's not going to work.  If someone who can install a
fresh version of gcc under freebsd 5.4 could verify this or say that
it's no longer an issue, I'd be very appreciative.



More information about the Java mailing list