public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
To: Ian Lance Taylor <iant@google.com>
Cc: gcc-patches@gcc.gnu.org, gofrontend-dev@googlegroups.com
Subject: Re: Go patch committed: Update Go library
Date: Mon, 31 Oct 2011 17:57:00 -0000	[thread overview]
Message-ID: <yddaa8hb0jh.fsf@manam.CeBiTec.Uni-Bielefeld.DE> (raw)
In-Reply-To: <mcr4nyv718a.fsf@dhcp-172-18-216-180.mtv.corp.google.com> (Ian	Lance Taylor's message of "Wed, 26 Oct 2011 17:00:05 -0700")

Ian Lance Taylor <iant@google.com> writes:

> This patch updates the Go library to the most recent weekly release.  I
> think the only potential portability issues here are the use of the
> ipv6_mreq struct.  I'm not entirely sure the new exp/terminal package is
> portable, but it might be.
>
> I have not included the entire patch here, because it is too large and
> it's just copying changes anyhow.  I've included all patches to files
> which are specific to the Go frontend version.

After this change, I'm seeing another issue: most 32-bit go execution
tests fail like this on Solaris 11/x86:

/vol/gcc/src/hg/trunk/local/libgo/runtime/malloc.goc:366: libgo assertion failure
FAIL: go.go-torture/execute/array-1.go execution,  -O0 

Running the test under truss, I find:

14261:	mmap(0xFF000000, 805306368, PROT_NONE, MAP_PRIVATE|MAP_ANON, -1, 0) Err#12 ENOMEM

With truss -u (user function tracing), I see:

14285/1@1:	-> libgo:runtime_mallocinit()
14285/1@1:	  -> libgo:runtime_InitSizes()
14285/1@1:	  <- libgo:runtime_InitSizes() = 2
14285/1@1:	  -> libgo:runtime_SysReserve()
14285/1:	mmap(0xFF000000, 805306368, PROT_NONE, MAP_PRIVATE|MAP_ANON, -1, 0) Err#12 ENOMEM
14285/1@1:	  <- libgo:runtime_SysReserve() = -1
14285/1@1:	  -> libgo:__go_assert_fail()

If I remove the adjustment in runtime/malloc.goc (runtime_mallocinit),
the test passes:

14445/1:	mmap(0xFEF78114, 805306368, PROT_NONE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xCE000000

This stuff seems incredibly fragile, and I don't exactly understand
why.  Besides, the assertion failure above is strange/wrong in two ways:

/vol/gcc/src/hg/trunk/local/libgo/runtime/malloc.goc:366: libgo assertion failure

* I'd expect to see the message from runtime_throw() here, not just
  `libgo assertion failure'.

* The message points to the wrong line due to a broken test: malloc.goc
  has:

		p = runtime_SysReserve((void*)(0x00f8ULL<<32), bitmap_size + arena_size);
		if(p == nil)
			runtime_throw("runtime: cannot reserve arena virtual address space");

  On failure, p will be MAP_FAILED ((void *)-1), not nil, so the wrong
  assertion it thrown.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

  parent reply	other threads:[~2011-10-31 16:15 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-27  3:07 Ian Lance Taylor
2011-10-27 14:46 ` Rainer Orth
2011-10-27 17:36   ` Ian Lance Taylor
2011-10-27 17:50     ` Rainer Orth
2011-10-31 23:06   ` Ian Lance Taylor
2011-10-31 17:57 ` Rainer Orth [this message]
2011-11-01  4:55   ` Ian Lance Taylor
2011-11-01  5:21   ` Ian Lance Taylor
     [not found] ` <4EB15B7E.4050006@ubuntu.com>
2011-11-02 16:21   ` Ian Lance Taylor
2011-11-02 17:11 ` Rainer Orth
2011-11-02 18:01   ` Ian Lance Taylor
2011-11-02 18:04     ` David Daney
2011-11-02 18:23       ` Ian Lance Taylor
2011-11-02 20:23         ` Joseph S. Myers
2011-11-02 20:24       ` Joseph S. Myers
2011-11-02 18:17     ` Rainer Orth
2011-10-27 17:24 Uros Bizjak
2011-11-01  9:57 ` Uros Bizjak
2011-11-30  4:05 Ian Lance Taylor

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=yddaa8hb0jh.fsf@manam.CeBiTec.Uni-Bielefeld.DE \
    --to=ro@cebitec.uni-bielefeld.de \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gofrontend-dev@googlegroups.com \
    --cc=iant@google.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).