Re: test_shm_mq failing on anole (was: Sending out a request for more buildfarm animals?)
От | Andres Freund |
---|---|
Тема | Re: test_shm_mq failing on anole (was: Sending out a request for more buildfarm animals?) |
Дата | |
Msg-id | 20140929193922.GA2084@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: test_shm_mq failing on anole (was: Sending out a request for more buildfarm animals?) (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: test_shm_mq failing on anole (was: Sending out a
request for more buildfarm animals?)
|
Список | pgsql-hackers |
On 2014-09-29 14:46:20 -0400, Robert Haas wrote: > On Fri, May 9, 2014 at 10:18 AM, Robert Haas <robertmhaas@gmail.com> wrote: > > On Sat, May 3, 2014 at 4:31 AM, Dave Page <dave.page@enterprisedb.com> wrote: > >> Hamid@EDB; Can you please have someone configure anole to build git > >> head as well as the other branches? Thanks. > > > > The test_shm_mq regression tests hung on this machine this morning. > > Hamid was able to give me access to log in and troubleshoot. > > Unfortunately, I wasn't able to completely track down the problem > > before accidentally killing off the running cluster, but it looks like > > test_shm_mq_pipelined() tried to start 3 background workers and the > > postmaster only ever launched one of them, so the test just sat there > > and waited for the other two workers to start. At this point, I have > > no idea what could cause the postmaster to be asleep at the switch > > like this, but it seems clear that's what happened. > > This happened again, and I investigated further. It looks like the > postmaster knows full well that it's supposed to start more bgworkers: > the ones that never get started are in the postmaster's > BackgroundWorkerList, and StartWorkerNeeded is true. But it only > starts the first one, not all three. Why? Not necessarily related, but one interesting tidbit is that fork isn't mentioned to be async signal safe on HP-UX: http://nixdoc.net/man-pages/HP-UX/man5/thread_safety.5.html#Async%20Signal%20Safe I have some doubts that fork() really could be not signal safe, but it's a bit odd. IIRC posix requires fork() to be async safe, at least if threads aren't present. I'm generally baffled at all the stuff postmaster does in signal handlers... ProcessConfigFile(), load_hba() et al. It's all done with signals disabled, but still. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: