gcc-3.1 2002年04月03日 libjava failures on sparc-linux?
Boehm, Hans
hans_boehm@hp.com
Wed Apr 10 12:21:00 GMT 2002
The new trace looks very similar to the old one to me. There's still a lot
of space between "bottom" and "top" in GC_push_all_eager. Does the stack
base look plausible? If you stop the program in main(), what's $sp?
Hans
> -----Original Message-----
> From: Christian Jönsson [mailto:c.christian.joensson@telia.com]
> Sent: Wednesday, April 10, 2002 1:20 AM
> To: Boehm, Hans
> Cc: Tom Tromey; java@gcc.gnu.org
> Subject: Re: gcc-3.1 2002年04月03日 libjava failures on sparc-linux?
>>> On Tue, Apr 09, 2002 at 06:19:01PM -0700, Boehm, Hans wrote:
> > > -----Original Message-----
> > > From: Christian Jönsson [mailto:c.christian.joensson@telia.com]
> > > (gdb) r
> > > Starting program:
> > > /share2/gcc-rel/objdir-gcc-3.1+binutils-2.12-cvs/sparc-linux/l
> > > ibjava/testsuite/cxxtest
> > >
> > > Program received signal SIGSEGV, Segmentation fault.
> > > 0x506d6f60 in GC_push_all_eager (bottom=0xeaffe3d4 "P0022円H@",
> > > top=0xf0000000 <Address 0xf0000000 out of bounds>)
> > > at /share2/gcc-rel/gcc/boehm-gc/mark.c:1349
> > > 1349 q = *p;
> > > (gdb) bt
> > > #0 0x506d6f60 in GC_push_all_eager (bottom=0xeaffe3d4
> "P0022円H@",
> > > top=0xf0000000 <Address 0xf0000000 out of bounds>)
> > > at /share2/gcc-rel/gcc/boehm-gc/mark.c:1349
> > > #1 0x506d7058 in GC_push_all_stack_partially_eager (
> > > bottom=0xeaffe3d4 "P0022円H@",
> > > top=0xf0000000 <Address 0xf0000000 out of bounds>,
> > > cold_gc_frame=0xeaffe5bc "") at
> > > /share2/gcc-rel/gcc/boehm-gc/mark.c:1386
> >
> > This is actually rather suggestive. It was trying to mark
> a stack between
> > 0xeaffe3d4 and 0xf0000000. That's a big stack. I suspect
> one of the
> > following:
> >
> > 1) Java is compiled with thread support, but the collector
> gets configures
> > without GC_LINUX_THREADS defined. Thus it's trying to mark
> between a thread
> > stack pointer and the base of the main stack.
> >
> > 2) The default stack base of (specified in gcconfig.h) of
> 0xf0000000 is
> > wrong on your machine. Try stopping a toy program in main
> and print $sp
> > from gdb to see whether the stack base looks plausible.
>> I'm afraid I ran this test on a ss20 UP machine, and not the ss20 SMP
> machine I built on... Here's a new run for gcc-3.1 2002年04月08日.
>> This was on a Debian Woody (test release) sun4m system with these
> packages:
>> binutils 2.12.90.0.1-1
> dejagnu 1.4.2-1.1
> gcc 2:2.95.4-14 (Debian prerelease)
> gcc-2.95 1:2.95.4-5 (Debian prerelease)
> kernel-image-2.2.20-sun4dm-smp 9
> libc6 2.2.5-4
>> LAST_UPDATED: Tue Apr 9 06:34:44 UTC 2002
>>> # This directory was configured as follows:
> /share2/gcc-rel/gcc/configure --host=sparc-linux
> --prefix=/usr --enable-shared --with-gnu-as --with-gnu-ld
> --with-system-zlib --enable-long-long --enable-nlls
> --enable-symvers --without-x --without-included-gettext
> --disable-checking
>>> i.e., no threads as some suspect threads problems.
>>> chj@fw:/share2/gcc-rel/objdir/sparc-linux/libjava/testsuite$
> env
> LD_LIBRARY_PATH=`pwd`/../.libs:`pwd`/../../../gcc:.:/usr/lib/d
> ebug ~/gdb cxxtest
> GNU gdb 5.1.90_20020403
> Copyright 2002 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 "sparc-linux"...
> (gdb) r
> Starting program:
> /share2/gcc-rel/objdir/sparc-linux/libjava/testsuite/cxxtest
>> Program received signal SIGSEGV, Segmentation fault.
> 0x506d9bc8 in GC_push_all_eager (bottom=0xeaffe444 "P0020円",
> top=0xf0000000 <Address 0xf0000000 out of bounds>)
> at /share2/gcc-rel/gcc/boehm-gc/mark.c:1349
> 1349 q = *p;
> (gdb) bt
> #0 0x506d9bc8 in GC_push_all_eager (bottom=0xeaffe444 "P0020円",
> top=0xf0000000 <Address 0xf0000000 out of bounds>)
> at /share2/gcc-rel/gcc/boehm-gc/mark.c:1349
> #1 0x506d9cc0 in GC_push_all_stack_partially_eager (
> bottom=0xeaffe444 "P0020円",
> top=0xf0000000 <Address 0xf0000000 out of bounds>,
> cold_gc_frame=0xeaffe62c "") at
> /share2/gcc-rel/gcc/boehm-gc/mark.c:1386
> #2 0x506dbaf0 in GC_push_current_stack (cold_gc_frame=0xeaffe62c "")
> at /share2/gcc-rel/gcc/boehm-gc/mark_rts.c:457
> #3 0x506dbc58 in GC_push_roots (all=1, cold_gc_frame=0xeaffe62c "")
> at /share2/gcc-rel/gcc/boehm-gc/mark_rts.c:571
> #4 0x506d7958 in GC_mark_some (cold_gc_frame=0xeaffe62c "")
> at /share2/gcc-rel/gcc/boehm-gc/mark.c:322
> #5 0x506cdb20 in GC_stopped_mark (stop_func=0x506ccca0
> <GC_never_stop_func>)
> at /share2/gcc-rel/gcc/boehm-gc/alloc.c:489
> #6 0x506cd6a8 in GC_try_to_collect_inner (
> stop_func=0x506ccca0 <GC_never_stop_func>)
> at /share2/gcc-rel/gcc/boehm-gc/alloc.c:350
> #7 0x506dce14 in GC_init_inner () at
> /share2/gcc-rel/gcc/boehm-gc/misc.c:673
> #8 0x506dc880 in GC_init () at
> /share2/gcc-rel/gcc/boehm-gc/misc.c:455
> #9 0x506d3ac8 in GC_init_gcj_malloc (mp_index=0, mp=0x506c9c14)
> at /share2/gcc-rel/gcc/boehm-gc/gcj_mlc.c:60
> #10 0x506ca870 in _Jv_InitGC() () at
> /share2/gcc-rel/gcc/libjava/boehm.cc:465
> #11 0x5053f8fc in _Jv_CreateJavaVM(void*) ()
> at /share2/gcc-rel/gcc/libjava/prims.cc:892
> #12 0x5053fd20 in _Jv_RunMain(java::lang::Class*, char
> const*, int, char const**, bool) (klass=0x20f74, name=0x0,
> argc=1, argv=0xeaffea84, is_jar=false)
> at /share2/gcc-rel/gcc/libjava/prims.cc:982
> #13 0x00010aac in main (argc=1, argv=0xeaffea84) at /tmp/cclCWPMk.i:11
> (gdb) c
> Continuing.
>> Program terminated with signal SIGSEGV, Segmentation fault.
> The program no longer exists.
> (gdb)
>
More information about the Java
mailing list