Re: abort()/segfault when starting postgres in inaccessible CWD

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: abort()/segfault when starting postgres in inaccessible CWD
Date: 2013-10-03 17:14:47
Message-ID: 20131003171447.GH19661@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2013-10-03 19:07:37 +0200, Tom Lane wrote:
> Andres Freund <andres(at)2ndquadrant(dot)com> writes:
> > Starting postgres with a CWD that's not readable will trigger an Assert
> > and if those are disabled it presumably will segfault.
>
> Yeah, we've discussed that before. I'm not sure it's worth fixing,
> or that it could be counted on to stay fixed even if we removed the
> current source(s) of trouble.
>
> There's a bigger problem with the scenario you show, which is that the
> postmaster is started with root's environment variables not postgres'.
> That's likely to lead to assorted surprises that we can't really do
> anything about, even if we fixed the CWD issue. So I'm inclined to think
> this scenario is a "don't do that".

I have no problem not supporting the scenario of an inaccessible CWD -
I'd just like to have a better error message than a segfault...

> Having said that, though, it seems like a bad idea to be calling
> set_pglocale_pgservice() before palloc is functional. It's not at all
> obvious that that function can't be allowed to use palloc.

Yes, and it seems hard to control - as proven here - that it doesn't
make any calls to functions using palloc() in some edge cases.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message lr 2013-10-04 02:09:42 BUG #8498: pg_trgm is missing from windows edb package
Previous Message Tom Lane 2013-10-03 17:07:37 Re: abort()/segfault when starting postgres in inaccessible CWD