Re: BUG #16827: macOS interrupted syscall leads to a crash

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Ricardo Ungureanu <ricardoungureanu(at)gmail(dot)com>, kimon(dot)krenz(at)part9(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16827: macOS interrupted syscall leads to a crash
Date: 2021-05-29 13:29:26
Message-ID: CA+hUKGJyMKiKk7FtPO+YGO1aUoJiugEXsAiYcsPYoxZE7tySZw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sat, Jan 23, 2021 at 6:47 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > Tom, all, this seems like a serious problem likely to become more
> > widespread. I don't really know how we can reasonably address this
> > short-term, adding EINTR handling to all the places that don't yet have
> > it (and ensuring that it stays that way) seems like it's a lot to backport.
>
> The only idea that comes to mind is to invent a wrapper for open
> (and other affected syscalls) that adds a loop-on-EINTR. Ugly,
> and it would not fix third-party extensions until they're recompiled.
>
> My inclination is to regard this as something that's Apple's problem,
> at least for now. Perhaps they'll realize what a disaster it is.
> (OTOH, they've proven pretty mulish on making SIP usable...)

Can anyone reproduce the problem on 11.3.1+? This comment seems like
a promising clue that they might have recently made it restartable, or
something like that:

https://github.com/PostgresApp/PostgresApp/issues/610#issuecomment-839210363

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2021-05-30 21:26:39 Re: BUG #16076: JIT causes huge delays in a complex query. jit=off solves it.
Previous Message Thomas Munro 2021-05-29 03:51:51 Re: Segmentation fault when calling BlessTupleDesc in a C function in parallel on PostgreSQL-(12.6, 12.7, 13.2, 13.3)