Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1 - Mailing list pgsql-bugs

From Rainer Tammer
Subject Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1
Date
Msg-id 530C5312.3010508@spg.schulergroup.com
Whole thread Raw
In response to Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1
List pgsql-bugs
Hello,
First of all: Thanks for the reply.

1. fast shutdown

The unexpected  "LOG: received fast shutdown request" is happening
on an installed instance. I have found other articles on the WEB which
describe the same problem (other platform) - unfortunately there was
no real solution to it.

I am not too familiar with the PostgreSQL source code, but the only
location where this message is generated is:

---[postmaster.c]-------
...
/*
 * pmdie -- signal handler for processing various postmaster signals.
 */
static void
pmdie(SIGNAL_ARGS)
{
...
   case SIGINT:

         /*
          * Fast Shutdown:
          *
          * Abort all children with SIGTERM (rollback active transactions
          * and exit) and shut down when they are gone.
          */
         if (Shutdown >= FastShutdown)
                 break;
         Shutdown = FastShutdown;
         ereport(LOG,
                         (errmsg("received fast shutdown request")));
<------ HERE

        if (DLGetHead(BackendList) || AutoVacPID != 0)
         {
                 if (!FatalError)
                 {
                         ereport(LOG,
                                         (errmsg("aborting any active
transactions")));
                         SignalChildren(SIGTERM);
                         if (AutoVacPID != 0)
                                 signal_child(AutoVacPID, SIGTERM);
                         /* reaper() does the rest */
                 }
                 break;
         }

---[postmaster.c]-------

I will try to add some code to get the source of the signal.
Would this help?

2. hang during make check

AIX 7.1 Technology Level 3

PostgreSQL 8.4.20 -> make check does finish without hang
PostgreSQL 9.0.16 -> hang
PostgreSQL 9.2.7 -> hang

As far as I can see the hang is caused by the "set statement_timeout to
2000;"
statement. Where would be a good start point to diagnose this problem??

Would this place be a good start?
Al have already checked if HAVE_SETSID is ausing the problem - unfortunately
that's not the case.

---[src/backend/storage/lmgr/proc.c]------
....
bool
enable_sig_alarm(int delayms, bool is_statement_timeout)
{
        TimestampTz fin_time;
        struct itimerval timeval;

        if (is_statement_timeout)
        {
....
static bool
CheckStatementTimeout(void)
{
        TimestampTz now;

        if (!statement_timeout_active)
                return true;                    /* do nothing if not
active */

        now = GetCurrentTimestamp();

        if (now >= statement_fin_time)
        {
                /* Time to die */
                statement_timeout_active = false;
                cancel_from_timeout = true;
#ifdef HAVE_SETSID
                /* try to signal whole process group */
                kill(-MyProcPid, SIGINT);
#endif
                kill(MyProcPid, SIGINT);

---[src/backend/storage/lmgr/proc.c]------


AIX 6.1 Technology Level 6

PostgreSQL 9.2.7 -> make check does finish without a hang.

That is strange. I will try to get a box with the latest AIX 6.1
Technology Level to check is the test will pass, too.


3. Smoker

There are several possibilities to setup a smoker.

a.) IBM does provide Power 7/7+ machines with Power Linux and AIX
6.1/7.1. As far as I know the access is free

This is the URL:
http://www-304.ibm.com/partnerworld/wps/servlet/ContentHandler/stg_com_sys_power-development-platform

Maybe I can help with the setup.

b.) Maybe I can setup a smoker

Is external access to the smoker required?



Bye
  Rainer Tammer

On 24.02.2014 21:21, Tom Lane wrote:
> Rainer Tammer <pgsql@spg.schulergroup.com> writes:
>> I have compiled 8.2.11 (same as on the old server)  and
>> 8.2.23 (latest 8.2)  on AIX 7.1 TL3 SP1 (latest level) with
>> the IBM C/C++ V12 compiler.
>> Unfortunate I see the following errors:
>> 2014-02-24 10:07:30 CET  LOG:  received fast shutdown request    <--- here
> If this is the log of a "make check" run, that seems as-expected.
> Otherwise, something is sending the postmaster process a SIGINT.
>
>> So I have decided to give 9.2.7 a try. During the make check I have
>> found two failures - to be more precisely two hangs.
> Hm.  Unfortunately, you're kind of on your own to debug this; AFAIK
> there are no active Postgres developers who use AIX.  It's been awhile
> since there was an active AIX buildfarm machine either, so that it
> would not exactly be astonishing to find that we'd inadvertently
> broken something for that platform.  (And I'm not sure there ever
> was a buildfarm member running AIX 7.1 anyway; according to
> http://buildfarm.postgresql.org/cgi-bin/show_members.pl
> grebe was running 5.3 when last heard from, half a year ago.)
>
> We're still willing to support AIX, but we can't do it without help
> from users of that platform.  If you send in a patch for whatever
> is broken, we'll almost certainly accept it (in some form).  But
> it would be a good idea to set up a buildfarm animal so that any
> future breakage gets detected in a more timely fashion.  See
> http://buildfarm.postgresql.org/index.html
>
>             regards, tom lane
>
>

pgsql-bugs by date:

Previous
From: Stephen Frost
Date:
Subject: Re: BUG #9337: SSPI/GSSAPI with mismatched user names
Next
From: Sergey Burladyan
Date:
Subject: Re: BUG #9223: plperlu result memory leak