Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1x6l06-000Q61-1O for pgsql-bugs@arkaria.postgresql.org; Wed, 16 Sep 2026 08:28:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1x6l04-0066jC-2n for pgsql-bugs@arkaria.postgresql.org; Wed, 16 Sep 2026 08:28:16 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1x6l04-0066j0-1v for pgsql-bugs@lists.postgresql.org; Wed, 16 Sep 2026 08:28:16 +0000 Received: from email.dnscdc.tech ([194.226.250.15]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1x6kzz-00000000kSu-3YU0 for pgsql-bugs@lists.postgresql.org; Wed, 16 Sep 2026 08:28:15 +0000 Received: with id 6FBCE280A9F; Wed, 16 Sep 2026 15:28:09 +0700 (+07) Received: with id 012BE280045; Wed, 16 Sep 2026 15:28:07 +0700 (+07) From: Grigorev Jurij To: Daniel Gustafsson CC: Jacob Champion , "pgsql-bugs@lists.postgresql.org" Subject: Re: Postmaster crashes on SIGHUP when oauth_validator_libraries holds only whitespace Thread-Topic: Postmaster crashes on SIGHUP when oauth_validator_libraries holds only whitespace Thread-Index: AQHdRDwfKXFGhwTBsEutXNp1kv9EqbbOIigAgAABkwCAAgo1uoAAYjsC Date: Wed, 16 Sep 2026 08:27:56 +0000 Message-ID: <0bc0874d0b774514a61d8d7b30825e0f@localhost.localdomain> References: <04fa84f6ebbe400f940e179ebe1070e9@localhost.localdomain> <19B73F3F-8FAE-43B6-8746-21FE466026B8@yesql.se> ,<75204002-3933-4034-8959-DADD0593A800@yesql.se> In-Reply-To: <75204002-3933-4034-8959-DADD0593A800@yesql.se> Accept-Language: ru-RU, en-US Content-Language: ru-RU X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Content-Type: multipart/mixed; boundary="_002_0bc0874d0b774514a61d8d7b30825e0fftdataru_" MIME-Version: 1.0 X-KLMS-Rule-ID: 1 X-KLMS-Message-Action: clean X-KLMS-AntiSpam-Lua-Profiles: 206014 [Sep 16 2026] X-KLMS-AntiSpam-Version: 6.1.1.27 X-KLMS-AntiSpam-Envelope-From: ju.grigorev@ftdata.ru X-KLMS-AntiSpam-Rate: 0 X-KLMS-AntiSpam-Status: not_detected X-KLMS-AntiSpam-Method: none X-KLMS-AntiSpam-Auth: dkim=none X-MS-Exchange-Organization-SCL: -1 X-KLMS-AntiSpam-Interceptor-Info: scan successful X-KLMS-AntiPhishing: Clean, bases: 2026/09/16 07:02:00 X-KLMS-AntiVirus: Kaspersky Security for Linux Mail Server, version 8.0.3.30, bases: 2026/09/16 04:04:00 #28588748 X-KLMS-AntiVirus-Status: Clean, skipped List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_0bc0874d0b774514a61d8d7b30825e0fftdataru_ Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable Hi Daniel, You're right. I would rather not treat NULL as an empty setting, since that would turn an internal programming error into the user-facing "must be set" error. Attached v3 adds: Assert(oauth_validator_libraries_string !=3D NULL); before the pstrdup(). I also moved the whitespace-only TAP case to after the pg_hba_file_rules() check. Its previous position made the test racy: wait_for_log() synchronized with the postmaster reload, but not necessarily with the process-local GUC state of the existing bgconn. As a result, pg_hba_file_rules() could run in a backend that still had the whitespace value loaded and return unexpected empty fields. Moving the case after that assertion avoids making the pg_hba_file_rules() result depend on the timing of SIGHUP processing in bgconn. After restoring the setting, the test runs SHOW oauth_validator_libraries through bgconn, ensuring that the backend has processed the second SIGHUP before the later tests continue. Thanks, Yuriy= --_002_0bc0874d0b774514a61d8d7b30825e0fftdataru_ Content-Type: application/octet-stream; name="v3-0001-Fix-postmaster-crash-on-whitespace-only-oauth_valida.patch" Content-Description: v3-0001-Fix-postmaster-crash-on-whitespace-only-oauth_valida.patch Content-Disposition: attachment; filename="v3-0001-Fix-postmaster-crash-on-whitespace-only-oauth_valida.patch"; size=4149; creation-date="Wed, 16 Sep 2026 08:27:51 GMT"; modification-date="Wed, 16 Sep 2026 08:27:51 GMT" Content-Transfer-Encoding: base64 RnJvbSBhNTJkMDA3NDBkZDIyZGIxMjAzZGM3Mzc3YTc1ZmJlYWQ5MTMzOTgxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZdXJpeSBHcmlnb3J5ZXYgPGp1LmdyaWdvcmV2QGZ0ZGF0YS5y dT4KRGF0ZTogV2VkLCAxNiBTZXAgMjAyNiAxNDo1NjoxNiArMDcwMApTdWJqZWN0OiBbUEFUQ0gg djNdIEZpeCBwb3N0bWFzdGVyIGNyYXNoIG9uIHdoaXRlc3BhY2Utb25seQogb2F1dGhfdmFsaWRh dG9yX2xpYnJhcmllcwoKY2hlY2tfb2F1dGhfdmFsaWRhdG9yKCkgY2hlY2tzIHRoZSByYXcgR1VD IHN0cmluZyBmb3IgYW4gZW1wdHkgdmFsaWRhdG9yCmxpc3QuICBUaGF0IGRvZXMgbm90IGNvdmVy IGEgdmFsdWUgY29udGFpbmluZyBvbmx5IHdoaXRlc3BhY2UuClNwbGl0RGlyZWN0b3JpZXNTdHJp bmcoKSBhY2NlcHRzIHN1Y2ggaW5wdXQgYW5kIHJldHVybnMgYW4gZW1wdHkgbGlzdCwgc28KdGhl IGNvZGUgZGVyZWZlcmVuY2VzIE5JTCB3aGVuIGFuIE9BdXRoIEhCQSBsaW5lIGhhcyBubyB2YWxp ZGF0b3Igb3B0aW9uLgpUaGlzIGNhbiBjcmFzaCB0aGUgcG9zdG1hc3RlciB3aGlsZSBwcm9jZXNz aW5nIFNJR0hVUC4KCkNoZWNrIHRoZSBwYXJzZWQgbGlzdCBpbnN0ZWFkLiAgQXNzZXJ0IHRoYXQg dGhlIEdVQyBzdHJpbmcgaXMgbm9uLU5VTEwKYmVmb3JlIHBzdHJkdXAoKTsgdXNlcnMgY2Fubm90 IHNldCBpdCB0byBOVUxMLCBidXQgdGhlIEMgdmFyaWFibGUgaXMKaW5pdGlhbGl6ZWQgdGhhdCB3 YXkuICBBZGQgYSBUQVAgdGVzdCB0aGF0IHJlbG9hZHMgYW4gaW52YWxpZAp3aGl0ZXNwYWNlLW9u bHkgc2V0dGluZyBhZnRlciBwZ19oYmFfZmlsZV9ydWxlcygpIGFuZCB3YWl0cyB1bnRpbCB0aGUK ZXhpc3RpbmcgYmFja2VuZCBzZWVzIHRoZSByZXN0b3JlZCBHVUMuCi0tLQogc3JjL2JhY2tlbmQv bGlicHEvYXV0aC1vYXV0aC5jICAgICAgICAgICAgICAgIHwgMjkgKysrKysrKysrKy0tLS0tLS0t LQogLi4uL21vZHVsZXMvb2F1dGhfdmFsaWRhdG9yL3QvMDAxX3NlcnZlci5wbCAgIHwgMjAgKysr KysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLW9hdXRoLmMgYi9zcmMv YmFja2VuZC9saWJwcS9hdXRoLW9hdXRoLmMKaW5kZXggYjc2OTkzMWNhNGYuLmMwMWU4YWUzNTI0 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLW9hdXRoLmMKKysrIGIvc3JjL2Jh Y2tlbmQvbGlicHEvYXV0aC1vYXV0aC5jCkBAIC04NjMsMjAgKzg2Myw4IEBAIGNoZWNrX29hdXRo X3ZhbGlkYXRvcihIYmFMaW5lICpoYmFsaW5lLCBpbnQgZWxldmVsLCBjaGFyICoqZXJyX21zZykK IAogCSplcnJfbXNnID0gTlVMTDsKIAotCWlmIChvYXV0aF92YWxpZGF0b3JfbGlicmFyaWVzX3N0 cmluZ1swXSA9PSAnXDAnKQotCXsKLQkJZXJlcG9ydChlbGV2ZWwsCi0JCQkJZXJyY29kZShFUlJD T0RFX0NPTkZJR19GSUxFX0VSUk9SKSwKLQkJCQllcnJtc2coInBhcmFtZXRlciBcIiVzXCIgbXVz dCBiZSBzZXQgZm9yIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBcIiVzXCIiLAotCQkJCQkgICAib2F1 dGhfdmFsaWRhdG9yX2xpYnJhcmllcyIsICJvYXV0aCIpLAotCQkJCWVycmNvbnRleHQoImxpbmUg JWQgb2YgY29uZmlndXJhdGlvbiBmaWxlIFwiJXNcIiIsCi0JCQkJCQkgICBsaW5lX251bSwgZmls ZV9uYW1lKSk7Ci0JCSplcnJfbXNnID0gcHNwcmludGYoInBhcmFtZXRlciBcIiVzXCIgbXVzdCBi ZSBzZXQgZm9yIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBcIiVzXCIiLAotCQkJCQkJCSJvYXV0aF92 YWxpZGF0b3JfbGlicmFyaWVzIiwgIm9hdXRoIik7Ci0JCXJldHVybiBmYWxzZTsKLQl9Ci0KIAkv KiBTcGxpdERpcmVjdG9yaWVzU3RyaW5nIG5lZWRzIGEgbW9kaWZpYWJsZSBjb3B5ICovCisJQXNz ZXJ0KG9hdXRoX3ZhbGlkYXRvcl9saWJyYXJpZXNfc3RyaW5nICE9IE5VTEwpOwogCXJhd3N0cmlu ZyA9IHBzdHJkdXAob2F1dGhfdmFsaWRhdG9yX2xpYnJhcmllc19zdHJpbmcpOwogCiAJaWYgKCFT cGxpdERpcmVjdG9yaWVzU3RyaW5nKHJhd3N0cmluZywgJywnLCAmZWxlbWxpc3QpKQpAQCAtODkx LDkgKzg3OSwyMiBAQCBjaGVja19vYXV0aF92YWxpZGF0b3IoSGJhTGluZSAqaGJhbGluZSwgaW50 IGVsZXZlbCwgY2hhciAqKmVycl9tc2cpCiAJCWdvdG8gZG9uZTsKIAl9CiAKKwlpZiAoZWxlbWxp c3QgPT0gTklMKQorCXsKKwkJZXJlcG9ydChlbGV2ZWwsCisJCQkJZXJyY29kZShFUlJDT0RFX0NP TkZJR19GSUxFX0VSUk9SKSwKKwkJCQllcnJtc2coInBhcmFtZXRlciBcIiVzXCIgbXVzdCBiZSBz ZXQgZm9yIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBcIiVzXCIiLAorCQkJCQkgICAib2F1dGhfdmFs aWRhdG9yX2xpYnJhcmllcyIsICJvYXV0aCIpLAorCQkJCWVycmNvbnRleHQoImxpbmUgJWQgb2Yg Y29uZmlndXJhdGlvbiBmaWxlIFwiJXNcIiIsCisJCQkJCQkgICBsaW5lX251bSwgZmlsZV9uYW1l KSk7CisJCSplcnJfbXNnID0gcHNwcmludGYoInBhcmFtZXRlciBcIiVzXCIgbXVzdCBiZSBzZXQg Zm9yIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBcIiVzXCIiLAorCQkJCQkJCSJvYXV0aF92YWxpZGF0 b3JfbGlicmFyaWVzIiwgIm9hdXRoIik7CisJCWdvdG8gZG9uZTsKKwl9CisKIAlpZiAoIWhiYWxp bmUtPm9hdXRoX3ZhbGlkYXRvcikKIAl7Ci0JCWlmIChlbGVtbGlzdC0+bGVuZ3RoID09IDEpCisJ CWlmIChsaXN0X2xlbmd0aChlbGVtbGlzdCkgPT0gMSkKIAkJewogCQkJaGJhbGluZS0+b2F1dGhf dmFsaWRhdG9yID0gcHN0cmR1cChsaW5pdGlhbChlbGVtbGlzdCkpOwogCQkJZ290byBkb25lOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVy LnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsCmlu ZGV4IDg5NDFhMzU1NDIzLi40Y2ViNzc1ZmUyMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxl cy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMv b2F1dGhfdmFsaWRhdG9yL3QvMDAxX3NlcnZlci5wbApAQCAtMTM0LDYgKzEzNCwyNiBAQCBpcygg JGNvbnRlbnRzLAogM3xvYXV0aHxce2lzc3Vlcj0kaXNzdWVyL3BhcmFtLCJzY29wZT1vcGVuaWQg cG9zdGdyZXMiLHZhbGlkYXRvcj12YWxpZGF0b3JcfX0sCiAJInBnX2hiYV9maWxlX3J1bGVzIHJl Y3JlYXRlcyBPQXV0aCBIQkEgc2V0dGluZ3MiKTsKIAorIyBBbiBhbGwtd2hpdGVzcGFjZSBsaWJy YXJ5IGxpc3QgcGFyc2VzIGFzIGFuIGVtcHR5IGxpc3QuICBSZWplY3QgaXQgd2l0aG91dAorIyBj cmFzaGluZyB0aGUgcG9zdG1hc3RlciBkdXJpbmcgSEJBIHJlbG9hZC4KKyRub2RlLT5hcHBlbmRf Y29uZigncG9zdGdyZXNxbC5jb25mJywKKwkib2F1dGhfdmFsaWRhdG9yX2xpYnJhcmllcyA9ICcg ICAnXG4iKTsKKyRub2RlLT5yZWxvYWQ7CiskbG9nX3N0YXJ0ID0gJG5vZGUtPndhaXRfZm9yX2xv ZygKKwlxci9wYXJhbWV0ZXIgIm9hdXRoX3ZhbGlkYXRvcl9saWJyYXJpZXMiIG11c3QgYmUgc2V0 IGZvciBhdXRoZW50aWNhdGlvbi8sCisJJGxvZ19zdGFydCk7CiskYmdjb25uLT5xdWVyeV9zYWZl KCdTRUxFQ1QgMScpOworCiskbm9kZS0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwuY29uZicsCisJ Im9hdXRoX3ZhbGlkYXRvcl9saWJyYXJpZXMgPSAndmFsaWRhdG9yJ1xuIik7Ciskbm9kZS0+cmVs b2FkOworJGxvZ19zdGFydCA9ICRub2RlLT53YWl0X2Zvcl9sb2coCisJcXIvcGFyYW1ldGVyICJv YXV0aF92YWxpZGF0b3JfbGlicmFyaWVzIiBjaGFuZ2VkIHRvICJ2YWxpZGF0b3IiLywKKwkkbG9n X3N0YXJ0KTsKK2lzKCAkYmdjb25uLT5xdWVyeV9zYWZlKCdTSE9XIG9hdXRoX3ZhbGlkYXRvcl9s aWJyYXJpZXMnKSwKKwkndmFsaWRhdG9yJywKKwknb2F1dGhfdmFsaWRhdG9yX2xpYnJhcmllcyBy ZXN0b3JlZCcpOworCiB7CiAJIyBNYWtlIHN1cmUgUEdPQVVUSERFQlVHPVVOU0FGRSBkb2Vzbid0 IGRpc2FibGUgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLgogCWxvY2FsICRFTlZ7UEdPQVVUSERF QlVHfSA9ICJVTlNBRkUiOwotLSAKMi41NC4wIChBcHBsZSBHaXQtMTU3KQoK --_002_0bc0874d0b774514a61d8d7b30825e0fftdataru_--