Re: strange valgrind reports about wrapper_handler on 64-bit arm

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Tomas Vondra <tomas@vondra.me>
Cc: Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-03-09T02:16:49Z
Lists: pgsql-hackers
On Sat, Mar 08, 2025 at 11:48:22PM +0100, Tomas Vondra wrote:
> Shortly after restarting this I got three more reports - all of them are
> related to strcoll_l. This is on c472a18296e4, i.e. with the asserts
> added in this thread etc. But none of those seem to fail.

> ==189168==    at 0xA683CC: wrapper_handler (pqsignal.c:90)
> ==189168==    at 0xA683F0: wrapper_handler (pqsignal.c:91)
> ==189168==    at 0xA684D4: wrapper_handler (pqsignal.c:110)

This appears to refer to the following lines:

	Assert(postgres_signal_arg > 0);
	Assert(postgres_signal_arg < PG_NSIG);
	(*pqsignal_handlers[postgres_signal_arg]) (postgres_signal_arg);

The common ingredient seems to be postgres_signal_arg.  I haven't found
anything else that seems helpful.

-- 
nathan



Commits

  1. Assert that wrapper_handler()'s argument is within expected range.