Thanks Laurenz, Julien Stack trace helps alot to find a stuck point. That AbortCurrentTransaction wirked as well.
Regards Abbas
On 15 Jun 2021, at 3:01 PM, Laurenz Albe <laurenz.albe@xxxxxxxxxxx> 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 releasesall buffer pins. If you were stuck in an endless loop in a criticalsection, you are going to crash anyway.If you want to investigate where you are stuck, run a backtrace first.Yours,Laurenz Albe-- Cybertec | https://www.cybertec-postgresql.com
|