Windows exit code 128 ... it's baaack

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org, dpage(at)postgreSQL(dot)org
Subject: Windows exit code 128 ... it's baaack
Date: 2014-02-28 00:14:13
Message-ID: 21027.1393546453@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I looked at the postmaster log for the ongoing issue on narwhal
(to wit, that the contrib/dblink test dies the moment it tries
to do anything dblink-y), and looky here what the postmaster
has logged:

530fc965.bac:2] LOG: server process (PID 2144) exited with exit code 128
[530fc965.bac:3] DETAIL: Failed process was running: SELECT *
FROM dblink('dbname=contrib_regression','SELECT * FROM foo') AS t(a int, b text, c text[])
WHERE t.a > 7;
[530fc965.bac:4] LOG: server process (PID 2144) exited with exit code 0
[530fc965.bac:5] LOG: terminating any other active server processes

The double report of the same process exiting can be attributed to
the kluge at postmaster.c lines 2906..2926 (in HEAD): that code
logs an ERROR_WAIT_NO_CHILDREN (128) exit and then resets the exitstatus
to zero. Further down, where we realize the process failed to disable
its deadman switch, we report the phony "exit 0" status and begin the
system reset cycle.

Now, back in the 2010 thread where we agreed to put in the ignore-128
kluge, it was asserted that all known cases of this exit code were
irreproducible Windows flakiness occurring at process start or exit.
This is evidently neither start nor exit, but likely is being provoked
by trying to load libpq into the backend. And it appears to be 100.00%
reproducible on narwhal.

Seems worth poking into a little closer. Not by me, though; I don't
do Windows.

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Wang, Jing 2014-02-28 00:27:50 Re: pg_dump reporing version of server & pg_dump as comments in the output
Previous Message Wang, Jing 2014-02-28 00:10:55 pg_dump reporing version of server & pg_dump as comments in the output