This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gij 3.3.3 core dump


Hi Steven,

    First off, you'd have much better luck if you ask
GCJ/libgcj related questions on java@gcc.gnu.org.

Second, I tried out your testcase with the current
GCC CVS and the testcase does not dump core.

The testcase didn't run initially complaining about
class BootImageWriter not being found, which I finally
figured was because you'd not compiled a bunch of classes
under RVM.scratch (BootImageWriter{Constants/Messages}, etc.).

After that, I get an exception trace like so:
-------------------------------- 8< --------------------------------
Exception in thread "main" java.lang.NoClassDefFoundError: java.lang.Object
   at gnu.gcj.runtime.FirstThread.call_main() (/home/ranmath/gcc/lib/libgcj.so.6.0.0)
   at gnu.gcj.runtime.FirstThread.run() (/home/ranmath/gcc/lib/libgcj.so.6.0.0)
   at _Jv_ThreadRun(java.lang.Thread) (/home/ranmath/gcc/lib/libgcj.so.6.0.0)
   at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/home/ranmath/gcc/lib/libgcj.so.6.0.0)
   at __gcj_personality_v0 (/home/ranmath/tmp/gij-core-dump-augart-1/java.security.policy=rvm.security)
   at __libc_start_main (/lib/tls/libc-2.3.2.so)
   at _Jv_RegisterClasses (/home/ranmath/tmp/gij-core-dump-augart-1/java.security.policy=rvm.security)
Caused by: java.lang.IncompatibleClassChangeError: field com.ibm.JikesRVM.classloader.VM_BytecodeStream.JBC_length was not found.
   at _Jv_ResolvePoolEntry(java.lang.Class, int) (/home/ranmath/gcc/lib/libgcj.so.6.0.0)
   at gnu.gcj.runtime.FirstThread.call_main() (/home/ranmath/gcc/lib/libgcj.so.6.0.0)
   ...6 more
-------------------------------- 8< --------------------------------

Indeed there doesn't seem to be a field named "JBC_length"
in com.ibm.JikesRVM.classloader.VM_BytecodeStream (I checked
with "javap -private" only).

However, it *does* work with Sun's JVM 1.4.2_03. :-/

Any ideas?

Ranjit.

