This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
libgcj problems on panther
- From: Andreas Tobler <toa at pop dot agri dot ch>
- To: GCC-Java <java at gcc dot gnu dot org>
- Cc: Andrew Pinski <pinskia at physics dot uc dot edu>
- Date: Mon, 10 Nov 2003 15:13:30 +0100
- Subject: libgcj problems on panther
Hi all,
since a few days panther (OS-X 10.3) is out and gives us some nice
improvements regarding build speed. Unfortunately we also have a serious
problem to run the testsuite in libgcj. It is not only testsuite related.
See here: http://gcc.gnu.org/ml/gcc-testresults/2003-11/msg00367.html
for a sample of the results.
If we run a test by hand it will succeed if we do it right:)
But it should not be necessary to pay attention to some settings. It
should always run.
Lets take the ArrayStore.exe
If we run it in the testsuite directory we succeed:
titanium:powerpc-apple-darwin7.0.0/libjava/testsuite] andreast%
./ArrayStore.exe
java.lang.ArrayStoreException
java.lang.ArrayStoreException
java.lang.ArrayIndexOutOfBoundsException
foobar
We change to the builddir:
[titanium:objdir/powerpc-apple-darwin7.0.0/libjava] andreast%
./testsuite/ArrayStore.exe
Bus error
This is with CLASSPATH not set.
If we set the CLASSPATH var the app always Bus Errors.
Below you find a bt full of such a crash.
The same happens for 'gij ArrayStore'
Andrew Pinski found out, if we remove the
gnu/gcj/convert/Output_ASCII.class from the buildtree, the app runs with
and with out CLASSPATH set. It also runs in the builddir.
In darwin6.3 everything went fine. One improvement from darwin6.3 to
darwin7.0 is wchar support. Maybe this is related ?
For the moment I'm stuck with analyzing, do you have an idea on how to
debug?
Thanks for any pointer.
Andreas
[titanium:objdir/powerpc-apple-darwin7.0.0/libjava] andreast% gdb
testsuite/ArrayStore.exe
GNU gdb 5.3-20030128 (Apple version gdb-292) (Sat Sep 20 03:22:27 GMT 2003)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc-apple-darwin".
Reading symbols for shared libraries ... done
(gdb) r
Starting program:
/Volumes/xufs/gcc-cvs-clean/objdir/powerpc-apple-darwin7.0.0/libjava/testsuite/ArrayStore.exe
Reading symbols for shared libraries . done
Program received signal EXC_BAD_ACCESS, Could not access memory.
_Jv_InterpMethod::run(void*, ffi_raw*) (this=0xa68dc0, retp=0xbffff570,
args=0xbffff400) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/include/java-interp.h:262
262 next = *n;
(gdb) bt full
#0 _Jv_InterpMethod::run(void*, ffi_raw*) (this=0xa68dc0,
retp=0xbffff570, args=0xbffff400) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/include/java-interp.h:262
this = (_Jv_MethodChain * const) 0xbffff180
n = (_Jv_MethodChain **) 0x38
thread = (struct Thread *) 0x0
frame_desc = {
self = 0x0,
ptr = 0x0,
next = 0x0
}
stack = (_Jv_word (*)[0]) 0x0
sp = (_Jv_word *) 0xa9ff3c
locals = (_Jv_word (*)[0]) 0x0
pool_data = (_Jv_word *) 0x0
fun = (void (*)(void)) 0
rmeth = (_Jv_ResolvedMethod *) 0x766b0
tmpval = 1976236
insn_target = {0x73108, 0x76550, 0x76534, 0x76518, 0x764fc,
0x764e0, 0x764c4, 0x764a8, 0x7648c, 0x7646c, 0x76448, 0x7642c, 0x76410,
0x763f4, 0x763d4, 0x763b0, 0x76394, 0x76394, 0x76378, 0x76378, 0x7634c,
0x76324, 0x762e8, 0x762c0, 0x76284, 0x7625c, 0x7623c, 0x7621c, 0x761fc,
0x761dc, 0x761b0, 0x76180, 0x76154, 0x76028, 0x76008, 0x75fe8, 0x75fc8,
0x75fa8, 0x75f7c, 0x75f4c, 0x75f20, 0x760b4, 0x76094, 0x76074, 0x76054,
0x76124, 0x760e0, 0x75ed0, 0x75e8c, 0x75e24, 0x75de0, 0x75d8c, 0x75d48,
0x75d00, 0x75cdc, 0x75ca8, 0x75c84, 0x75c50, 0x75c2c, 0x75c10, 0x75bf4,
0x75bd8, 0x75bbc, 0x75b98, 0x75b70, 0x75a8c, 0x75a68, 0x75a4c, 0x75a30,
0x75a14, 0x759f8, 0x759d4, 0x759ac, 0x75b0c, 0x75ae8, 0x75acc, 0x75ab0,
0x75b4c, 0x75b30, 0x75968, 0x75914, 0x758bc, 0x75858, 0x75800, 0x757c4,
0x75774, 0x75734, 0x75720, 0x7570c, 0x756f0, 0x756b0, 0x75670, 0x7564c,
0x755f4, 0x7559c, 0x75578, 0x75554, 0x75500, 0x754dc, 0x75488, 0x75464,
0x75410, 0x753ec, 0x75398, 0x75374, 0x75320, 0x752fc, 0x752a8, 0x75284,
0x75234, 0x75210, 0x751bc, 0x75198, 0x75148, 0x75120, 0x750cc, 0x750ac,
0x7506c, 0x7504c, 0x7500c, 0x74fe4, 0x74fa4, 0x74f7c, 0x74f3c, 0x74f14,
0x74ed4, 0x74eb0, 0x74e60, 0x74e3c, 0x74dec, 0x74dc8, 0x74d78, 0x74d48,
0x74d24, 0x74ce4, 0x74c98, 0x74c6c, 0x74c38, 0x74bf4, 0x74b48, 0x74ab8,
0x74a8c, 0x749e4, 0x74944, 0x74914, 0x748cc, 0x748ac, 0x748ec, 0x7484c,
0x7480c, 0x747dc, 0x747c4, 0x74774, 0x74744, 0x74724, 0x746f4, 0x746d4,
0x746a4, 0x74684, 0x74650, 0x7462c, 0x73ad8, 0x73ab4, 0x73a80, 0x73a5c,
0x73944, 0x73920, 0x738c4, 0x738a0, 0x73e9c, 0x73e48, 0x73df4, 0x73d60,
0x73da4, 0x73d98, 0x73dc8, 0x73d60, 0x73d68, 0x7427c, 0x742f4, 0x741e8,
0x73ff4, 0x73f9c, 0x73f58, 0x73f20, 0x73ccc, 0x0, 0x73c74, 0x73d34,
0x73c24, 0x73bfc, 0x73bf4, 0x73b60, 0x73b0c, 0x73a34, 0x73a14, 0x0,
0x73998, 0x73978, 0x738d8...}
pc = 0xbffff400
frame_desc = {
self = 0x0,
ptr = 0x0,
next = 0x0
}
stack = (_Jv_word (*)[0]) 0x0
locals = (_Jv_word (*)[0]) 0x0
pool_data = (_Jv_word *) 0x0
insn_target = {0x73108, 0x76550, 0x76534, 0x76518, 0x764fc,
0x764e0, 0x764c4, 0x764a8, 0x7648c, 0x7646c, 0x76448, 0x7642c, 0x76410,
0x763f4, 0x763d4, 0x763b0, 0x76394, 0x76394, 0x76378, 0x76378, 0x7634c,
0x76324, 0x762e8, 0x762c0, 0x76284, 0x7625c, 0x7623c, 0x7621c, 0x761fc,
0x761dc, 0x761b0, 0x76180, 0x76154, 0x76028, 0x76008, 0x75fe8, 0x75fc8,
0x75fa8, 0x75f7c, 0x75f4c, 0x75f20, 0x760b4, 0x76094, 0x76074, 0x76054,
0x76124, 0x760e0, 0x75ed0, 0x75e8c, 0x75e24, 0x75de0, 0x75d8c, 0x75d48,
0x75d00, 0x75cdc, 0x75ca8, 0x75c84, 0x75c50, 0x75c2c, 0x75c10, 0x75bf4,
0x75bd8, 0x75bbc, 0x75b98, 0x75b70, 0x75a8c, 0x75a68, 0x75a4c, 0x75a30,
0x75a14, 0x759f8, 0x759d4, 0x759ac, 0x75b0c, 0x75ae8, 0x75acc, 0x75ab0,
0x75b4c, 0x75b30, 0x75968, 0x75914, 0x758bc, 0x75858, 0x75800, 0x757c4,
0x75774, 0x75734, 0x75720, 0x7570c, 0x756f0, 0x756b0, 0x75670, 0x7564c,
0x755f4, 0x7559c, 0x75578, 0x75554, 0x75500, 0x754dc, 0x75488, 0x75464,
0x75410, 0x753ec, 0x75398, 0x75374, 0x75320, 0x752fc, 0x752a8, 0x75284,
0x75234, 0x75210, 0x751bc, 0x75198, 0x75148, 0x75120, 0x750cc, 0x750ac,
0x7506c, 0x7504c, 0x7500c, 0x74fe4, 0x74fa4, 0x74f7c, 0x74f3c, 0x74f14,
0x74ed4, 0x74eb0, 0x74e60, 0x74e3c, 0x74dec, 0x74dc8, 0x74d78, 0x74d48,
0x74d24, 0x74ce4, 0x74c98, 0x74c6c, 0x74c38, 0x74bf4, 0x74b48, 0x74ab8,
0x74a8c, 0x749e4, 0x74944, 0x74914, 0x748cc, 0x748ac, 0x748ec, 0x7484c,
0x7480c, 0x747dc, 0x747c4, 0x74774, 0x74744, 0x74724, 0x746f4, 0x746d4,
0x746a4, 0x74684, 0x74650, 0x7462c, 0x73ad8, 0x73ab4, 0x73a80, 0x73a5c,
0x73944, 0x73920, 0x738c4, 0x738a0, 0x73e9c, 0x73e48, 0x73df4, 0x73d60,
0x73da4, 0x73d98, 0x73dc8, 0x73d60, 0x73d68, 0x7427c, 0x742f4, 0x741e8,
0x73ff4, 0x73f9c, 0x73f58, 0x73f20, 0x73ccc, 0x0, 0x73c74, 0x73d34,
0x73c24, 0x73bfc, 0x73bf4, 0x73b60, 0x73b0c, 0x73a34, 0x73a14, 0x0,
0x73998, 0x73978, 0x738d8...}
#1 0x00076a00 in ffi_java_translate_args (cif=0xa9ff3c,
rvalue=0xbffff570, avalue=0xa68dc0, user_data=0x766b0) at
/Volumes/xufs/gcc-cvs-clean/gcc/libffi/src/java_raw_api.c:309
No locals.
#2 0x00076a00 in ffi_java_translate_args (cif=0xbffff3e0,
rvalue=0xbffff480, avalue=0xbffff400, user_data=0xa9ff3c) at
/Volumes/xufs/gcc-cvs-clean/gcc/libffi/src/java_raw_api.c:309
No locals.
#3 0x000a6944 in ffi_closure_helper_DARWIN (closure=0x76994,
rvalue=0x0, pgr=0xbffff59c, pfr=0xbffff508) at
/Volumes/xufs/gcc-cvs-clean/gcc/libffi/src/powerpc/ffi_darwin.c:698
avalue = (void **) 0xbffff480
arg_types = (ffi_type **) 0xa9ff54
i = 1
avn = 1
nf = 0
cif = (ffi_cif *) 0xa9ff3c
temp = 1.0235652115513625e-306
size_al = 56
#4 0x000e08d4 in ffi_closure_ASM ()
No symbol table info available.
#5 0x00007468 in java::lang::Class::newInstance() (this=0xbffff460) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/natClass.cc:694
meth = (_Jv_Method *) 0x1
#6 0x0004fc64 in
gnu.gcj.convert.UnicodeToBytes.getEncoder(java.lang.String)
(encoding=0xbffff480) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/gnu/gcj/convert/UnicodeToBytes.java:96
*LJv1 = (java.lang.Class *) 0x1eba88
#7 0x0004fea4 in gnu.gcj.convert.UnicodeToBytes.getDefaultEncoder() ()
at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/gnu/gcj/convert/UnicodeToBytes.java:62
*LJv0 = (java.lang.Class *) 0x1eb8d4
#8 0x00081344 in
java.io.OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
(this=0xa82c20, out=0xa6e810) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/io/OutputStreamWriter.java:116
No locals.
#9 0x0008080c in java.io.PrintWriter.PrintWriter(java.io.OutputStream)
(this=0xa6e7f8, out=0xa6e810) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/io/PrintWriter.java:121
No locals.
#10 0x00080844 in java.io.PrintWriter.PrintWriter(java.io.OutputStream,
boolean) (this=0xa6e7f8, out=0x48, autoflush=true) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/io/PrintWriter.java:104
No locals.
#11 0x0003c854 in java.io.PrintStream.PrintStream(java.io.OutputStream,
boolean) (this=0xa6e828, out=0xa6e810, auto_flush=true) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/io/PrintStream.java:111
No locals.
#12 0x0000f20c in java.lang.System.<clinit>() () at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/System.java:146
defaultProperties = (class java.util.Properties *) 0xa6e828
#13 0x000070d4 in java::lang::Class::initializeClass() (this=0x0) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/natClass.cc:808
meth = (_Jv_Method *) 0x0
self = (struct Thread *) 0xa6e828
#14 0x0000f72c in java.lang.System.getProperty(java.lang.String)
(key=0xa80f50) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/System.java:405
sm = (class java.lang.SecurityManager *) 0x38
#15 0x0002c3f8 in java.lang.Throwable.<clinit>() () at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/Throwable.java:403
No locals.
#16 0x000070d4 in java::lang::Class::initializeClass() (this=0x1e43ac)
at /Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/natClass.cc:808
meth = (_Jv_Method *) 0x0
self = (struct Thread *) 0x1
#17 0x0000706c in java::lang::Class::initializeClass() (this=0x1e593c)
at /Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/Class.h:279
self = (struct Thread *) 0x1
#18 0x0000706c in java::lang::Class::initializeClass() (this=0x1e390c)
at /Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/Class.h:279
self = (struct Thread *) 0x1
#19 0x0000706c in java::lang::Class::initializeClass() (this=0x1e36ec)
at /Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/Class.h:279
self = (struct Thread *) 0x1
#20 0x0000375c in _Jv_AllocObjectNoFinalizer (klass=0x1e36ec, size=24)
at /Volumes/xufs/gcc-cvs-clean/gcc/libjava/java/lang/Class.h:279
No locals.
#21 0x00003780 in _Jv_AllocObject (klass=0x1e36ec, size=72) at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/prims.cc:421
obj = 0x0
#22 0x000049e4 in _Jv_CreateJavaVM(void*) () at
/Volumes/xufs/gcc-cvs-clean/gcc/libjava/prims.cc:935
props = 0x1e3434 ""
p = 0x232774 "\220"
length = 3221224632
property_count = 0
length = 3221224632
length = 3221224632
#23 0x00004adc in _Jv_RunMain(java::lang::Class*, char const*, int, char
const**, bool) (klass=0x22ef7c, name=0x0, argc=0, argv=0x1e3434,
is_jar=true) at /Volumes/xufs/gcc-cvs-clean/gcc/libjava/prims.cc:979
runtime = (struct Runtime *) 0xa6e810
#24 0x000024cc in _start (argc=0, argv=0x1e3434, envp=0x0) at
/SourceCache/Csu/Csu-46/crt.c:267
i = 2303860
p = 0x0
q = (char **) 0xa68dc0
term = (void (*)(void)) 0x8fe17ef8 <__dyld__dyld_mod_term_funcs>
#25 0x00002340 in start ()
No locals.
Current language: auto; currently c++
(gdb)