Debugging alpha port

Dirk Grunwald grunwald at pa.dec.com
Thu Oct 15 18:26:44 PDT 1998


I'm trying to get the Alpha/DigitalUnix port working again.  I built a
stand-alone test for the 'jthreads' library and it looks like that
works fine, once I supplied the missing info. I have been worrying
about the intrepreter for now, and will deal with the JIT later.

Using the follow simple expansion of HelloWorldApp, it appears that I
can call interpreted and native code, but that it constantly dies in
CharToByteDefault -- a null exception gets thrown, no one catches and
the world collapses.  I'm using the 1.0b2 version compiled with gcc
version egcs-2.91.55 19980824 (gcc2 ss-980609 experimental)

I think I recall seeing a related mentioned recently and wanted to see
if this rings any bells?


[rushmore] ./Kaffe -v -vmdebug INT_NATIVE,INT_VMCALL foo
...lots of native and non-native calls...
Call: foo.moo(I)V.
Call: foo.moo(I)V.
Call: foo.moo(I)V.
Call: foo.moo(I)V.
Call: java/io/PrintStream.println(Ljava/lang/String;)V.
Call: java/io/PrintWriter.println(Ljava/lang/String;)V.
Call: java/io/PrintWriter.write(Ljava/lang/String;)V.
Call: java/lang/String.toCharArray()[C.
Call: java/lang/String.getChars(II[CI)V.
Call: java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V.
Call to native java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V.
Call: java/lang/String.length()I.
Call: java/io/PrintWriter.write([CII)V.
Call: java/io/OutputStreamWriter.write([CII)V.
Call: kaffe/io/CharToByteDefault.convert([CII[BII)I.
Call to native kaffe/io/CharToByteDefault.convert([CII[BII)I.
Method = kaffe/io/CharToByteDefault.convert([CII[BII)I
Native stub = 'kaffe_io_CharToByteDefault_convert'
Call: java/lang/NullPointerException.<init>()V.
Call: java/lang/RuntimeException.<init>()V.


class foo {
  public static void main (String args[]) {
    for (int i = 0; i < 100000; i++) {
      ;
    }
    foo bar = new foo();
    
    bar.woof(1000);
  }
  
  public void moo(int y) {
  }

  public void woof(int x) {
    for (int i = 0; i < x; i++) {
      moo(x);
    }
    System.out.println(10); // death walks here 
    //    System.out.println("Hello World!"); // death walks here
  }
}



More information about the kaffe mailing list