Skip to content

Test failure with PG15: test_show test_cancel test_cancel_pool_size ... FAILED #769

@df7cb

Description

@df7cb

Building pgbouncer 1.17.0 against PG15 yields this:

gcc -O0 -g -O2 -ffile-prefix-map=/home/cbe/projects/postgresql/pgbouncer/pgbouncer=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wmissing-prototypes -Wpointer-arith -Wendif-labels -Wdeclaration-after-statement -Wold-style-definition -Wstrict-prototypes -Wundef -Wformat=2 -Wuninitialized -Wmissing-format-attribute  -g -Wl,-z,relro -Wl,--as-needed -o hba_test .objs/hba_test/hba_test.o .objs/hba_test/../src/hba.o .objs/hba_test/../src/util.o .objs/hba_test/../lib/usual/base.o .objs/hba_test/../lib/usual/cbtree.o .objs/hba_test/../lib/usual/crypto/chacha.o .objs/hba_test/../lib/usual/crypto/csrandom.o .objs/hba_test/../lib/usual/crypto/digest.o .objs/hba_test/../lib/usual/crypto/entropy.o .objs/hba_test/../lib/usual/crypto/keccak.o .objs/hba_test/../lib/usual/crypto/keccak_prng.o .objs/hba_test/../lib/usual/crypto/md5.o .objs/hba_test/../lib/usual/cxalloc.o .objs/hba_test/../lib/usual/cxextra.o .objs/hba_test/../lib/usual/err.o .objs/hba_test/../lib/usual/fileutil.o .objs/hba_test/../lib/usual/list.o .objs/hba_test/../lib/usual/logging.o .objs/hba_test/../lib/usual/mbuf.o .objs/hba_test/../lib/usual/socket.o .objs/hba_test/../lib/usual/socket_ntop.o .objs/hba_test/../lib/usual/socket_pton.o .objs/hba_test/../lib/usual/string.o .objs/hba_test/../lib/usual/time.o -levent -lsystemd -lpam  
./test.sh
Creating databases
Creating users
Mon Oct 17 13:30:36 CEST 2022 running test_show_version ... ok
Mon Oct 17 13:30:36 CEST 2022 running test_help ... ok
Mon Oct 17 13:30:36 CEST 2022 running test_show ... FAILED
# => show clients;
#  type |   user    | database  | state  | addr | port | local_addr | local_port |       connect_time       |       request_time       | wait | wait_us | close_needed |      ptr       | link | remote_pid | tls 
# ------+-----------+-----------+--------+------+------+------------+------------+--------------------------+--------------------------+------+---------+--------------+----------------+------+------------+-----
#  C    | pgbouncer | pgbouncer | active | unix | 6667 | unix       |       6667 | 2022-10-17 13:30:36 CEST | 2022-10-17 13:30:36 CEST |    0 |       0 |            0 | 0x56484c5d7a80 |      |     605929 | 
# (1 row)
# 
# => show config;
#             key            |                         value                          |                        default                         | changeable 
# ---------------------------+--------------------------------------------------------+--------------------------------------------------------+------------
#  admin_users               |                                                        |                                                        | yes
#  application_name_add_host | 0                                                      | 0                                                      | yes
#  auth_file                 | userlist.txt                                           |                                                        | yes
#  auth_hba_file             |                                                        |                                                        | yes
#  auth_query                | SELECT usename, passwd FROM pg_shadow WHERE usename=$1 | SELECT usename, passwd FROM pg_shadow WHERE usename=$1 | yes
#  auth_type                 | trust                                                  | md5                                                    | yes
#  auth_user                 |                                                        |                                                        | yes
#  autodb_idle_timeout       | 3600                                                   | 3600                                                   | yes
#  client_idle_timeout       | 0                                                      | 0                                                      | yes
#  client_login_timeout      | 60                                                     | 60                                                     | yes
#  client_tls_ca_file        |                                                        |                                                        | yes
#  client_tls_cert_file      |                                                        |                                                        | yes
#  client_tls_ciphers        | fast                                                   | fast                                                   | yes
#  client_tls_dheparams      | auto                                                   | auto                                                   | yes
#  client_tls_ecdhcurve      | auto                                                   | auto                                                   | yes
#  client_tls_key_file       |                                                        |                                                        | yes
#  client_tls_protocols      | secure                                                 | secure                                                 | yes
#  client_tls_sslmode        | disable                                                | disable                                                | yes
#  conffile                  | test.ini                                               |                                                        | yes
#  default_pool_size         | 5                                                      | 20                                                     | yes
#  disable_pqexec            | 0                                                      | 0                                                      | no
#  dns_max_ttl               | 15                                                     | 15                                                     | yes
#  dns_nxdomain_ttl          | 15                                                     | 15                                                     | yes
#  dns_zone_check_period     | 0                                                      | 0                                                      | yes
#  idle_transaction_timeout  | 0                                                      | 0                                                      | yes
#  ignore_startup_parameters |                                                        |                                                        | yes
#  job_name                  | pgbouncer                                              | pgbouncer                                              | no
#  listen_addr               | 127.0.0.1                                              |                                                        | no
#  listen_backlog            | 128                                                    | 128                                                    | no
#  listen_port               | 6667                                                   | 6432                                                   | no
#  log_connections           | 1                                                      | 1                                                      | yes
#  log_disconnections        | 1                                                      | 1                                                      | yes
#  log_pooler_errors         | 1                                                      | 1                                                      | yes
#  log_stats                 | 1                                                      | 1                                                      | yes
#  logfile                   | test.log                                               |                                                        | yes
#  max_client_conn           | 10                                                     | 100                                                    | yes
#  max_db_connections        | 0                                                      | 0                                                      | yes
#  max_packet_size           | 2147483647                                             | 2147483647                                             | yes
#  max_user_connections      | 0                                                      | 0                                                      | yes
#  min_pool_size             | 0                                                      | 0                                                      | yes
#  pidfile                   | test.pid                                               |                                                        | no
#  pkt_buf                   | 4096                                                   | 4096                                                   | no
#  pool_mode                 | statement                                              | session                                                | yes
#  query_timeout             | 0                                                      | 0                                                      | yes
#  query_wait_timeout        | 120                                                    | 120                                                    | yes
#  reserve_pool_size         | 0                                                      | 0                                                      | yes
#  reserve_pool_timeout      | 5                                                      | 5                                                      | yes
#  resolv_conf               |                                                        |                                                        | no
#  sbuf_loopcnt              | 5                                                      | 5                                                      | yes
#  server_check_delay        | 10                                                     | 30                                                     | yes
#  server_check_query        | select 1                                               | select 1                                               | yes
#  server_connect_timeout    | 15                                                     | 15                                                     | yes
#  server_fast_close         | 0                                                      | 0                                                      | yes
#  server_idle_timeout       | 60                                                     | 600                                                    | yes
#  server_lifetime           | 120                                                    | 3600                                                   | yes
#  server_login_retry        | 15                                                     | 15                                                     | yes
#  server_reset_query        | DISCARD ALL                                            | DISCARD ALL                                            | yes
#  server_reset_query_always | 0                                                      | 0                                                      | yes
#  server_round_robin        | 0                                                      | 0                                                      | yes
#  server_tls_ca_file        |                                                        |                                                        | yes
#  server_tls_cert_file      |                                                        |                                                        | yes
#  server_tls_ciphers        | fast                                                   | fast                                                   | yes
#  server_tls_key_file       |                                                        |                                                        | yes
#  server_tls_protocols      | secure                                                 | secure                                                 | yes
#  server_tls_sslmode        | disable                                                | disable                                                | yes
#  so_reuseport              | 0                                                      | 0                                                      | no
#  stats_period              | 60                                                     | 60                                                     | yes
#  stats_users               |                                                        |                                                        | yes
#  suspend_timeout           | 10                                                     | 10                                                     | yes
#  syslog                    | 0                                                      | 0                                                      | yes
#  syslog_facility           | daemon                                                 | daemon                                                 | yes
#  syslog_ident              | pgbouncer                                              | pgbouncer                                              | yes
#  tcp_defer_accept          | 0                                                      | 1                                                      | yes
#  tcp_keepalive             | 0                                                      | 1                                                      | yes
#  tcp_keepcnt               | 0                                                      | 0                                                      | yes
#  tcp_keepidle              | 0                                                      | 0                                                      | yes
#  tcp_keepintvl             | 0                                                      | 0                                                      | yes
#  tcp_socket_buffer         | 0                                                      | 0                                                      | yes
#  tcp_user_timeout          | 0                                                      | 0                                                      | yes
#  unix_socket_dir           | /tmp                                                   | /tmp                                                   | no
#  unix_socket_group         |                                                        |                                                        | no
#  unix_socket_mode          | 511                                                    | 0777                                                   | no
#  user                      |                                                        |                                                        | no
#  verbose                   | 0                                                      |                                                        | yes
# (84 rows)
# 
# => show databases;
#    name    |        host         | port | database  | force_user | pool_size | min_pool_size | reserve_pool | pool_mode | max_connections | current_connections | paused | disabled 
# -----------+---------------------+------+-----------+------------+-----------+---------------+--------------+-----------+-----------------+---------------------+--------+----------
#  authdb    | 127.0.0.1           | 6666 | p1        |            |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  hostlist1 | 127.0.0.1,::1       | 6666 | p0        | bouncer    |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  hostlist2 | 127.0.0.1,127.0.0.1 | 6666 | p0        | bouncer    |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p0        | 127.0.0.1           | 6666 | p0        | bouncer    |         2 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p1        | 127.0.0.1           | 6666 | p1        | bouncer    |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p2        | 127.0.0.1           | 6666 | p0        |            |         5 |             0 |            0 |           |               4 |                   0 |      0 |        0
#  p3        | 127.0.0.1           | 6666 | p0        | bouncer    |         5 |             0 |            0 | session   |               0 |                   0 |      0 |        0
#  p4        | 127.0.0.1           | 6666 | p4        | puser1     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p4l       | 127.0.0.1           | 6666 | p4        | longpass   |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p4x       | 127.0.0.1           | 6666 | p4        | puser1     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p4y       | 127.0.0.1           | 6666 | p4        | puser1     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p4z       | 127.0.0.1           | 6666 | p4        | puser2     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p5        | 127.0.0.1           | 6666 | p5        | muser1     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p5x       | 127.0.0.1           | 6666 | p5        | muser1     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p5y       | 127.0.0.1           | 6666 | p5        | muser1     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p5z       | 127.0.0.1           | 6666 | p5        | muser2     |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p6        | 127.0.0.1           | 6666 | p6        | scramuser1 |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p61       | 127.0.0.1           | 6666 | p6        | scramuser3 |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p62       | 127.0.0.1           | 6666 | p6        |            |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p6x       | 127.0.0.1           | 6666 | p6        | scramuser1 |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p6y       | 127.0.0.1           | 6666 | p6        | scramuser1 |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p6z       | 127.0.0.1           | 6666 | p6        | scramuser2 |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p7a       | 127.0.0.1           | 6666 | p7        |            |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p7b       | 127.0.0.1           | 6666 | p7        |            |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p7c       | 127.0.0.1           | 6666 | p7        |            |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  p8        | 127.0.0.1           | 6666 | p0        |            |         5 |             0 |            0 |           |               0 |                   0 |      0 |        0
#  pgbouncer |                     | 6667 | pgbouncer | pgbouncer  |         2 |             0 |            0 | statement |               0 |                   0 |      0 |        0
# (27 rows)
# 
# => show fds;
#  fd |  task  | user | database |   addr    | port | cancel | link | client_encoding | std_strings | datestyle | timezone | password | scram_client_key | scram_server_key 
# ----+--------+------+----------+-----------+------+--------+------+-----------------+-------------+-----------+----------+----------+------------------+------------------
#   7 | pooler |      |          | 127.0.0.1 | 6667 |      0 |    0 |                 |             |           |          |          |                  | 
#   8 | pooler |      |          | unix      | 6667 |      0 |    0 |                 |             |           |          |          |                  | 
# (2 rows)
# 
# => show help;
# NOTICE:  Console usage
# DETAIL:  
# 	SHOW HELP|CONFIG|DATABASES|POOLS|CLIENTS|SERVERS|USERS|VERSION
# 	SHOW FDS|SOCKETS|ACTIVE_SOCKETS|LISTS|MEM
# 	SHOW DNS_HOSTS|DNS_ZONES
# 	SHOW STATS|STATS_TOTALS|STATS_AVERAGES|TOTALS
# 	SET key = arg
# 	RELOAD
# 	PAUSE [<db>]
# 	RESUME [<db>]
# 	DISABLE <db>
# 	ENABLE <db>
# 	RECONNECT [<db>]
# 	KILL <db>
# 	SUSPEND
# 	SHUTDOWN
# 
# message contents do not agree with length in message type "N"
# SHOW
Mon Oct 17 13:30:36 CEST 2022 running test_server_login_retry ... ok
Mon Oct 17 13:30:40 CEST 2022 running test_auth_user ... ok
Mon Oct 17 13:30:40 CEST 2022 running test_client_idle_timeout ... ok
Mon Oct 17 13:30:43 CEST 2022 running test_server_lifetime ... ok
Mon Oct 17 13:30:46 CEST 2022 running test_server_idle_timeout ... ok
Mon Oct 17 13:30:50 CEST 2022 running test_query_timeout ... ok
Mon Oct 17 13:30:53 CEST 2022 running test_idle_transaction_timeout ... ok
Mon Oct 17 13:30:59 CEST 2022 running test_server_connect_timeout_establish ... ok
Mon Oct 17 13:31:05 CEST 2022 running test_server_connect_timeout_reject ... skipped
Mon Oct 17 13:31:05 CEST 2022 running test_server_check_delay ... skipped
Mon Oct 17 13:31:05 CEST 2022 running test_tcp_user_timeout ... skipped
Mon Oct 17 13:31:05 CEST 2022 running test_max_client_conn ... ok
Mon Oct 17 13:31:08 CEST 2022 running test_pool_size ... ok
Mon Oct 17 13:31:13 CEST 2022 running test_min_pool_size ... ok
Mon Oct 17 13:31:15 CEST 2022 running test_reserve_pool_size ... ok
Mon Oct 17 13:31:29 CEST 2022 running test_max_db_connections ... ok
Mon Oct 17 13:31:30 CEST 2022 running test_max_user_connections ... ok
Mon Oct 17 13:31:33 CEST 2022 running test_connect_query ... ok
Mon Oct 17 13:31:33 CEST 2022 running test_online_restart ... ok
Mon Oct 17 13:31:43 CEST 2022 running test_pause_resume ... ok
Mon Oct 17 13:31:54 CEST 2022 running test_suspend_resume ... ok
Mon Oct 17 13:32:04 CEST 2022 running test_enable_disable ... ok
Mon Oct 17 13:32:05 CEST 2022 running test_database_restart ... ok
Mon Oct 17 13:32:11 CEST 2022 running test_database_change ... ok
Mon Oct 17 13:32:14 CEST 2022 running test_reconnect ... ok
Mon Oct 17 13:32:16 CEST 2022 running test_fast_close ... ok
Mon Oct 17 13:32:18 CEST 2022 running test_wait_close ... ok
Mon Oct 17 13:32:22 CEST 2022 running test_password_server ... ok
Mon Oct 17 13:32:22 CEST 2022 running test_password_client ... ok
Mon Oct 17 13:32:22 CEST 2022 running test_md5_server ... ok
Mon Oct 17 13:32:23 CEST 2022 running test_md5_client ... ok
Mon Oct 17 13:32:23 CEST 2022 running test_scram_server ... ok
Mon Oct 17 13:32:23 CEST 2022 running test_scram_client ... ok
Mon Oct 17 13:32:23 CEST 2022 running test_scram_both ... ok
Mon Oct 17 13:32:23 CEST 2022 running test_scram_takeover ... ok
Mon Oct 17 13:32:29 CEST 2022 running test_no_user_trust ... ok
Mon Oct 17 13:32:29 CEST 2022 running test_no_user_trust_forced_user ... ok
Mon Oct 17 13:32:29 CEST 2022 running test_no_user_password ... ok
Mon Oct 17 13:32:29 CEST 2022 running test_no_user_password_forced_user ... ok
Mon Oct 17 13:32:29 CEST 2022 running test_no_user_md5 ... ok
Mon Oct 17 13:32:29 CEST 2022 running test_no_user_md5_forced_user ... ok
Mon Oct 17 13:32:30 CEST 2022 running test_no_user_scram ... ok
Mon Oct 17 13:32:30 CEST 2022 running test_no_user_scram_forced_user ... ok
Mon Oct 17 13:32:30 CEST 2022 running test_no_user_auth_user ... ok
Mon Oct 17 13:32:30 CEST 2022 running test_auto_database ... ok
Mon Oct 17 13:32:30 CEST 2022 running test_no_database ... ok
Mon Oct 17 13:32:30 CEST 2022 running test_no_database_authfail ... ok
Mon Oct 17 13:32:30 CEST 2022 running test_no_database_auth_user ... ok
Mon Oct 17 13:32:31 CEST 2022 running test_cancel ... FAILED
# Cancel request sent
# ERROR:  canceling statement due to user request
Mon Oct 17 13:32:32 CEST 2022 running test_cancel_wait ... FAILED
# SET server_idle_timeout=2
# Cancel request sent
# ERROR:  canceling statement due to user request
Mon Oct 17 13:32:34 CEST 2022 running test_cancel_pool_size ... FAILED
# SET server_idle_timeout=2
# Cancel request sent
# Cancel request sent
# Cancel request sent
# Cancel request sent
# Cancel request sent
# ERROR:  canceling statement due to user request
# ERROR:  canceling statement due to user request
# ERROR:  canceling statement due to user request
# ERROR:  canceling statement due to user request
# ERROR:  canceling statement due to user request
Mon Oct 17 13:32:35 CEST 2022 running test_host_list ... skipped
Mon Oct 17 13:32:35 CEST 2022 running test_host_list_dummy ... ok
make[2]: *** [Makefile:36: check] Fehler 1
make[2]: Verzeichnis „/home/cbe/projects/postgresql/pgbouncer/pgbouncer/test“ wird verlassen
make[1]: *** [debian/rules:27: override_dh_auto_test] Fehler 2
make[1]: Verzeichnis „/home/cbe/projects/postgresql/pgbouncer/pgbouncer“ wird verlassen
make: *** [debian/rules:10: binary] Fehler 2

Full log:
https://pgdgbuild.dus.dg-i.net/view/Binaries/job/pgbouncer-binaries/76/architecture=amd64,distribution=kinetic/console
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021859

(I also tried building HEAD, but that fails with a different error:

lib/usual/tls/tls_ocsp.c: In function ‘tls_ocsp_get_certid’:
lib/usual/tls/tls_ocsp.c:167:24: error: storage size of ‘storectx’ isn’t known
  167 |         X509_STORE_CTX storectx;
      |                        ^~~~~~~~
lib/usual/tls/tls_ocsp.c:168:21: error: storage size of ‘tmpobj’ isn’t known
  168 |         X509_OBJECT tmpobj;
      |                     ^~~~~~
lib/usual/tls/tls_ocsp.c:168:21: warning: unused variable ‘tmpobj’ [-Wunused-variable]
lib/usual/tls/tls_ocsp.c:167:24: warning: unused variable ‘storectx’ [-Wunused-variable]
  167 |         X509_STORE_CTX storectx;
      |                        ^~~~~~~~

... and a lot of other warnings.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions