9.4 HEAD: select() failed in postmaster

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: 9.4 HEAD: select() failed in postmaster
Date: 2013-09-11 00:18:21
Message-ID: CAMkU=1xd3=wFqZwwuXPWe4BQs3h1seYo8LV9JtSjW5RodoPxMg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I've been getting some failures after an immediate shutdown or crash,
during severe IO stress, with the message:

LOG: XX000: select() failed in postmaster: Invalid argument
LOCATION: ServerLoop, postmaster.c:1560

It is trying to sleep for -1 seconds.

I think the problem is here, where there should be a Max rather than a Min:

commit 82233ce7ea42d6ba519aaec63008aff49da6c7af
Author: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Date: Fri Jun 28 17:20:53 2013 -0400

Send SIGKILL to children if they don't die quickly in immediate shutdown

...

+ /* remaining time, but at least 1 second */
+ timeout->tv_sec = Min(SIGKILL_CHILDREN_AFTER_SECS -
+ (time(NULL) - AbortStartTime), 1);

But I don't understand the logic behind this anyway. Why sleep at least 1
second? If time is up, it is up, why not use zero as the minimum?

Cheers,

Jeff

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2013-09-11 00:18:59 Re: One-line comment to improve understanding of VARSIZE_ANY_EXHDR macro
Previous Message Bruce Momjian 2013-09-11 00:14:10 Re: unaccent module - two params function should be immutable