Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9vlE-0003Up-FH for pgsql-bugs@arkaria.postgresql.org; Thu, 15 Jun 2023 22:48:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q9vlB-0006aL-FK for pgsql-bugs@arkaria.postgresql.org; Thu, 15 Jun 2023 22:48:09 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q9vlB-0006Yt-2r for pgsql-bugs@lists.postgresql.org; Thu, 15 Jun 2023 22:48:09 +0000 Received: from mail-oi1-x22e.google.com ([2607:f8b0:4864:20::22e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1q9vl7-002e2p-8x for pgsql-bugs@postgresql.org; Thu, 15 Jun 2023 22:48:07 +0000 Received: by mail-oi1-x22e.google.com with SMTP id 5614622812f47-39e9d1bf835so41560b6e.2 for ; Thu, 15 Jun 2023 15:48:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20221208.gappssmtp.com; s=20221208; t=1686869283; x=1689461283; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=DD5eZR9iWx2vPaFFM0seEG0o5ii2SVS54AXePVlE6qY=; b=opkuBXzzpITroq9ZHCCXf1lJweXoPdDnaiul1ov0++dl7sz4GPsTQVAGz3E2mC7/78 NFMti8kS1cFjO1eekFDtrP/maRCv2Em88UDxyd/1lPgzk9607kYGCioIDnDWHLdtI0MS 0YR1jh/WQZ6gaQvc5EPewty7XsHqwNoizSJeWt8Z99FLo2e5lsD5UVvblyqMdd96i2f8 tofrtdCjgUJ7af3JXYmYfKaNieBaScgxCxi4zrHsNJyxRao/dZpsZAGU405kuCQxFoJx REwopht5kx5wim1CH8wxtuUz8zQ9mo/xG3zlQayF0qjiNIJbbMWBGhu37kN+34nt2cpt Qebw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686869283; x=1689461283; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=DD5eZR9iWx2vPaFFM0seEG0o5ii2SVS54AXePVlE6qY=; b=OcQsTViaTaO31ZQe3PPBiTlunMRqm698kUALqJ9VnDUrbNqvvyxfT3vzknpo1nWzl+ c8i8rzPQ2fkPzHI/+EfijC0MLMeXKLyvH4bQXkaXngZfs/qYQpGoUnLC1sNCMFziTaCl ozxZRX14Ts7wrr5WrVtO+4HX3435SDY3FPCH1AalxG7snOQE/J5L2sfZJfFdPgOUC3eR O/WJhJWvt/dwb+6QUwnjy0HaG+nkNl4t5mpJIsf2TDepSwqKG7KZoC/lAV1kIPy5q7XQ Pb1UFdABzWFu+HBWKzzr57Y8Q6iQCoLPkX9zwIs5T8eF7jcbqQ4uXRloYPaW7f8tnE2H DkKQ== X-Gm-Message-State: AC+VfDxjr9o4xBF7koI1Sylrr+RMbyWKq1wKfi0ABCNbUuZ7fAqOZcEt CBSWSnz1LiXxNMJvUVD6s69qqgD8puAEPOj7xSxgjQ== X-Google-Smtp-Source: ACHHUZ4yQG1m+vFZxjeao/9PrsEhdy70uOOeEBhOqbZwwfWQesHMfJMIAp6N0chgJfSFAbKuo/p4MA== X-Received: by 2002:aca:2402:0:b0:39c:798e:6d14 with SMTP id n2-20020aca2402000000b0039c798e6d14mr633669oic.10.1686869282674; Thu, 15 Jun 2023 15:48:02 -0700 (PDT) Received: from jeff-laptop.lan (c-73-170-46-202.hsd1.ca.comcast.net. [73.170.46.202]) by smtp.gmail.com with ESMTPSA id h21-20020a631215000000b0052858b41008sm13253280pgl.87.2023.06.15.15.48.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 15:48:01 -0700 (PDT) Message-ID: Subject: Re: pg_dump assertion failure with "-n pg_catalog" From: Jeff Davis To: Michael Paquier Cc: pgsql-bugs@postgresql.org Date: Thu, 15 Jun 2023 15:47:59 -0700 In-Reply-To: References: Content-Type: multipart/mixed; boundary="=-OjNB8O69bodynLKCvTxZ" User-Agent: Evolution 3.44.4-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-OjNB8O69bodynLKCvTxZ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2023-06-12 at 15:52 +0900, Michael Paquier wrote: > Attempting the same command with a patched pg_dump on ~14 triggers > more failures.=C2=A0 The first assertion hit is this one, for instance: > $ pg_dump -n pg_catalog > pg_dump: pg_dump.c:13460: dumpCollation: Assertion `colliculocale !=3D > ((void *)0)' failed. Thank you, new patch attached. I changed the Assert()s (the old ones as well as the ones I added) into pg_log_warning()s. I don't think it makes sense to assert based on the catalog contents in pg_dump -- other places just warn. Also added a test. > I'd like to agree with you about the fact that having collprovider > handled before the rest makes things easier to follow in the future. > At least that's my feeling after looking at your patch. The new patch does add about 40 net lines, though. Given that it fixes an obscure issue, I'm not even sure if it should be backported -- perhaps it could just go in 17 as more of a cleanup than a bugfix? Even aside from the issue fixed by this patch, there are other warnings emitted when dumping pg_catalog related to types with typtype=3D'p' and typisdefined=3Dt. Regards, Jeff Davis --=-OjNB8O69bodynLKCvTxZ Content-Disposition: attachment; filename*0=v2-0001-Fix-pg_dump-assertion-failure-when-dumping-pg_cat.pat; filename*1=ch Content-Type: text/x-patch; name="v2-0001-Fix-pg_dump-assertion-failure-when-dumping-pg_cat.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmOWM0YzNjYzU4ZTFlM2VjMzA2ZGQwNGUxYzVmOWYzY2U0OGJkNzQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBX ZWQsIDcgSnVuIDIwMjMgMTA6MzI6NTIgLTA3MDAKU3ViamVjdDogW1BBVENIIHYyXSBGaXggcGdf ZHVtcCBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIGR1bXBpbmcgcGdfY2F0YWxvZy4KCi0tLQogc3Jj L2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAgfCA2OSArKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLQogc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwgfCAgOCArKysrCiAy IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5jCmluZGV4IDVkYWIxYmE5ZWEuLmM3M2U5YTExZGEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtMTM0MTUs NiArMTM0MTUsMTggQEAgZHVtcENvbGxhdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBDb2xsSW5m byAqY29sbGluZm8pCiAJZWxzZQogCQljb2xsY3R5cGUgPSBOVUxMOwogCisJLyoKKwkgKiBCZWZv cmUgdmVyc2lvbiAxNSwgY29sbGNvbGxhdGUgYW5kIGNvbGxjdHlwZSB3ZXJlIG9mIHR5cGUgTkFN RSBhbmQKKwkgKiBub24tbnVsbGFibGUuIFRyZWF0IGVtcHR5IHN0cmluZ3MgYXMgTlVMTCBmb3Ig Y29uc2lzdGVuY3kuCisJICovCisJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPCAxNTAwMDApCisJ eworCQlpZiAoY29sbGNvbGxhdGVbMF0gPT0gJ1wwJykKKwkJCWNvbGxjb2xsYXRlID0gTlVMTDsK KwkJaWYgKGNvbGxjdHlwZVswXSA9PSAnXDAnKQorCQkJY29sbGN0eXBlID0gTlVMTDsKKwl9CisK IAlpZiAoIVBRZ2V0aXNudWxsKHJlcywgMCwgaV9jb2xsaWN1bG9jYWxlKSkKIAkJY29sbGljdWxv Y2FsZSA9IFBRZ2V0dmFsdWUocmVzLCAwLCBpX2NvbGxpY3Vsb2NhbGUpOwogCWVsc2UKQEAgLTEz NDQ2LDM1ICsxMzQ1OCw2MCBAQCBkdW1wQ29sbGF0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0IENv bGxJbmZvICpjb2xsaW5mbykKIAlpZiAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCAwLCBpX2NvbGxp c2RldGVybWluaXN0aWMpLCAiZiIpID09IDApCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHEsICIs IGRldGVybWluaXN0aWMgPSBmYWxzZSIpOwogCi0JaWYgKGNvbGxpY3Vsb2NhbGUgIT0gTlVMTCkK KwlpZiAoY29sbHByb3ZpZGVyWzBdID09ICdkJykKIAl7Ci0JCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KHEsICIsIGxvY2FsZSA9ICIpOwotCQlhcHBlbmRTdHJpbmdMaXRlcmFsQUgocSwgY29sbGljdWxv Y2FsZSwgZm91dCk7CisJCWlmIChjb2xsY29sbGF0ZSB8fCBjb2xsY3R5cGUgfHwgY29sbGljdWxv Y2FsZSB8fCBjb2xsaWN1cnVsZXMpCisJCQlwZ19sb2dfd2FybmluZygiaW52YWxpZCBjb2xsYXRp b24gXCIlc1wiIiwgcWNvbGxuYW1lKTsKKworCQkvKiBubyBsb2NhbGUgLS0gdGhlIGRlZmF1bHQg Y29sbGF0aW9uIGNhbm5vdCBiZSByZWxvYWRlZCBhbnl3YXkgKi8KIAl9Ci0JZWxzZQorCWVsc2Ug aWYgKGNvbGxwcm92aWRlclswXSA9PSAnaScpCiAJewotCQlBc3NlcnQoY29sbGNvbGxhdGUgIT0g TlVMTCk7Ci0JCUFzc2VydChjb2xsY3R5cGUgIT0gTlVMTCk7CisJCWlmIChmb3V0LT5yZW1vdGVW ZXJzaW9uID49IDE1MDAwMCkKKwkJeworCQkJaWYgKGNvbGxjb2xsYXRlIHx8IGNvbGxjdHlwZSB8 fCAhY29sbGljdWxvY2FsZSkKKwkJCQlwZ19sb2dfd2FybmluZygiaW52YWxpZCBjb2xsYXRpb24g XCIlc1wiIiwgcWNvbGxuYW1lKTsKIAotCQlpZiAoc3RyY21wKGNvbGxjb2xsYXRlLCBjb2xsY3R5 cGUpID09IDApCisJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxLCAiLCBsb2NhbGUgPSAiKTsKKwkJ CWFwcGVuZFN0cmluZ0xpdGVyYWxBSChxLCBjb2xsaWN1bG9jYWxlID8gY29sbGljdWxvY2FsZSA6 ICIiLAorCQkJCQkJCQkgIGZvdXQpOworCQl9CisJCWVsc2UKIAkJeworCQkJaWYgKCFjb2xsY29s bGF0ZSB8fCAhY29sbGN0eXBlIHx8IGNvbGxpY3Vsb2NhbGUgfHwKKwkJCQlzdHJjbXAoY29sbGNv bGxhdGUsIGNvbGxjdHlwZSkgIT0gMCkKKwkJCQlwZ19sb2dfd2FybmluZygiaW52YWxpZCBjb2xs YXRpb24gXCIlc1wiIiwgcWNvbGxuYW1lKTsKKwogCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocSwg IiwgbG9jYWxlID0gIik7Ci0JCQlhcHBlbmRTdHJpbmdMaXRlcmFsQUgocSwgY29sbGNvbGxhdGUs IGZvdXQpOworCQkJYXBwZW5kU3RyaW5nTGl0ZXJhbEFIKHEsIGNvbGxjb2xsYXRlID8gY29sbGNv bGxhdGUgOiAiIiwgZm91dCk7CisJCX0KKworCQlpZiAoY29sbGljdXJ1bGVzKQorCQl7CisJCQlh cHBlbmRQUUV4cEJ1ZmZlclN0cihxLCAiLCBydWxlcyA9ICIpOworCQkJYXBwZW5kU3RyaW5nTGl0 ZXJhbEFIKHEsIGNvbGxpY3VydWxlcyA/IGNvbGxpY3VydWxlcyA6ICIiLCBmb3V0KTsKKwkJfQor CX0KKwllbHNlIGlmIChjb2xscHJvdmlkZXJbMF0gPT0gJ2MnKQorCXsKKwkJaWYgKGNvbGxpY3Vs b2NhbGUgfHwgY29sbGljdXJ1bGVzIHx8ICFjb2xsY29sbGF0ZSB8fCAhY29sbGN0eXBlKQorCQkJ cGdfbG9nX3dhcm5pbmcoImludmFsaWQgY29sbGF0aW9uIFwiJXNcIiIsIHFjb2xsbmFtZSk7CisK KwkJaWYgKGNvbGxjb2xsYXRlICYmIGNvbGxjdHlwZSAmJiBzdHJjbXAoY29sbGNvbGxhdGUsIGNv bGxjdHlwZSkgPT0gMCkKKwkJeworCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocSwgIiwgbG9jYWxl ID0gIik7CisJCQlhcHBlbmRTdHJpbmdMaXRlcmFsQUgocSwgY29sbGNvbGxhdGUgPyBjb2xsY29s bGF0ZSA6ICIiLCBmb3V0KTsKIAkJfQogCQllbHNlCiAJCXsKIAkJCWFwcGVuZFBRRXhwQnVmZmVy U3RyKHEsICIsIGxjX2NvbGxhdGUgPSAiKTsKLQkJCWFwcGVuZFN0cmluZ0xpdGVyYWxBSChxLCBj b2xsY29sbGF0ZSwgZm91dCk7CisJCQlhcHBlbmRTdHJpbmdMaXRlcmFsQUgocSwgY29sbGNvbGxh dGUgPyBjb2xsY29sbGF0ZSA6ICIiLCBmb3V0KTsKIAkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHEs ICIsIGxjX2N0eXBlID0gIik7Ci0JCQlhcHBlbmRTdHJpbmdMaXRlcmFsQUgocSwgY29sbGN0eXBl LCBmb3V0KTsKKwkJCWFwcGVuZFN0cmluZ0xpdGVyYWxBSChxLCBjb2xsY3R5cGUgPyBjb2xsY3R5 cGUgOiAiIiwgZm91dCk7CiAJCX0KIAl9Ci0KLQlpZiAoY29sbGljdXJ1bGVzKQotCXsKLQkJYXBw ZW5kUFFFeHBCdWZmZXJTdHIocSwgIiwgcnVsZXMgPSAiKTsKLQkJYXBwZW5kU3RyaW5nTGl0ZXJh bEFIKHEsIGNvbGxpY3VydWxlcywgZm91dCk7Ci0JfQorCWVsc2UKKwkJcGdfZmF0YWwoInVucmVj b2duaXplZCBjb2xsYXRpb24gcHJvdmlkZXIgJyVjJyIsIGNvbGxwcm92aWRlclswXSk7CiAKIAkv KgogCSAqIEZvciBiaW5hcnkgdXBncmFkZSwgY2Fycnkgb3ZlciB0aGUgY29sbGF0aW9uIHZlcnNp b24uICBGb3Igbm9ybWFsCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvdC8wMDJfcGdfZHVt cC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCmluZGV4IDE1ODUyMTg4YzQu LjEyODE1MTA5ZjggMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBs CisrKyBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCkBAIC00NzM0LDYgKzQ3MzQs MTQgQEAgJG5vZGUtPmNvbW1hbmRfZmFpbHNfbGlrZSgKIAlxci9wZ19kdW1wYWxsOiBlcnJvcjog aW1wcm9wZXIgcXVhbGlmaWVkIG5hbWUgXCh0b28gbWFueSBkb3R0ZWQgbmFtZXNcKTogbXlob3N0 XC5teWRiLywKIAkncGdfZHVtcGFsbDogb3B0aW9uIC0tZXhjbHVkZS1kYXRhYmFzZSByZWplY3Rz IG11bHRpcGFydCBkYXRhYmFzZSBuYW1lcycpOwogCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUZXN0IGR1bXBpbmcgcGdf Y2F0YWxvZyAoZm9yIHJlc2VhcmNoIC0tIGNhbm5vdCBiZSByZWxvYWRlZCkKKworJG5vZGUtPmNv bW1hbmRfb2soCisJWyAncGdfZHVtcCcsICctcCcsICIkcG9ydCIsICctbicsICdwZ19jYXRhbG9n JyBdLAorCSdwZ19kdW1wOiBvcHRpb24gLW4gcGdfY2F0YWxvZycKKyk7CisKICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFRlc3QgdmFsaWQgZGF0YWJhc2UgZXhj bHVzaW9uIHBhdHRlcm5zCiAKLS0gCjIuMzQuMQoK --=-OjNB8O69bodynLKCvTxZ--