Re: Missed condition-variable wakeups on FreeBSD
От | Thomas Munro |
---|---|
Тема | Re: Missed condition-variable wakeups on FreeBSD |
Дата | |
Msg-id | CA+hUKGKO3j4RLAVx=15N66+pQHUtaiVhLZwO5=ZZFZGBRX+eoQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Missed condition-variable wakeups on FreeBSD (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On Sun, Feb 27, 2022 at 9:44 AM Andres Freund <andres@anarazel.de> wrote: > > (gdb) p debug_query_string > > $1 = 0x21873090 "select count(*) from simple r join simple s using (id);" > > (gdb) bt > > #0 _poll () at _poll.S:4 > > #1 0x21701361 in __thr_poll (fds=0x219dc170, nfds=2, timeout=-1) at /usr/src/lib/libthr/thread/thr_syscalls.c:338 > > #2 0x215eaf3f in poll (pfd=0x219dc170, nfds=2, timeout=-1) at /usr/src/lib/libc/sys/poll.c:47 > > #3 0x0097b0fd in WaitEventSetWaitBlock (set=<optimized out>, cur_timeout=-1, occurred_events=<optimized out>, nevents=<optimizedout>) at latch.c:1171 > > The next time this happens / if you still have this open, perhaps it could be > worth checking if there's a byte in the self pipe? As a basic sanity check I'd like to see pfd[0], pfd[1] and the output of fstat -p PID to see unconsumed bytes in the pipe. For example "echo hello | sleep 60" shows "0* pipe ... 6 rw" for sleep, but "echo hello | more" shows "0* pipe ... 0 rw".
В списке pgsql-hackers по дате отправления: