Re: Missed condition-variable wakeups on FreeBSD

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Missed condition-variable wakeups on FreeBSD
Date: 2022-02-28 21:17:26
Message-ID: CA+hUKGKO3j4RLAVx=15N66+pQHUtaiVhLZwO5=ZZFZGBRX+eoQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Feb 27, 2022 at 9:44 AM Andres Freund <andres(at)anarazel(dot)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=<optimized out>) 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".

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-02-28 21:18:48 Re: Proposal: Support custom authentication methods using hooks
Previous Message Stephen Frost 2022-02-28 21:00:36 Re: [PATCH] Expose port->authn_id to extensions and triggers