]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Handle cancel requests with PID 0 gracefully
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 29 Jul 2025 21:39:49 +0000 (00:39 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 29 Jul 2025 21:39:49 +0000 (00:39 +0300)
commit613f64712257d4b94e068e77fb0593e0a71d8df1
tree7c1bd7938c58f277d6060eee6afd2504bd3f0bf2
parent4300d8b6a79d61abb5ca9f901df7bde7a49322b6
Handle cancel requests with PID 0 gracefully

If the client sent a query cancel request with backend PID 0, it
tripped an assertion. With assertions disabled, you got this in the
log instead:

    LOG:  invalid cancel request with PID 0
    LOG:  wrong key in cancel request for process 0

Query cancellations don't even require authentication, so we better
tolerate bogus requests. Fix by turning the assertion into a regular
runtime check.

Spotted while testing libpq behavior with a modified server that
didn't send BackendKeyData to the client.

Backpatch-through: 18
src/backend/storage/ipc/procsignal.c