This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: gij 3.3.3 core dump
- From: Ranjit Mathew <rmathew at hotmail dot com>
- To: Steven Augart <augart at watson dot ibm dot com>
- Cc: gcc at gcc dot gnu dot org, java at gcc dot gnu dot org
- Date: Wed, 31 Mar 2004 12:09:42 +0530
- Subject: Re: gij 3.3.3 core dump
- References: <200403260429.i2Q4TPl25447@bilbo.watson.ibm.com>
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/