On 15 Jun 2021, at 3:01 PM, Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Tue, 2021-06-15 at 00:25 +0800, Julien Rouhaud wrote:
Le mar. 15 juin 2021 à 00:15, Laurenz Albe:
- Attach to the backend with gdb.
- Enter "print ProcessInterrupts()"
Of course that will not work if the backend is in uninterruptible
sleep (for example, stuck in an I/O operation).
that may be a terrible idea and leave a buffer pinned or something.
and if it's not it won't tell us where we're missing a CALL_FOR_INTERRUPTS
If there is an error, AbortCurrentTransaction() gets called, which releases all buffer pins. If you were stuck in an endless loop in a critical section, you are going to crash anyway.
If you want to investigate where you are stuck, run a backtrace first.