Steven Augart wrote:
> I'm reporting a segmentation fault when I invoke gij version 3.3.3.  I
> built gij on x86/Linux (Ibm Thinkpad T-23, Pentium III, Red Hat kernel
> 2.4.20-18.9).
> 
> To reproduce it: 
> 
> Pull down ftp://ftp.augart.com/Bugs/gij-core-dump-augart-1.tar.gz (5024 KB)
> 
> Unpack it.  CD to the newly created directory gij-core-dump-augart-1
> 
> Invoke gij as follows:
> 
> 	gij  --mx=400M  -classpath RVM.scratch/:RVM.classes/jksvm.jar:RVM.classes/rvmrt.jar  -Djava.security.policy=rvm.security BootImageWriter -classpath RVM.classes/jksvm.jar:RVM.classes/rvmrt.jar -n RVM.primordials -o RVM.image -m RVM.map -littleEndian -ia 0x43000000
> 
> The above command is conveniently in a one-line shell script; you can just type:
> 	sh doit.sh
> 
> gij will rapidly crash with a segmentation fault.
> 
> Here is the stack trace:
> 
>     (gdb) bt
>     #0  0x403acb24 in _Jv_FindClass(_Jv_Utf8Const*, java::lang::ClassLoader*) ()
>        from /usr/local/lib/./libgcj.so.4
>     #1  0x403a844b in java::lang::Class::forName(java::lang::String*, bool, java::la
>     ng::ClassLoader*) () from /usr/local/lib/./libgcj.so.4
>     #2  0x403a8567 in java::lang::Class::forName(java::lang::String*) ()
>        from /usr/local/lib/./libgcj.so.4
>     #3  0x4041738b in java.util.ResourceBundle.tryBundle(java.lang.String, java.util
>     .Locale, java.lang.ClassLoader, java.util.ResourceBundle, java.util.HashMap) (
> 	localizedName=0x8120770, locale=0x809dbd0, classloader=0x0, 
> 	bundle=0x8120790, cache=0x8096aa0)
> 	at ../../../gcc-3.3.3/libjava/java/util/ResourceBundle.java:463
>     #4  0x404175c2 in java.util.ResourceBundle.tryLocalBundle(java.lang.String, java
>     .util.Locale, java.lang.ClassLoader, java.util.ResourceBundle, java.util.HashMap
>     ) (baseName=0x0, locale=0x809dc60, classloader=0x0, bundle=0x8120790, 
> 	cache=0x8096aa0)
> 	at ../../../gcc-3.3.3/libjava/java/util/ResourceBundle.java:547
>     #5  0x40416fb2 in java.util.ResourceBundle.getBundle(java.lang.String, java.util
>     .Locale, java.lang.ClassLoader) (baseName=0x80946c0, locale=0x809dc60, 
> 	classLoader=0x0)
> 	at ../../../gcc-3.3.3/libjava/java/util/ResourceBundle.java:372
>     #6  0x40416d7d in java.util.ResourceBundle.getBundle(java.lang.String, java.util
>     .Locale) (baseName=0x0, locale=0x0)
> 	at ../../../gcc-3.3.3/libjava/java/util/ResourceBundle.java:244
>     #7  0x403fcef5 in java.util.Calendar.getInstance(java.util.TimeZone, java.util.L
>     ocale) (zone=0x8110b40, locale=0x809dc60)
> 	at ../../../gcc-3.3.3/libjava/java/util/Calendar.java:433
>     #8  0x403fcd55 in java.util.Calendar.getInstance() ()
> 	at ../../../gcc-3.3.3/libjava/java/util/Calendar.java:401
>     #9  0x404bf1f5 in java.util.zip.ZipEntry.getCalendar() ()
> 	at ../../../gcc-3.3.3/libjava/java/util/zip/ZipEntry.java:218
>     #10 0x404beecb in java.util.zip.ZipEntry.setTime(long) (this=0x80f5e70, 
> 	time=1079375321)
> 	at ../../../gcc-3.3.3/libjava/java/util/zip/ZipEntry.java:167
>     #11 0x404bf692 in java.util.zip.ZipEntry.setExtra(byte[]) (this=0x80f5e70, 
> 	extra=0x0) at ../../../gcc-3.3.3/libjava/java/util/zip/ZipEntry.java:344
>     #12 0x404c0586 in java.util.zip.ZipFile.readEntries() (this=0x809eec0)
> 	at ../../../gcc-3.3.3/libjava/java/util/zip/ZipFile.java:278
>     #13 0x404c08c9 in java.util.zip.ZipFile.getEntries() (this=0x809eec0)
> 	at ../../../gcc-3.3.3/libjava/java/util/zip/ZipFile.java:345
>     #14 0x404c09a2 in java.util.zip.ZipFile.getEntry(java.lang.String) (this=0x0, 
> 	name=0x0) at ../../../gcc-3.3.3/libjava/java/util/zip/ZipFile.java:362
>     #15 0x404baf9f in java.util.jar.JarFile.readManifest() (this=0x809eec0)
> 	at ../../../gcc-3.3.3/libjava/java/util/jar/JarFile.java:210
>     #16 0x404bae30 in java.util.jar.JarFile.JarFile(java.lang.String, boolean) (
> 	this=0x809eec0, fileName=0x0, verify=true)
> 	at ../../../gcc-3.3.3/libjava/java/util/jar/JarFile.java:114
>     #17 0x404badcb in java.util.jar.JarFile.JarFile(java.lang.String) (this=0x0, 
>     ---Type <return> to continue, or q <return> to quit---
> 	fileName=0x0) at ../../../gcc-3.3.3/libjava/java/util/jar/JarFile.java:92
>     #18 0x4042a8e1 in gnu.gcj.protocol.jar.Connection.getJarFile() (this=0x80f7110)
> 	at ../../../gcc-3.3.3/libjava/gnu/gcj/protocol/jar/Connection.java:66
>     #19 0x40492821 in java.net.URLClassLoader$JarURLLoader.URLClassLoader$JarURLLoad
>     er(java.net.URLClassLoader, java.net.URL) (this=0x809de58, 
> 	classloader=0x80aafc0, baseURL=0x809eec0)
> 	at ../../../gcc-3.3.3/libjava/java/net/URLClassLoader.java:302
>     #20 0x40492f45 in java.net.URLClassLoader.addURL(java.net.URL) (
> 	this=0x80aafc0, newUrl=0x8096de8)
> 	at ../../../gcc-3.3.3/libjava/java/net/URLClassLoader.java:672
>     #21 0x40492fbf in java.net.URLClassLoader.addURLs(java.net.URL[]) (
> 	this=0x80aafc0, newUrls=0x8096eb0)
> 	at ../../../gcc-3.3.3/libjava/java/net/URLClassLoader.java:695
>     #22 0x40492b47 in java.net.URLClassLoader.URLClassLoader(java.net.URL[]) (
> 	this=0x80aafc0, urls=0x0)
> 	at ../../../gcc-3.3.3/libjava/java/net/URLClassLoader.java:543
>     #23 0x4042cd08 in gnu.gcj.runtime.VMClassLoader.VMClassLoader() (this=0x0)
> 	at ../../../gcc-3.3.3/libjava/gnu/gcj/runtime/VMClassLoader.java:20
>     #24 0x4042d058 in gnu.gcj.runtime.VMClassLoader.<clinit>() ()
> 	at ../../../gcc-3.3.3/libjava/gnu/gcj/runtime/VMClassLoader.java:71
>     #25 0x403aa0b9 in java::lang::Class::initializeClass() ()
>        from /usr/local/lib/./libgcj.so.4
>     #26 0x40547434 in _Jv_InitClass () from /usr/local/lib/./libgcj.so.4
>     #27 0x403c3d28 in java.lang.ClassLoader.getSystemClassLoader() ()
> 	at ../../../gcc-3.3.3/libjava/java/lang/ClassLoader.java:203
>     #28 0x403a85af in java::lang::Class::getClassLoader() ()
>        from /usr/local/lib/./libgcj.so.4
>     #29 0x403a852c in java::lang::Class::forName(java::lang::String*) ()
>        from /usr/local/lib/./libgcj.so.4
>     #30 0x4036a7db in gnu.gcj.convert.UnicodeToBytes.getDefaultEncoder() ()
> 	at ../../../gcc-3.3.3/libjava/gnu/gcj/convert/UnicodeToBytes.java:49
>     #31 0x403ecd2c in java.io.PrintStream.PrintStream(java.io.OutputStream, boolean)
>      (this=0x407bbd24, out=0x0)
> 	at ../../../gcc-3.3.3/libjava/java/io/PrintStream.java:241
>     #32 0x403d32c5 in java.lang.System.<clinit>() ()
> 	at ../../../gcc-3.3.3/libjava/java/lang/System.java:135
>     #33 0x403aa0b9 in java::lang::Class::initializeClass() ()
>        from /usr/local/lib/./libgcj.so.4
>     #34 0x40547434 in _Jv_InitClass () from /usr/local/lib/./libgcj.so.4
>     #35 0x403d2b88 in java.lang.System.getProperty(java.lang.String) (
> 	key=0x807af60) at ../../../gcc-3.3.3/libjava/java/lang/System.java:393
>     #36 0x403d5f42 in java.lang.Throwable.<clinit>() ()
> 	at ../../../gcc-3.3.3/libjava/java/lang/Throwable.java:403
>     #37 0x403aa0b9 in java::lang::Class::initializeClass() ()
>        from /usr/local/lib/./libgcj.so.4
>     #38 0x40547434 in _Jv_InitClass () from /usr/local/lib/./libgcj.so.4
>     #39 0x403aa01c in java::lang::Class::initializeClass() ()
>     ---Type <return> to continue, or q <return> to quit---
>        from /usr/local/lib/./libgcj.so.4
>     #40 0x40547434 in _Jv_InitClass () from /usr/local/lib/./libgcj.so.4
>     #41 0x403aa01c in java::lang::Class::initializeClass() ()
>        from /usr/local/lib/./libgcj.so.4
>     #42 0x40547434 in _Jv_InitClass () from /usr/local/lib/./libgcj.so.4
>     #43 0x403aa01c in java::lang::Class::initializeClass() ()
>        from /usr/local/lib/./libgcj.so.4
>     #44 0x40547434 in _Jv_InitClass () from /usr/local/lib/./libgcj.so.4
>     #45 0x403821a7 in _Jv_AllocObjectNoFinalizer ()
>        from /usr/local/lib/./libgcj.so.4
>     #46 0x40382203 in _Jv_AllocObject () from /usr/local/lib/./libgcj.so.4
>     #47 0x40383198 in _Jv_CreateJavaVM(void*) () from /usr/local/lib/./libgcj.so.4
>     #48 0x40383387 in _Jv_RunMain(java::lang::Class*, char const*, int, char const**
>     , bool) () from /usr/local/lib/./libgcj.so.4
>     #49 0x08048cd6 in main ()
>     #50 0x420156a4 in __libc_start_main () from /lib/tls/libc.so.6
>     (gdb) 
> 
> I will leave the .tar.gz file up through at least April 30, 2004; if
> someone is working on this bug and wants it up for longer, please
> email augart at watson dot ibm dot com.
> 
> 
> Sincerely Yours
> 
> --Steven Augart
> 


-- 
Ranjit Mathew          Email: rmathew AT hotmail DOT com

Bangalore, INDIA.      Web: http://ranjitmathew.tripod.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]