Re: orangutan seizes up during isolation-check

From: Noah Misch <noah(at)leadboat(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, davec(at)postgresintl(dot)com, hlinnakangas(at)vmware(dot)com
Subject: Re: orangutan seizes up during isolation-check
Date: 2015-01-09 06:30:15
Message-ID: 20150109063015.GA2491320@tornado.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 31, 2014 at 01:52:49PM -0500, Noah Misch wrote:
> On Sun, Dec 28, 2014 at 07:20:04PM -0500, Andrew Dunstan wrote:
> > On 12/28/2014 04:58 PM, Noah Misch wrote:
> > >The gettext maintainer was open to implementing the setlocale_native_forked()
> > >technique in gettext, though the last visible progress was in October. In any
> > >event, PostgreSQL builds will see older gettext for several years. If
> > >setlocale-darwin-fork-v1.patch is not wanted, I suggest making the postmaster
> > >check during startup whether it has become multithreaded. If multithreaded:
> > >
> > > FATAL: postmaster became multithreaded during startup
> > > HINT: Set the LC_ALL environment variable to a valid locale.
>
> > >I would like to go ahead and commit setlocale-main-harden-v1.patch, which is a
> > >good thing to have regardless of what happens with gettext.
> > >
> >
> > I'm OK with this, but on its own it won't fix orangutan's problems, will it?
>
> Right; setlocale-main-harden-v1.patch fixes a bug not affecting orangutan at
> all. None of the above will make orangutan turn green. Checking
> multithreading during startup would merely let it fail cleanly.

OS X --enable-nls buildfarm members should run tests under LANG=C instead of
with locale environment variables unset (make check NO_LOCALE=1). I see two
ways to arrange that: (1) add a build-farm.conf option, or (2) have
pg_regress.c:initialize_environment() treat OS X like Windows. I mildly favor
(2); see attached, untested patch. Windows and OS X --enable-nls share the
characteristic that setlocale(LC_x, "") consults sources other than
environment variables. (I do wonder why commit 4a6fd46 used LANG=en instead
of LANG=C.) On the other hand, LANG=en has been inessential on Windows ever
since "pg_regress --no-locale" started to use "initdb --no-locale". While I
prefer to see the LANG= hack go away rather than proliferate, I can't cite a
practical reason to care.

Thanks,
nm

Attachment Content-Type Size
darwin-nolocale-v1.patch text/plain 941 bytes

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2015-01-09 06:38:50 Re: List of table names of a DB
Previous Message Craig Ringer 2015-01-09 06:29:43 [PATCH] server_version_num should be GUC_REPORT