From: "Boehm, Hans" <hans_boehm@hp.com>
To: "'Christian Jönsson'" <c.christian.joensson@telia.com>,
"Boehm, Hans" <hans_boehm@hp.com>
Cc: Tom Tromey <tromey@redhat.com>, java@gcc.gnu.org
Subject: RE: gcc-3.1 2002-04-03 libjava failures on sparc-linux?
Date: Mon, 15 Apr 2002 20:03:00 -0000 [thread overview]
Message-ID: <40700B4C02ABD5119F000090278766443BF1DD@hplex1.hpl.hp.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 5067 bytes --]
That stack pointer value doesn't look a lot like GC_stackbottom. Just for
grins, could you try the attached (completely untested) patch? This makes
linux/SPARC determine GC_stackbottom in the same way as on other Linux
platforms, i.e. it first cheats and looks for a private glibc symbol, and
reads the stack base from /proc if that fails.
Hans
> -----Original Message-----
> From: Christian Jönsson [mailto:c.christian.joensson@telia.com]
> Sent: Sunday, April 14, 2002 1:16 PM
> To: Boehm, Hans
> Cc: Tom Tromey; java@gcc.gnu.org
> Subject: Re: gcc-3.1 2002-04-03 libjava failures on sparc-linux?
>
>
> On Wed, Apr 10, 2002 at 11:11:19AM -0700, Boehm, Hans wrote:
> > 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
>
> Well, here's what's in there for today's (Sun Apr 14 07:33:16
> UTC 2002):
>
> Current directory is
> /share2/gcc-rel/objdir/sparc-linux/libjava/testsuite/
> 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) break main
> Breakpoint 1 at 0x10ac0: file /tmp/cctyn6m2.i, line 10.
> (gdb) r
> Starting program:
> /share2/gcc-rel/objdir/sparc-linux/libjava/testsuite/cxxtest
>
> Breakpoint 1, main (argc=1, argv=0xe8ffec74) at /tmp/cctyn6m2.i:10
> 10 /tmp/cctyn6m2.i: No such file or directory.
> in /tmp/cctyn6m2.i
> (gdb) print $sp
> $1 = -385881272
> (gdb) c
> Continuing.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x507005f0 in GC_push_all_eager (bottom=0xe8ffe634 "ð\031@",
> top=0xf0000000 <Address 0xf0000000 out of bounds>)
> at /share2/gcc-rel/gcc/boehm-gc/mark.c:1349
> (gdb) bt
> #0 0x507005f0 in GC_push_all_eager (bottom=0xe8ffe634 "ð\031@",
> top=0xf0000000 <Address 0xf0000000 out of bounds>)
> at /share2/gcc-rel/gcc/boehm-gc/mark.c:1349
> #1 0x507006e8 in GC_push_all_stack_partially_eager (
> bottom=0xe8ffe634 "ð\031@",
> top=0xf0000000 <Address 0xf0000000 out of bounds>,
> cold_gc_frame=0xe8ffe81c "") at
> /share2/gcc-rel/gcc/boehm-gc/mark.c:1386
> #2 0x5070251c in GC_push_current_stack (cold_gc_frame=0xe8ffe81c "")
> at /share2/gcc-rel/gcc/boehm-gc/mark_rts.c:457
> #3 0x50702684 in GC_push_roots (all=1, cold_gc_frame=0xe8ffe81c "")
> at /share2/gcc-rel/gcc/boehm-gc/mark_rts.c:571
> #4 0x506fe380 in GC_mark_some (cold_gc_frame=0xe8ffe81c "")
> at /share2/gcc-rel/gcc/boehm-gc/mark.c:322
> #5 0x506f4548 in GC_stopped_mark (stop_func=0x506f36c8
> <GC_never_stop_func>)
> at /share2/gcc-rel/gcc/boehm-gc/alloc.c:489
> #6 0x506f40d0 in GC_try_to_collect_inner (
> stop_func=0x506f36c8 <GC_never_stop_func>)
> at /share2/gcc-rel/gcc/boehm-gc/alloc.c:350
> #7 0x50703840 in GC_init_inner () at
> /share2/gcc-rel/gcc/boehm-gc/misc.c:673
> #8 0x507032ac in GC_init () at
> /share2/gcc-rel/gcc/boehm-gc/misc.c:455
> #9 0x506fa4f0 in GC_init_gcj_malloc (mp_index=0, mp=0x506f063c)
> at /share2/gcc-rel/gcc/boehm-gc/gcj_mlc.c:60
> #10 0x506f1298 in _Jv_InitGC() () at
> /share2/gcc-rel/gcc/libjava/boehm.cc:465
> #11 0x5053e914 in _Jv_CreateJavaVM(void*) ()
> at /share2/gcc-rel/gcc/libjava/prims.cc:892
> #12 0x5053ed38 in _Jv_RunMain(java::lang::Class*, char
> const*, int, char const**, bool) (klass=0x2101c, name=0x0,
> argc=1, argv=0xe8ffec74, is_jar=false)
> at /share2/gcc-rel/gcc/libjava/prims.cc:982
> #13 0x00010aec in main (argc=1, argv=0xe8ffec74) at /tmp/cctyn6m2.i:11
> (gdb) print $sp
> $2 = -385882800
> (gdb) call GC_dump()
> ***Static roots:
> From 0x20e58 to 0x21498
> From 0x50039b38 to 0x50039d58 (temporary)
> From 0x500df7c8 to 0x500f3ff8 (temporary)
> From 0x50186118 to 0x50188470 (temporary)
> From 0x5019fed0 to 0x501a07b8 (temporary)
> From 0x502d7000 to 0x502e21a8 (temporary)
> From 0x50796970 to 0x508ae1b0 (temporary)
> From 0x508cbc68 to 0x508cd3e8 (temporary)
> From 0x508de000 to 0x508de370 (temporary)
> Total size: 1294760
>
> ***Heap sections:
> Total heap size: 65536
> Section 0 from 0x44000 to 0x54000 0/16 blacklisted
>
> ***Free blocks:
> Free list 16 (Total size 65536):
> 0x44000 size 65536 not black listed
> Total of 65536 bytes on free list
>
> ***Blocks in use:
> (kind(0=ptrfree,1=normal,2=unc.,3=stubborn):size_in_bytes,
> #_marks_set)
>
> blocks = 0, bytes = 0
> (gdb) c
> Continuing.
>
> Program terminated with signal SIGSEGV, Segmentation fault.
> The program no longer exists.
> (gdb) quit
>
> Debugger finished
>
> Cheers,
>
> /ChJ
>
[-- Attachment #2: sparc.diff --]
[-- Type: application/octet-stream, Size: 525 bytes --]
--- gcconfig.h Mon Apr 8 16:37:20 2002
+++ gcconfig.h.sparc Mon Apr 15 19:53:46 2002
@@ -815,11 +815,10 @@
extern int _etext;
# define DATAEND (&_end)
# define SVR4
+# define LINUX_STACKBOTTOM
# ifdef __arch64__
-# define STACKBOTTOM ((ptr_t) 0x80000000000ULL)
# define DATASTART (ptr_t)GC_SysVGetDataStart(0x100000, &_etext)
# else
-# define STACKBOTTOM ((ptr_t) 0xf0000000)
# define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &_etext)
# endif
# endif
next reply other threads:[~2002-04-16 2:59 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-15 20:03 Boehm, Hans [this message]
2002-04-15 23:08 ` Christian Jönsson
2002-04-16 3:31 ` Christian Jönsson
2002-04-16 16:33 ` Tom Tromey
2002-04-17 0:28 ` Christian Jönsson
2002-04-17 1:05 ` Christian Jönsson
-- strict thread matches above, loose matches on Subject: below --
2002-04-17 10:19 Boehm, Hans
2002-04-17 10:54 ` Christian Jönsson
2002-04-17 13:00 ` Christian Jönsson
2002-04-10 12:21 Boehm, Hans
2002-04-15 0:13 ` Christian Jönsson
2002-04-09 23:39 Boehm, Hans
2002-04-10 5:17 ` Christian Jönsson
2002-04-05 9:29 Christian Jönsson
2002-04-05 9:50 ` Christian Jönsson
2002-04-08 13:15 ` Tom Tromey
2002-04-08 14:27 ` Christian Jönsson
2002-04-09 9:48 ` Christian Jönsson
2002-04-09 15:02 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=40700B4C02ABD5119F000090278766443BF1DD@hplex1.hpl.hp.com \
--to=hans_boehm@hp.com \
--cc=c.christian.joensson@telia.com \
--cc=java@gcc.gnu.org \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).