public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: "Boehm, Hans" <hans_boehm@hp.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, Subject: RE: java/6092: sparc-sun-solaris2.7 has hundreds of libjava failu res with -m64 Date: Mon, 15 Apr 2002 16:46:00 -0000 [thread overview] Message-ID: <20020415234601.22289.qmail@sources.redhat.com> (raw) The following reply was made to PR java/6092; it has been noted by GNATS. From: "Boehm, Hans" <hans_boehm@hp.com> To: "'tromey@redhat.com'" <tromey@redhat.com>, "Boehm, Hans" <hans_boehm@hp.com> Cc: "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>, gcc-gnats@gcc.gnu.org Subject: RE: java/6092: sparc-sun-solaris2.7 has hundreds of libjava failu res with -m64 Date: Mon, 15 Apr 2002 16:42:33 -0700 > From: Tom Tromey [mailto:tromey@redhat.com] > Hans> A possible cause of that is confusion about where the roots are. > Hans> If you can check GC_stackbottom, check that the collector and > Hans> libgcj configuration agree on threads, get GC_dump() output, and > Hans> check the root locations against the nm output that might > Hans> identify something. Otherwise we need better debug information. > > In order to reduce the number of variables a bit, I tried gctest. I > got the same problem. Here's some info. > > (gdb) call GC_dump() > ***Static roots: > From 0x100106000 to 0x10012d8b8 > Total size: 161976 > > ***Heap sections: > Total heap size: 131072 > Section 0 from 0x100178000 to 0x100198000 0/16 blacklisted > > ***Free blocks: > Free list 16 (Total size 131072): > 0x100178000 size 131072 not black listed > Total of 131072 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 > I hadn't appreciated the fact that this was dying during initialization. That's further strong evidence that it in fact does have the root set wrong. Otherwise this looks plausible. > > > (gdb) p GC_stackbottom > $3 = 0xffffffff80000000 <Address 0xffffffff80000000 out of bounds> > > I dug through the source a bit. I think this machine doesn't define > USERLIMIT (a simple test program fails), so we must be using > HEURISTIC2. > I agree. Can you print the stack pointer with gdb right after startup, and verify that it's just below that value? > > When using nm what am I looking for? I looked at one global, > GC_gc_no. Its address falls into the range that GC_dump prints for > the static roots. Should I do this comparison for all the globals? > You want to get the symbols sorted in numeric order (nm -n on Linux; you may need nm -p | sort on Solaris). I would then check that a) It looks like all data and bss symbols are included in the "Static roots" interval, and b) It doesn't look like there are any obvious unmapped holes in the "Static roots" interval. I would guess that (b) is the problem here. It may be that the data segment in fact starts at a higher address than what the collector is assuming. The collector currently assumes the same spacing between etext and the start of the data segment as with the 32 bit ABI. I think this doesn't work well if the page size exceeds 64K, which may have been perceived as a problem by the designers of the 64 bit ABI. If this doesn't lead to a diganosis of the problem, it would also be very helpful to extract the fault address somehow. If you can determine the faulting instruction and the corresponding register contents, that should be fairly easy. It wasn't clear to me whather gdb is sufficiently functional to do that. Hans
next reply other threads:[~2002-04-15 23:46 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2002-04-15 16:46 Boehm, Hans [this message] -- strict thread matches above, loose matches on Subject: below -- 2002-04-15 20:06 Boehm, Hans 2002-04-15 14:46 Tom Tromey 2002-04-11 11:46 Boehm, Hans
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=20020415234601.22289.qmail@sources.redhat.com \ --to=hans_boehm@hp.com \ --cc=gcc-prs@gcc.gnu.org \ --cc=nobody@gcc.gnu.org \ /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: linkBe 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).