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.