Andrew Dunstan <and...@dunslane.net> writes: >> For some reason which makes no sense to me the buildfarm animal fails >> at the first Stop-Db step. The DB is actually stopped, but pg_ctl >> returns a non-zero status. The thing that's really odd is that meson >> isn't at all involved in this step. But it's happened enough that I've >> had to back off using meson builds on fairywren - I'm going to do more >> testing on a new Windows instance.
> Here's a simple illustration of the problem. If I do the identical test > with a non-meson build there is no problem: > pgrunner@EC2AMAZ-GCB871B UCRT64 ~/bf > $ /usr/bin/perl -e 'chdir "root/HEAD/instkeep.2023-04-25_11-09-41"; > system("bin/pg_ctl -D data-C -l logfile stop") ; print "fail\n" if $?; ' > waiting for server to shut down....fail Looking at the pg_ctl source code, the only way I can explain that printout is that do_stop called wait_for_postmaster_stop which, after one or more loops, exited via one of its exit() calls. The lack of any message can be explained if we imagine that write_stderr() output is going to the bit bucket. I'd start by changing those write_stderr's to print_msg(), which visibly does work; that should confirm the existence of the stderr issue and show you how wait_for_postmaster_stop is failing. regards, tom lane