>I'd read
>
>https://www.postgresql.org/docs/current/dynamic-trace.html#DEFINING-TRACE-POINTS>
>
>and then go see if those tracepoints are fully conforming to the
>coding rules in the modified version. A plausible bet is that
>their entries in probes.d don't entirely match up with the calls
>in the source code. You could compare the relevant bits of code
>between vanilla and modified 16.4 if the problem isn't immediately
>obvious.
>
> regards, tom lane
>
>https://www.postgresql.org/docs/current/dynamic-trace.html#DEFINING-TRACE-POINTS>
>
>and then go see if those tracepoints are fully conforming to the
>coding rules in the modified version. A plausible bet is that
>their entries in probes.d don't entirely match up with the calls
>in the source code. You could compare the relevant bits of code
>between vanilla and modified 16.4 if the problem isn't immediately
>obvious.
>
> regards, tom lane
I've taken a look at the probes.d file and there are no changes between the modified and vanilla versions of the file, and the probes are called with the same args. This is happening for every probe in the probes.d file. Since I'm getting those errors it looks like the generated probes.h file is also properly being used. Do you know where the postgresql_transaction__commit_semaphore symbol should be defined?