Now that we've isolated the reason why regression tests are failing on
the Windows buildfarm members, it seems to me that there's a systemic
problem as well as the immediate bug.  The problem is that guc.c is
doing an elog(ERROR) during InitializeGucOptions in postmaster children,
which ends up doing exit(0), which the postmaster interprets as
successful termination of the startup process, which is seriously wrong.
And then we get into a loop where the postmaster spawns a background
writer, the bgwriter immediately exit(0)'s for the same reason, the
postmaster respawns it, etc.  This apparently is a sufficiently tight
loop to cause a Windows machine to nearly lock up (not but what "fork
bombs" aren't problems for Unixen too).

I'm thinking we should put CRITICAL_SECTION macros around the startup
sequence in SubPostmasterMain, so that an elog(ERROR) there can't look
like it's business as usual to the postmaster.

Anyone see a better/more complete solution?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to