java/6754: Casting to gnu.gcj.RawData causes SEGV

Adam Megacz gcj@lists.megacz.com
Mon May 20 18:11:00 GMT 2002


Here's the test case; it's logged in the PR as well:

  - a



import java.io.*;
import gnu.gcj.RawData;

public class test {

    public static native RawData foo();

    public static RawData bar(Object o) {
        return (RawData)o;
    }

    public static void main(String[] s) throws Exception {
        bar(foo());
    }

}



#include<gcj/cni.h>
#include<gnu/gcj/RawData.h>
#include "test.h"

gnu::gcj::RawData* test::foo() {
       return (gnu::gcj::RawData*)73;
}




megacz@curry$./a.out
Exception in thread "main" java.lang.NullPointerException
   at 0x40221e32: _Jv_ThrowSignal (/usr/local/gcc/lib/libgcj.so.3)
   at 0x40221e66: ?? (??:0)
   at 0xbffff344: ?? (??:0)
   at 0x08048a0d: test::bar(java::lang::Object*) (??:0)
   at 0x08048a2f: test::main(JArray<java::lang::String*>*) (??:0)
   at 0x40234438: gnu.gcj.runtime.FirstThread.call_main() (/usr/local/gcc/lib/libgcj.so.3)
   at 0x402bea28: gnu.gcj.runtime.FirstThread.run() (/usr/local/gcc/lib/libgcj.so.3)
   at 0x4024104c: _Jv_ThreadRun(java.lang.Thread) (/usr/local/gcc/lib/libgcj.so.3)
   at 0x40223894: _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/local/gcc/lib/libgcj.so.3)
   at 0x402239cd: JvRunMain (/usr/local/gcc/lib/libgcj.so.3)
   at 0x080489e4: main (??:0)
   at 0x4060d65f: __libc_start_main (/lib/libc.so.6)
   at 0x080488c1: _start (??:0)



More information about the Java mailing list