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

AltStyle によって変換されたページ (->オリジナル) /