> On 3 Dec 2024, at 12:27, Jeff Davis <[email protected]> wrote: > > Perform provider-specific initialization in new functions. > > Reviewed-by: Andreas Karlsson > Discussion: https://postgr.es/m/[email protected]
Hi Jeff! I'm toying with my WAL compression patch. This test is segfaulting for me: src/test/recovery % PROVE_TESTS="t/001_stream_rep.pl" PGOPTIONS="-c wal_compression=lz4" make check in src/test/recovery/tmp_check/log/001_stream_rep_primary.log I observe: 2026-03-06 20:03:01.433 +05 [24424] 001_stream_rep.pl LOG: statement: GRANT pg_read_all_settings TO repl_role; 2026-03-06 20:03:01.441 +05 [24318] LOG: client backend (PID 24426) was terminated by signal 11: Segmentation fault: 11 2026-03-06 20:03:01.441 +05 [24318] LOG: terminating any other active server processes I do not expect it to pass, it would never pass with given arguments. But I do not expect it to segfault either. I bisected the problem, some tome ago this test would fail with something like "permission denied to change wal_compression". And that seems good. Later it became "Cannot find collation for ..." And after 1ba0782ce90cb4261098de59b49ae5cb2326566b it crashes. wal_compression is PGC_SUSET, so when a non-superuser sets it via the startup packet (PGC_BACKEND context), set_config_with_handle must call pg_parameter_aclcheck -> SearchSysCache1(PARAMETERACLNAME, ...) -> hashtext -> pg_newlocale_from_collation(DEFAULT_COLLATION_OID). I do not know if it's expected, so I decided to report this problem, just in case. I can suggest something in a line with attached, but it's kind of point-in-the-sky fix. Best regards, Andrey Borodin.
fix.diff
Description: Binary data
