public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
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

             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).