From 67d7c3b124526205601563bbf7297bb8c112d617 Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Tue, 10 Nov 2026 15:50:22 -0600 Subject: [PATCH 1/3] fix: allow UBSAN/ASAN options to be overridden --- nix/xpg.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nix/xpg.nix b/nix/xpg.nix index 733a93b..69edd92 100644 --- a/nix/xpg.nix +++ b/nix/xpg.nix @@ -62,8 +62,12 @@ let # https://www.postgresql.org/message-id/flat/2kk4z4odvuyrg7qlwjd7ft4eron4cle4btb33v4qatgsdkayir%40gj6e62rgsel4 # https://github.com/postgres/postgres/blob/51ae21aa313bb6b79ad914920279cd0d89e92220/.github/workflows/pg-ci.yml#L464 - export UBSAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2" - export ASAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0" + if [ -z "$UBSAN_OPTIONS" ]; then + export UBSAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2" + fi + if [ -z "$ASAN_OPTIONS" ]; then + export ASAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0" + fi else export PATH=${ourPg."postgresql_${v}"}/bin:"$PATH" fi From 5c1cd055ca3621e2acd72d9d71706789f2de37e9 Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Tue, 10 Nov 2026 16:59:06 -0600 Subject: [PATCH 2/3] fix: unbound vars --- nix/xpg.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nix/xpg.nix b/nix/xpg.nix index 69edd92..eb7f19d 100644 --- a/nix/xpg.nix +++ b/nix/xpg.nix @@ -62,10 +62,14 @@ let # https://www.postgresql.org/message-id/flat/2kk4z4odvuyrg7qlwjd7ft4eron4cle4btb33v4qatgsdkayir%40gj6e62rgsel4 # https://github.com/postgres/postgres/blob/51ae21aa313bb6b79ad914920279cd0d89e92220/.github/workflows/pg-ci.yml#L464 - if [ -z "$UBSAN_OPTIONS" ]; then + if [[ -v UBSAN_OPTIONS ]]; then + : + else export UBSAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2" fi - if [ -z "$ASAN_OPTIONS" ]; then + if [[ -v ASAN_OPTIONS ]]; then + : + else export ASAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0" fi else From 90d9c818b58ac00beb6c3c4e2551ddbd6022fdcd Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Tue, 10 Nov 2026 17:02:49 -0600 Subject: [PATCH 3/3] chore: nix fmt --- nix/xpg.nix | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/nix/xpg.nix b/nix/xpg.nix index eb7f19d..e67dc78 100644 --- a/nix/xpg.nix +++ b/nix/xpg.nix @@ -52,29 +52,29 @@ let ${ if cassert then '' - if [ "$_arg_cassert" = on ]; then - export PATH=${ourPg."postgresql_${v}_cassert"}/bin:"$PATH" - - # See below links - # TODO: detect_stack_use_after_return in ASAN_OPTIONS can be removed after - # below patch lands and is backported, thought it will still need to - # remain for EOL'd versions - # https://www.postgresql.org/message-id/flat/2kk4z4odvuyrg7qlwjd7ft4eron4cle4btb33v4qatgsdkayir%40gj6e62rgsel4 - # https://github.com/postgres/postgres/blob/51ae21aa313bb6b79ad914920279cd0d89e92220/.github/workflows/pg-ci.yml#L464 - - if [[ -v UBSAN_OPTIONS ]]; then - : - else - export UBSAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2" - fi - if [[ -v ASAN_OPTIONS ]]; then - : - else - export ASAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0" - fi - else - export PATH=${ourPg."postgresql_${v}"}/bin:"$PATH" - fi + if [ "$_arg_cassert" = on ]; then + export PATH=${ourPg."postgresql_${v}_cassert"}/bin:"$PATH" + + # See below links + # TODO: detect_stack_use_after_return in ASAN_OPTIONS can be removed after + # below patch lands and is backported, thought it will still need to + # remain for EOL'd versions + # https://www.postgresql.org/message-id/flat/2kk4z4odvuyrg7qlwjd7ft4eron4cle4btb33v4qatgsdkayir%40gj6e62rgsel4 + # https://github.com/postgres/postgres/blob/51ae21aa313bb6b79ad914920279cd0d89e92220/.github/workflows/pg-ci.yml#L464 + + if [[ -v UBSAN_OPTIONS ]]; then + : + else + export UBSAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2" + fi + if [[ -v ASAN_OPTIONS ]]; then + : + else + export ASAN_OPTIONS="print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0" + fi + else + export PATH=${ourPg."postgresql_${v}"}/bin:"$PATH" + fi '' else ''