Package: src:pg-background Version: 2.0-1 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202606/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. Note: This happens randomly to me, but if required I can offer a VM where it fails 20% of the time, which is already bad enough. If you want to try to reproduce yourself, the failure seems to happen a lot more on single-cpu systems, so you might want to try GRUB_CMDLINE_LINUX="nr_cpus=1". In either case, the same failure happened here on ppc64el, a release architecture: https://buildd.debian.org/status/fetch.php?pkg=pg-background&arch=ppc64el&ver=2.0-1&stamp=1781006246&raw=0 Maybe this is a race condition which is more likely to happen on (overall) slow machines (?). If this is really a bug in one of the build-depends, please use reassign and add an affects on src:pg-background, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with pgxs_loop dh_auto_clean --buildsystem=pgxs_loop pg_buildext clean build-%v postgresql-%v-pg-background rm -rf build-*/ rm -rf debian/postgresql-*-pg-background/ debian/postgresql-*-pg-background.substvars make[1]: Entering directory '/<<PKGBUILDDIR>>' rm -f pg_background.so libpg_background.a libpg_background.pc rm -f src/pg_background.o src/pg_background_worker.o src/pg_background.bc src/pg_background_worker.bc rm -rf results/ regression.diffs regression.out tmp_check/ tmp_check_iso/ log/ output_iso/ make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_clean pg_buildext checkcontrol debian/rules binary dh binary --with pgxs_loop dh_update_autotools_config dh_autoreconf dh_auto_configure dh_auto_build --buildsystem=pgxs_loop create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --buildsystem=pgxs_loop --destdir=debian/postgresql-18-pg-background/ pg_buildext loop postgresql-%v-pg-background ### PostgreSQL 18 loop ### # 18: make make[1]: Entering directory '/<<PKGBUILDDIR>>' gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration [too-long-redacted] ackground.o src/pg_background.c gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration [too-long-redacted] er.o src/pg_background_worker.c gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration [too-long-redacted] protection -fvisibility=hidden /usr/bin/clang-21 -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -Wno-format-truncation -O2 -I.//src -I.//windows -I. -I./ -I/usr/include/postgresql/18/server -I/usr/include/postgresql/internal -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -flto=thin -emit-llvm -c -o src/pg_background.bc src/pg_background.c /usr/bin/clang-21 -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -Wno-format-truncation -O2 -I.//src -I.//windows -I. -I./ -I/usr/include/postgresql/18/server -I/usr/include/postgresql/internal -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -flto=thin -emit-llvm -c -o src/pg_background_worker.bc src/pg_background_worker.c make[1]: Leaving directory '/<<PKGBUILDDIR>>' # 18: make install make[1]: Entering directory '/<<PKGBUILDDIR>>' /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/lib/postgresql/18/lib' /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/share/postgresql/18/extension' /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/share/postgresql/18/extension' /usr/bin/install -c -m 755 pg_background.so '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/lib/postgresql/18/lib/pg_background.so' /usr/bin/install -c -m 644 .//pg_background.control '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/share/postgresql/18/extension/' /usr/bin/install -c -m 644 .//extension/pg_background--2.0.sql .//extension/pg_background--1.10--2.0.sql .//extension/pg_background--1.9--1.10.sql .//extension/pg_background--1.8--1.9.sql '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/share/postgresql/18/extension/' /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/lib/postgresql/18/lib/bitcode/pg_background' /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/lib/postgresql/18/lib/bitcode'/pg_background/src/ /usr/bin/install -c -m 644 src/pg_background.bc '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/lib/postgresql/18/lib/bitcode'/pg_background/src/ /usr/bin/install -c -m 644 src/pg_background_worker.bc '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/lib/postgresql/18/lib/bitcode'/pg_background/src/ cd '/<<PKGBUILDDIR>>/debian/postgresql-18-pg-background/usr/lib/postgresql/18/lib/bitcode' && /usr/lib/llvm-21/bin/llvm-lto -thinlto -thinlto-action=thinlink -o pg_background.index.bc pg_background/src/pg_background.bc pg_background/src/pg_background_worker.bc make[1]: Leaving directory '/<<PKGBUILDDIR>>' # 18: make clean make[1]: Entering directory '/<<PKGBUILDDIR>>' rm -f pg_background.so libpg_background.a libpg_background.pc rm -f src/pg_background.o src/pg_background_worker.o src/pg_background.bc src/pg_background_worker.bc rm -rf results/ regression.diffs regression.out tmp_check/ tmp_check_iso/ log/ output_iso/ make[1]: Leaving directory '/<<PKGBUILDDIR>>' ### End 18 loop ### dh_installdocs dh_installchangelogs dh_perl dh_link dh_pgxs_test loop pg_buildext installcheck . . postgresql-%v-pg-background ### PostgreSQL 18 installcheck ### Creating new PostgreSQL cluster 18/regress ... make[1]: Entering directory '/<<PKGBUILDDIR>>' echo "# +++ regress install-check in /<<PKGBUILDDIR>> +++" && /usr/lib/postgresql/18/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --bindir='/usr/lib/postgresql/18/bin' --dbname=contrib_regression pg_background # +++ regress install-check in /<<PKGBUILDDIR>> +++ # using postmaster on localhost, port 5432 not ok 1 - pg_background 10123 ms # (test process exited with exit code 2) 1..1 # 1 of 1 tests failed. # The differences that caused some tests to fail can be viewed in the file "/<<PKGBUILDDIR>>/regression.diffs". # A copy of the test summary that you see above is saved in the file "/<<PKGBUILDDIR>>/regression.out". make[1]: *** [/usr/lib/postgresql/18/lib/pgxs/src/makefiles/pgxs.mk:433: installcheck] Error 1 make[1]: Leaving directory '/<<PKGBUILDDIR>>' *** /tmp/pg_virtualenv.9TK5zC/log/postgresql-18-regress.log (last 100 lines) *** 2026-06-09 16:06:42.506 UTC [266] LOG: starting PostgreSQL 18.4 (Debian 18.4-1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 15.2.0-17) 15.2.0, 64-bit 2026-06-09 16:06:42.507 UTC [266] LOG: listening on IPv6 address "::1", port 5432 2026-06-09 16:06:42.507 UTC [266] LOG: listening on IPv4 address "127.0.0.1", port 5432 2026-06-09 16:06:42.507 UTC [266] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" 2026-06-09 16:06:42.511 UTC [272] LOG: database system was shut down at 2026-06-09 16:06:42 UTC 2026-06-09 16:06:42.513 UTC [266] LOG: database system is ready to accept connections 2026-06-09 16:06:45.675 UTC [314] ERROR: canceling statement due to user request 2026-06-09 16:06:45.675 UTC [314] CONTEXT: background worker, pid 314 2026-06-09 16:06:45.675 UTC [314] STATEMENT: SELECT pg_sleep(10); INSERT INTO t SELECT 99 2026-06-09 16:06:45.676 UTC [266] LOG: background worker "pg_background" (PID 314) exited with exit code 1 2026-06-09 16:06:49.195 UTC [317] ERROR: canceling statement due to user request 2026-06-09 16:06:49.196 UTC [266] LOG: background worker "pg_background" (PID 317) exited with exit code 1 2026-06-09 16:06:49.802 UTC [318] ERROR: canceling statement due to user request 2026-06-09 16:06:49.802 UTC [318] CONTEXT: background worker, pid 318 2026-06-09 16:06:49.802 UTC [318] STATEMENT: SELECT pg_sleep(2) 2026-06-09 16:06:49.805 UTC [266] LOG: background worker "pg_background" (PID 318) exited with exit code 1 2026-06-09 16:06:51.218 UTC [321] ERROR: canceling statement due to user request 2026-06-09 16:06:51.218 UTC [321] CONTEXT: background worker, pid 321 2026-06-09 16:06:51.218 UTC [321] STATEMENT: SELECT pg_sleep(10); INSERT INTO t_cancel2 VALUES (1) 2026-06-09 16:06:51.220 UTC [266] LOG: background worker "pg_background" (PID 321) exited with exit code 1 2026-06-09 16:06:52.035 UTC [323] ERROR: canceling statement due to user request 2026-06-09 16:06:52.035 UTC [323] CONTEXT: background worker, pid 323 2026-06-09 16:06:52.035 UTC [323] STATEMENT: SELECT pg_sleep(2) 2026-06-09 16:06:52.036 UTC [266] LOG: background worker "pg_background" (PID 323) exited with exit code 1 2026-06-09 16:06:52.255 UTC [327] ERROR: division by zero 2026-06-09 16:06:52.255 UTC [327] CONTEXT: background worker, pid 327 2026-06-09 16:06:52.255 UTC [327] STATEMENT: SELECT 1/0 2026-06-09 16:06:52.257 UTC [266] LOG: background worker "pg_background" (PID 327) exited with exit code 1 2026-06-09 16:06:52.470 UTC [330] ERROR: canceling statement due to user request 2026-06-09 16:06:52.470 UTC [330] CONTEXT: background worker, pid 330 2026-06-09 16:06:52.470 UTC [330] STATEMENT: SELECT pg_sleep(10); INSERT INTO t_batch_cancel VALUES (1) 2026-06-09 16:06:52.471 UTC [331] ERROR: canceling statement due to user request 2026-06-09 16:06:52.471 UTC [331] CONTEXT: background worker, pid 331 2026-06-09 16:06:52.471 UTC [331] STATEMENT: SELECT pg_sleep(10); INSERT INTO t_batch_cancel VALUES (2) 2026-06-09 16:06:52.473 UTC [266] LOG: background worker "pg_background" (PID 330) exited with exit code 1 2026-06-09 16:06:52.473 UTC [266] LOG: background worker "pg_background" (PID 331) exited with exit code 1 2026-06-09 16:06:52.806 UTC [336] ERROR: canceling statement due to user request 2026-06-09 16:06:52.806 UTC [336] CONTEXT: background worker, pid 336 2026-06-09 16:06:52.806 UTC [336] STATEMENT: SELECT pg_sleep(10) 2026-06-09 16:06:52.808 UTC [266] LOG: background worker "pg_background" (PID 336) exited with exit code 1 2026-06-09 16:06:53.113 UTC [337] ERROR: canceling statement due to user request 2026-06-09 16:06:53.113 UTC [337] CONTEXT: background worker, pid 337 2026-06-09 16:06:53.113 UTC [337] STATEMENT: SELECT pg_sleep(60) 2026-06-09 16:06:53.115 UTC [266] LOG: background worker "pg_background" (PID 337) exited with exit code 1 2026-06-09 16:06:53.122 UTC [339] ERROR: division by zero 2026-06-09 16:06:53.122 UTC [339] CONTEXT: background worker, pid 339 2026-06-09 16:06:53.122 UTC [339] STATEMENT: SELECT 1/0 2026-06-09 16:06:53.124 UTC [266] LOG: background worker "pg_background" (PID 339) exited with exit code 1 2026-06-09 16:06:53.127 UTC [340] ERROR: custom error 2026-06-09 16:06:53.127 UTC [340] CONTEXT: PL/pgSQL function pgbg_test_raise_p0001() line 1 at RAISE background worker, pid 340 2026-06-09 16:06:53.127 UTC [340] STATEMENT: SELECT pgbg_test_raise_p0001() 2026-06-09 16:06:53.130 UTC [266] LOG: background worker "pg_background" (PID 340) exited with exit code 1 2026-06-09 16:06:53.132 UTC [341] ERROR: null value in column "c" of relation "pgbg_test_nn_23502" violates not-null constraint 2026-06-09 16:06:53.132 UTC [341] DETAIL: Failing row contains (null). 2026-06-09 16:06:53.132 UTC [341] CONTEXT: background worker, pid 341 2026-06-09 16:06:53.132 UTC [341] STATEMENT: INSERT INTO pgbg_test_nn_23502 VALUES (NULL) 2026-06-09 16:06:53.135 UTC [266] LOG: background worker "pg_background" (PID 341) exited with exit code 1 2026-06-09 16:06:53.139 UTC [342] ERROR: insert or update on table "pgbg_test_fk_child_23503" violates foreign key constraint "fk_23503_parent" 2026-06-09 16:06:53.139 UTC [342] DETAIL: Key (parent_id)=(999) is not present in table "pgbg_test_fk_parent_23503". 2026-06-09 16:06:53.139 UTC [342] STATEMENT: INSERT INTO pgbg_test_fk_child_23503 VALUES (1, 999) 2026-06-09 16:06:53.141 UTC [266] LOG: background worker "pg_background" (PID 342) exited with exit code 1 2026-06-09 16:06:53.246 UTC [343] ERROR: canceling statement due to user request 2026-06-09 16:06:53.246 UTC [343] CONTEXT: background worker, pid 343 2026-06-09 16:06:53.246 UTC [343] STATEMENT: SELECT pg_sleep(30) 2026-06-09 16:06:53.249 UTC [266] LOG: background worker "pg_background" (PID 343) exited with exit code 1 2026-06-09 16:06:54.059 UTC [345] ERROR: canceling statement due to user request 2026-06-09 16:06:54.059 UTC [345] CONTEXT: background worker, pid 345 2026-06-09 16:06:54.059 UTC [345] STATEMENT: SELECT pg_sleep(2) 2026-06-09 16:06:54.061 UTC [266] LOG: background worker "pg_background" (PID 345) exited with exit code 1 2026-06-09 16:06:54.075 UTC [348] ERROR: division by zero 2026-06-09 16:06:54.075 UTC [348] CONTEXT: background worker, pid 348 2026-06-09 16:06:54.075 UTC [348] STATEMENT: SELECT 1/0 2026-06-09 16:06:54.076 UTC [266] LOG: background worker "pg_background" (PID 348) exited with exit code 1 2026-06-09 16:06:54.279 UTC [349] ERROR: canceling statement due to user request 2026-06-09 16:06:54.279 UTC [349] CONTEXT: background worker, pid 349 2026-06-09 16:06:54.279 UTC [349] STATEMENT: SELECT pg_sleep(5) 2026-06-09 16:06:54.285 UTC [266] LOG: background worker "pg_background" (PID 349) exited with exit code 1 2026-06-09 16:06:54.295 UTC [351] ERROR: division by zero 2026-06-09 16:06:54.295 UTC [351] CONTEXT: background worker, pid 351 2026-06-09 16:06:54.295 UTC [351] STATEMENT: SELECT 1/0 2026-06-09 16:06:54.297 UTC [266] LOG: background worker "pg_background" (PID 351) exited with exit code 1 2026-06-09 16:06:54.850 UTC [266] LOG: background worker "pg_background" (PID 358) was terminated by signal 11: Segmentation fault 2026-06-09 16:06:54.851 UTC [266] LOG: terminating any other active server processes 2026-06-09 16:06:54.857 UTC [266] LOG: all server processes terminated; reinitializing Dropping cluster 18/regress ... **** regression.diffs **** diff -U3 /<<PKGBUILDDIR>>/expected/pg_background.out /<<PKGBUILDDIR>>/results/pg_background.out --- /<<PKGBUILDDIR>>/expected/pg_background.out 2026-06-07 16:15:08.000000000 +0000 +++ /<<PKGBUILDDIR>>/results/pg_background.out 2026-06-09 16:06:54.852170197 +0000 @@ -1958,181 +1958,10 @@ RAISE NOTICE 'Tier A cancel_by_label_v2 (single-worker grace=0 path) OK'; END$$; -NOTICE: Tier A cancel_by_label_v2 (single-worker grace=0 path) OK --- v2.0: status_v2 was dropped; drivers can call to_jsonb(outcome_v2(...)) directly. -DO $$ -DECLARE - r pg_background_run_result; - j jsonb; -BEGIN - r := pg_background_run_v2('SELECT 1', label => 'tier-a-status'); - j := to_jsonb(pg_background_outcome_v2(r.pid, r.cookie)); - IF NOT (j ? 'pid' AND j ? 'completed' AND j ? 'has_error' AND j ? 'sqlstate') THEN - RAISE EXCEPTION 'outcome_v2 jsonb: missing expected keys: %', j; - END IF; - RAISE NOTICE 'outcome_v2 jsonb OK'; -END$$; -NOTICE: outcome_v2 jsonb OK --- A6: purge_v2 detaches only stopped workers -DO $$ -DECLARE - h_done pg_background_handle; - h_running pg_background_handle; - purged int; -BEGIN - h_done := pg_background_launch_v2('SELECT 1', 65536, 'tier-a-purge-done'); - PERFORM pg_background_wait_v2(h_done.pid, h_done.cookie); - - h_running := pg_background_launch_v2('SELECT pg_sleep(60)', 65536, 'tier-a-purge-keep'); - /* Give the running worker a moment to attach */ - PERFORM pg_sleep(0.1); - - purged := pg_background_purge_v2(); - IF purged < 1 THEN - RAISE EXCEPTION 'Tier A purge_v2: expected at least 1, got %', purged; - END IF; - /* The still-running worker should remain in the list */ - IF (SELECT count(*) FROM pg_background_list - WHERE pid = h_running.pid AND cookie = h_running.cookie) <> 1 THEN - RAISE EXCEPTION 'Tier A purge_v2: running worker incorrectly purged'; - END IF; - - /* - * v2.0 (E8): explicit per-handle cleanup instead of detach_all_v2(), - * which CLAUDE.md §7 calls out as a banned cleanup pattern. h_done was - * already detached by purge_v2 above; only h_running remains. - */ - PERFORM pg_background_cancel_v2(h_running.pid, h_running.cookie); - PERFORM pg_background_wait_v2(h_running.pid, h_running.cookie); - PERFORM pg_background_detach_v2(h_running.pid, h_running.cookie); - RAISE NOTICE 'Tier A purge_v2 OK'; -END$$; -NOTICE: Tier A purge_v2 OK --- ========================================================================= --- v1.10 Tier B (small): full_sql_v2 (B3), application_name (B6) --- ========================================================================= --- B3: pg_background_full_sql_v2 returns the original SQL -DO $$ -DECLARE - h pg_background_handle; - full_sql text; -BEGIN - h := pg_background_launch_v2('SELECT pg_sleep(60), 1 AS phase2_marker', 65536, 'tier-b-fullsql'); - full_sql := pg_background_full_sql_v2(h.pid, h.cookie); - IF full_sql IS NULL OR full_sql NOT LIKE '%phase2_marker%' THEN - RAISE EXCEPTION 'Tier B full_sql_v2: expected SQL containing phase2_marker, got %', full_sql; - END IF; - PERFORM pg_background_cancel_v2(h.pid, h.cookie); - PERFORM pg_background_detach_v2(h.pid, h.cookie); - RAISE NOTICE 'Tier B full_sql_v2 OK'; -END$$; -NOTICE: Tier B full_sql_v2 OK --- B6: application_name should be 'pg_background:<label>:<pid>' -DO $$ -DECLARE - h pg_background_handle; - appname_count int; -BEGIN - h := pg_background_launch_v2('SELECT pg_sleep(3)', 65536, 'tier-b-appname'); - /* allow worker to set its application_name */ - PERFORM pg_sleep(0.3); - SELECT count(*) INTO appname_count - FROM pg_stat_activity - WHERE application_name = 'pg_background:tier-b-appname:' || h.pid; - IF appname_count <> 1 THEN - RAISE EXCEPTION 'Tier B application_name: expected exactly one worker with pg_background:tier-b-appname:<pid>, got %', appname_count; - END IF; - PERFORM pg_background_cancel_v2(h.pid, h.cookie); - PERFORM pg_background_detach_v2(h.pid, h.cookie); - RAISE NOTICE 'Tier B application_name OK'; -END$$; -NOTICE: Tier B application_name OK --- ========================================================================= --- 2.0: canonical (unsuffixed) API + deprecated _v2 alias parity --- --- 2.0 retires the _v2 suffix: the unsuffixed names are canonical and every --- v2 API name that shipped through 1.10 is kept as a thin deprecated alias. --- This section exercises the canonical names directly and confirms the --- aliases still resolve to identical behavior (handles are interchangeable --- across the two name sets). --- ========================================================================= --- Full lifecycle through the canonical names only. Fully consuming the --- result of a stopped worker is terminal and auto-removes the tracking --- entry, so no detach is needed here (detach() is exercised below). -DO $$ -DECLARE - h pg_background_handle; - n int; -BEGIN - h := pg_background_launch('SELECT 7 AS v', 65536, 'canon-lifecycle'); - PERFORM pg_background_wait(h.pid, h.cookie); - SELECT v INTO n FROM pg_background_result(h.pid, h.cookie) AS r(v int); - IF n <> 7 THEN - RAISE EXCEPTION 'canonical lifecycle: expected 7, got %', n; - END IF; - RAISE NOTICE 'canonical launch/wait/result OK'; -END$$; -NOTICE: canonical launch/wait/result OK --- run() and run_query() canonical helpers. -SELECT (pg_background_run('SELECT 1', timeout_ms => 5000)).completed AS run_completed; - run_completed ---------------- - t -(1 row) - -SELECT * FROM pg_background_run_query('SELECT 42 AS n', timeout_ms => 5000, col_def => 'n int') AS r(n int); - n ----- - 42 -(1 row) - --- Alias parity: a handle from the canonical launch is operable via the _v2 --- alias, and vice versa (same C symbol, same session hash). -DO $$ -DECLARE - h pg_background_handle; - ok bool; -BEGIN - -- launch canonical, wait/detach via aliases - h := pg_background_launch('SELECT pg_sleep(0)'); - ok := pg_background_wait_v2(h.pid, h.cookie, 5000); - IF NOT ok THEN RAISE EXCEPTION 'alias wait did not observe completion'; END IF; - PERFORM pg_background_detach_v2(h.pid, h.cookie); - - -- launch via alias, wait/detach canonical - h := pg_background_launch_v2('SELECT pg_sleep(0)'); - ok := pg_background_wait(h.pid, h.cookie, 5000); - IF NOT ok THEN RAISE EXCEPTION 'canonical wait did not observe alias-launched worker'; END IF; - PERFORM pg_background_detach(h.pid, h.cookie); - - RAISE NOTICE 'canonical/alias handle parity OK'; -END$$; -NOTICE: canonical/alias handle parity OK --- The list view reads the canonical pg_background_list() SRF; the deprecated --- list_v2() returns the same shape. Both should agree on the (now empty) set. -SELECT (SELECT count(*) FROM pg_background_list) - = (SELECT count(*) FROM pg_background_list_v2() - AS l(pid int4, cookie int8, launched_at timestamptz, user_id oid, - queue_size int4, state text, sql_preview text, last_error text, - consumed bool, label text)) AS list_view_matches_srf; - list_view_matches_srf ------------------------ - t -(1 row) - --- The canonical SECURITY DEFINER privilege helpers must not be reachable by --- a freshly-created role (privilege-escalation guard), mirroring the --- metadata contract test above. -DO $$ -BEGIN - CREATE ROLE pgbg_canon_priv_role NOLOGIN; - IF has_function_privilege('pgbg_canon_priv_role', - 'pg_background_grant_privileges(text, boolean)', 'EXECUTE') - OR has_function_privilege('pgbg_canon_priv_role', - 'pg_background_revoke_privileges(text, boolean)', 'EXECUTE') THEN - RAISE EXCEPTION 'security: canonical privilege helpers reachable by PUBLIC/role'; - END IF; - DROP ROLE pgbg_canon_priv_role; - RAISE NOTICE 'canonical privilege-helper lockdown OK'; -END$$; -NOTICE: canonical privilege-helper lockdown OK +WARNING: terminating connection because of crash of another server process +DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. +HINT: In a moment you should be able to reconnect to the database and repeat your command. +server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +connection to server was lost ### End 18 installcheck (FAILED with exit code 1) ### dh_pgxs_test: error: pg_buildext installcheck . . postgresql-%v-pg-background returned exit code 1 make: *** [debian/rules:4: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

