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.94.2) (envelope-from ) id 1uGvhH-00A99k-KR for pgsql-hackers@arkaria.postgresql.org; Mon, 19 May 2025 08:18:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uGvhG-00EU3u-4a for pgsql-hackers@arkaria.postgresql.org; Mon, 19 May 2025 08:18:06 +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.94.2) (envelope-from ) id 1uGvhF-00EU3m-Pn for pgsql-hackers@lists.postgresql.org; Mon, 19 May 2025 08:18:05 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uGvhC-002dKq-0V for pgsql-hackers@lists.postgresql.org; Mon, 19 May 2025 08:18:05 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id A4B1D60299; Mon, 19 May 2025 17:17:55 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_2c4e04ea7076e6d3ec9c74d29eb61e50" Content-Transfer-Encoding: 7bit Date: Mon, 19 May 2025 17:17:55 +0900 From: Masahiro Ikeda To: Fujii Masao Cc: Dilip Kumar , Richard Guo , PostgreSQL Hackers Subject: Re: Assertion failure in smgr.c when using pg_prewarm with partitioned tables In-Reply-To: <5a494c43-326e-45c3-b391-e95501152bb2@oss.nttdata.com> References: <7fde0acf-2395-44d8-b081-bfa0e10097dc@oss.nttdata.com> <8829854bbfc8635ddecd0846bb72dfda@oss.nttdata.com> <5a494c43-326e-45c3-b391-e95501152bb2@oss.nttdata.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: ikedamsh@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_2c4e04ea7076e6d3ec9c74d29eb61e50 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Thanks for your work and feedback! I've updated the patches and added regular regression tests for both pg_prewarm and amcheck. On 2025-05-16 21:01, Fujii Masao wrote: > Also, since the issue was introduced in v17, this patch should be > back-patched to v17, right? I agree with back-patching v3-0001. I was able to reproduce the issue on the REL_17_STABLE branch. One concern is that this patch changes the error message in production: * v17.5 (without --enable-cassert) > ERROR: fork "main" does not exist for this relation * REL_17_STABLE with the v3-0001 patch (without --enable-cassert) > ERROR: relation "test" does not have storage However, I think preventing the assertion failure should take priority. As for v3-0002, I think it's fine to apply it to the master branch only, since it just makes a cosmetic improvement to the error message. Regards, -- Masahiro Ikeda NTT DATA CORPORATION --=_2c4e04ea7076e6d3ec9c74d29eb61e50 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v3-0001-Fix-assertion-failure-when-pg_prewarm-is-run-on-o.patch Content-Disposition: attachment; filename=v3-0001-Fix-assertion-failure-when-pg_prewarm-is-run-on-o.patch; size=4029 RnJvbSAxNjAyN2VjZWRjNDMwMTkwNDk2NTMwNmQ4YTQ5NWY3YTA4YzZkNzk4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8aWtlZGFtc2hAb3NzLm50dGRhdGEu Y29tPgpEYXRlOiBNb24sIDE5IE1heSAyMDI1IDE2OjI0OjU1ICswOTAwClN1YmplY3Q6IFtQQVRD SCB2MyAxLzJdIEZpeCBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIHBnX3ByZXdhcm0oKSBpcyBydW4g b24KIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIHN0b3JhZ2UuCgpUaGlzIGlzc3VlIHdhcyBpbnRy b2R1Y2VkIGJ5IGNvbW1pdCAwNDllZjMzLgoKU3BlY2lmeWluZyBvYmplY3RzIHRoYXQgZG9uJ3Qg aGF2ZSBzdG9yYWdlIGFzIGFuIGFyZ3VtZW50IHRvCnBnX3ByZXdhcm0oKSBjb3VsZCB0cmlnZ2Vy IGFuIGFzc2VydGlvbiBmYWlsdXJlOgoKICBGYWlsZWQgQXNzZXJ0KCJSZWxGaWxlTnVtYmVySXNW YWxpZChybG9jYXRvci5yZWxOdW1iZXIpIikKClRoaXMgZml4IGVuc3VyZXMgdGhhdCBzdWNoIGNh c2VzIGFyZSBoYW5kbGVkIGFwcHJvcHJpYXRlbHkuCi0tLQogY29udHJpYi9wZ19wcmV3YXJtL01h a2VmaWxlICAgICAgICAgICAgICAgIHwgIDIgKysKIGNvbnRyaWIvcGdfcHJld2FybS9leHBlY3Rl ZC9wZ19wcmV3YXJtLm91dCB8IDEyICsrKysrKysrKysrKwogY29udHJpYi9wZ19wcmV3YXJtL21l c29uLmJ1aWxkICAgICAgICAgICAgIHwgIDUgKysrKysKIGNvbnRyaWIvcGdfcHJld2FybS9wZ19w cmV3YXJtLmMgICAgICAgICAgICB8ICA4ICsrKysrKysrCiBjb250cmliL3BnX3ByZXdhcm0vc3Fs L3BnX3ByZXdhcm0uc3FsICAgICAgfCAxMiArKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwg MzkgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIvcGdfcHJld2FybS9l eHBlY3RlZC9wZ19wcmV3YXJtLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIvcGdfcHJl d2FybS9zcWwvcGdfcHJld2FybS5zcWwKCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3ByZXdhcm0v TWFrZWZpbGUgYi9jb250cmliL3BnX3ByZXdhcm0vTWFrZWZpbGUKaW5kZXggOWNmZGU4YzRlNGYu LjYxN2FjOGUwOWIyIDEwMDY0NAotLS0gYS9jb250cmliL3BnX3ByZXdhcm0vTWFrZWZpbGUKKysr IGIvY29udHJpYi9wZ19wcmV3YXJtL01ha2VmaWxlCkBAIC0xMCw2ICsxMCw4IEBAIEVYVEVOU0lP TiA9IHBnX3ByZXdhcm0KIERBVEEgPSBwZ19wcmV3YXJtLS0xLjEtLTEuMi5zcWwgcGdfcHJld2Fy bS0tMS4xLnNxbCBwZ19wcmV3YXJtLS0xLjAtLTEuMS5zcWwKIFBHRklMRURFU0MgPSAicGdfcHJl d2FybSAtIHByZWxvYWQgcmVsYXRpb24gZGF0YSBpbnRvIHN5c3RlbSBidWZmZXIgY2FjaGUiCiAK K1JFR1JFU1MgPSBwZ19wcmV3YXJtCisKIFRBUF9URVNUUyA9IDEKIAogaWZkZWYgVVNFX1BHWFMK ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfcHJld2FybS9leHBlY3RlZC9wZ19wcmV3YXJtLm91dCBi L2NvbnRyaWIvcGdfcHJld2FybS9leHBlY3RlZC9wZ19wcmV3YXJtLm91dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uM2JiNjQ0NDk5ZDQKLS0tIC9kZXYvbnVsbAorKysg Yi9jb250cmliL3BnX3ByZXdhcm0vZXhwZWN0ZWQvcGdfcHJld2FybS5vdXQKQEAgLTAsMCArMSwx MiBAQAorLS0gVGVzdCBwZ19wcmV3YXJtIGV4dGVuc2lvbgorQ1JFQVRFIEVYVEVOU0lPTiBwZ19w cmV3YXJtOworLS0gVG8gc3BlY2lmeSB0aGUgcmVsYXRpb24gd2hpY2ggZG9lcyBub3QgaGF2ZSBz dG9yYWdlIHNob3VsZCBmYWlsLgorQ1JFQVRFIFRBQkxFIHRlc3QgKGMxIGludCkgUEFSVElUSU9O IEJZIFJBTkdFIChjMSk7CitDUkVBVEUgVEFCTEUgdGVzdF9wYXJ0MSBQQVJUSVRJT04gT0YgdGVz dCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgxMDAwKTsKK0lOU0VSVCBJTlRPIHRlc3QgU0VMRUNU IGdlbmVyYXRlX3NlcmllcygxLCAxMDApOworU0VMRUNUIHBnX3ByZXdhcm0oJ3Rlc3QnLCAnYnVm ZmVyJyk7CitFUlJPUjogIHJlbGF0aW9uICJ0ZXN0IiBkb2VzIG5vdCBoYXZlIHN0b3JhZ2UKK0RF VEFJTDogIFRoaXMgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHBhcnRpdGlvbmVkIHRh Ymxlcy4KKy0tIENsZWFudXAKK0RST1AgVEFCTEUgdGVzdDsKK0RST1AgRVhURU5TSU9OIHBnX3By ZXdhcm07CmRpZmYgLS1naXQgYS9jb250cmliL3BnX3ByZXdhcm0vbWVzb24uYnVpbGQgYi9jb250 cmliL3BnX3ByZXdhcm0vbWVzb24uYnVpbGQKaW5kZXggODJiOTg1MTMwM2MuLmYyNGM0N2VmNmE1 IDEwMDY0NAotLS0gYS9jb250cmliL3BnX3ByZXdhcm0vbWVzb24uYnVpbGQKKysrIGIvY29udHJp Yi9wZ19wcmV3YXJtL21lc29uLmJ1aWxkCkBAIC0yOSw2ICsyOSwxMSBAQCB0ZXN0cyArPSB7CiAg ICduYW1lJzogJ3BnX3ByZXdhcm0nLAogICAnc2QnOiBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIo KSwKICAgJ2JkJzogbWVzb24uY3VycmVudF9idWlsZF9kaXIoKSwKKyAgJ3JlZ3Jlc3MnOiB7Cisg ICAgJ3NxbCc6IFsKKyAgICAgICdwZ19wcmV3YXJtJywKKyAgICBdLAorICB9LAogICAndGFwJzog ewogICAgICd0ZXN0cyc6IFsKICAgICAgICd0LzAwMV9iYXNpYy5wbCcsCmRpZmYgLS1naXQgYS9j b250cmliL3BnX3ByZXdhcm0vcGdfcHJld2FybS5jIGIvY29udHJpYi9wZ19wcmV3YXJtL3BnX3By ZXdhcm0uYwppbmRleCA1MDgwODU2OWJkNy4uMWY4OWM5YWRjODYgMTAwNjQ0Ci0tLSBhL2NvbnRy aWIvcGdfcHJld2FybS9wZ19wcmV3YXJtLmMKKysrIGIvY29udHJpYi9wZ19wcmV3YXJtL3BnX3By ZXdhcm0uYwpAQCAtMTEyLDYgKzExMiwxNCBAQCBwZ19wcmV3YXJtKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKIAkJYWNsY2hlY2tfZXJyb3IoYWNscmVz dWx0LCBnZXRfcmVsa2luZF9vYmp0eXBlKHJlbC0+cmRfcmVsLT5yZWxraW5kKSwgZ2V0X3JlbF9u YW1lKHJlbE9pZCkpOwogCisJLyogQ2hlY2sgdGhhdCB0aGUgc3RvcmFnZSBleGlzdHMuICovCisJ aWYgKCFSRUxLSU5EX0hBU19TVE9SQUdFKHJlbC0+cmRfcmVsLT5yZWxraW5kKSkKKwkJZXJlcG9y dChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1dST05HX09CSkVDVF9UWVBFKSwKKwkJCQkg ZXJybXNnKCJyZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgaGF2ZSBzdG9yYWdlIiwKKwkJCQkJCVJl bGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpLAorCQkJCSBlcnJkZXRhaWxfcmVsa2luZF9ub3Rf c3VwcG9ydGVkKHJlbC0+cmRfcmVsLT5yZWxraW5kKSkpOworCiAJLyogQ2hlY2sgdGhhdCB0aGUg Zm9yayBleGlzdHMuICovCiAJaWYgKCFzbWdyZXhpc3RzKFJlbGF0aW9uR2V0U21ncihyZWwpLCBm b3JrTnVtYmVyKSkKIAkJZXJlcG9ydChFUlJPUiwKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfcHJl d2FybS9zcWwvcGdfcHJld2FybS5zcWwgYi9jb250cmliL3BnX3ByZXdhcm0vc3FsL3BnX3ByZXdh cm0uc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yNzQzZmE1ZTc3 OAotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvcGdfcHJld2FybS9zcWwvcGdfcHJld2FybS5z cWwKQEAgLTAsMCArMSwxMiBAQAorLS0gVGVzdCBwZ19wcmV3YXJtIGV4dGVuc2lvbgorQ1JFQVRF IEVYVEVOU0lPTiBwZ19wcmV3YXJtOworCistLSBUbyBzcGVjaWZ5IHRoZSByZWxhdGlvbiB3aGlj aCBkb2VzIG5vdCBoYXZlIHN0b3JhZ2Ugc2hvdWxkIGZhaWwuCitDUkVBVEUgVEFCTEUgdGVzdCAo YzEgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UgKGMxKTsKK0NSRUFURSBUQUJMRSB0ZXN0X3BhcnQx IFBBUlRJVElPTiBPRiB0ZXN0IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDEwMDApOworSU5TRVJU IElOVE8gdGVzdCBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMCk7CitTRUxFQ1QgcGdfcHJl d2FybSgndGVzdCcsICdidWZmZXInKTsKKworLS0gQ2xlYW51cAorRFJPUCBUQUJMRSB0ZXN0Owor RFJPUCBFWFRFTlNJT04gcGdfcHJld2FybTsKLS0gCjIuMzQuMQoK --=_2c4e04ea7076e6d3ec9c74d29eb61e50 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v3-0002-Fix-error-message-details-for-partitioned-indexes.patch Content-Disposition: attachment; filename=v3-0002-Fix-error-message-details-for-partitioned-indexes.patch; size=3669 RnJvbSA1MDA5NDViOTRmMDUzYzEyMzA4MzBlMTIxMWE3MjdlZGM2ZTFmMDFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8aWtlZGFtc2hAb3NzLm50dGRhdGEu Y29tPgpEYXRlOiBNb24sIDE5IE1heSAyMDI1IDE2OjM5OjI3ICswOTAwClN1YmplY3Q6IFtQQVRD SCB2MyAyLzJdIEZpeCBlcnJvciBtZXNzYWdlIGRldGFpbHMgZm9yIHBhcnRpdGlvbmVkIGluZGV4 ZXMgaW4KIGFtY2hlY2sKClVudGlsIG5vdywgdGhlIGVycm9yIGRldGFpbCBjb3VsZCBiZSBtaXNs ZWFkaW5nIHdoZW4gYnRfaW5kZXhfY2hlY2soKQppcyBydW4gb24gcGFydGl0aW9uZWQgaW5kZXhl cy4gRm9yIGV4YW1wbGUsIHRoZSBpbmRleAoicGdiZW5jaF9hY2NvdW50c19wa2V5IiBpcyBib3Ro IGEgYnRyZWUgYW5kIGEgcGFydGl0aW9uZWQgaW5kZXguCgpCZWZvcmUgdGhpcyBjaGFuZ2UsIHRo ZSBlcnJvciBtZXNzYWdlIHdhczoKCj4gRVJST1I6IGV4cGVjdGVkICJidHJlZSIgaW5kZXggYXMg dGFyZ2V0cyBmb3IgdmVyaWZpY2F0aW9uCj4gREVUQUlMOiBSZWxhdGlvbiAicGdiZW5jaF9hY2Nv dW50c19wa2V5IiBpcyBhIGJ0cmVlIGluZGV4LgoKVGhpcyBjaGFuZ2UgYWRkcyB0aGUgd29yZCAi cGFydGl0aW9uZWQiIHRvIHRoZSBlcnJvciBkZXRhaWwgdG8gYXZvaWQKY29uZnVzaW9uIGFib3V0 IHdoeSB0aGUgZXJyb3Igb2NjdXJyZWQuCgpBZnRlciB0aGlzIGNoYW5nZSwgdGhlIGVycm9yIG1l c3NhZ2UgYmVjb21lczoKCj4gRVJST1I6IGV4cGVjdGVkICJidHJlZSIgaW5kZXggYXMgdGFyZ2V0 cyBmb3IgdmVyaWZpY2F0aW9uCj4gREVUQUlMOiBSZWxhdGlvbiAicGdiZW5jaF9hY2NvdW50c19w a2V5IiBpcyBhIGJ0cmVlIHBhcnRpdGlvbmVkIGluZGV4LgotLS0KIGNvbnRyaWIvYW1jaGVjay9l eHBlY3RlZC9jaGVja19idHJlZS5vdXQgfCA4ICsrKysrKysrCiBjb250cmliL2FtY2hlY2svc3Fs L2NoZWNrX2J0cmVlLnNxbCAgICAgIHwgNyArKysrKysrCiBjb250cmliL2FtY2hlY2svdmVyaWZ5 X2NvbW1vbi5jICAgICAgICAgIHwgNSArKystLQogMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYW1jaGVjay9leHBl Y3RlZC9jaGVja19idHJlZS5vdXQgYi9jb250cmliL2FtY2hlY2svZXhwZWN0ZWQvY2hlY2tfYnRy ZWUub3V0CmluZGV4IGM2ZjRiMTZjNTU2Li44OTQ3NDk2ZDg5MCAxMDA2NDQKLS0tIGEvY29udHJp Yi9hbWNoZWNrL2V4cGVjdGVkL2NoZWNrX2J0cmVlLm91dAorKysgYi9jb250cmliL2FtY2hlY2sv ZXhwZWN0ZWQvY2hlY2tfYnRyZWUub3V0CkBAIC02MCw2ICs2MCwxNCBAQCBTRUxFQ1QgYnRfaW5k ZXhfcGFyZW50X2NoZWNrKCdidHRlc3RfYV9icmluX2lkeCcpOwogRVJST1I6ICBleHBlY3RlZCAi YnRyZWUiIGluZGV4IGFzIHRhcmdldHMgZm9yIHZlcmlmaWNhdGlvbgogREVUQUlMOiAgUmVsYXRp b24gImJ0dGVzdF9hX2JyaW5faWR4IiBpcyBhIGJyaW4gaW5kZXguCiBST0xMQkFDSzsKKy0tIHZl cmlmeSBidHJlZSBwYXJ0aXRpb25lZCBpbmRleGVzIGFyZSByZWplY3RlZCAoZXJyb3IpCitCRUdJ TjsKK0NSRUFURSBUQUJMRSBidHRlc3RfcGFydGl0aW9uZWQgKGEgaW50LCBiIGludCkgUEFSVElU SU9OIEJZIGxpc3QgKGEpOworQ1JFQVRFIElOREVYIGJ0dGVzdF9idHJlZV9wYXJ0aXRpb25lZF9p ZHggT04gYnR0ZXN0X3BhcnRpdGlvbmVkIFVTSU5HIGJ0cmVlIChiKTsKK1NFTEVDVCBidF9pbmRl eF9wYXJlbnRfY2hlY2soJ2J0dGVzdF9idHJlZV9wYXJ0aXRpb25lZF9pZHgnKTsKK0VSUk9SOiAg ZXhwZWN0ZWQgImJ0cmVlIiBpbmRleCBhcyB0YXJnZXRzIGZvciB2ZXJpZmljYXRpb24KK0RFVEFJ TDogIFJlbGF0aW9uICJidHRlc3RfYnRyZWVfcGFydGl0aW9uZWRfaWR4IiBpcyBhIGJ0cmVlIHBh cnRpdGlvbmVkIGluZGV4LgorUk9MTEJBQ0s7CiAtLSBub3JtYWwgY2hlY2sgb3V0c2lkZSBvZiB4 YWN0CiBTRUxFQ1QgYnRfaW5kZXhfY2hlY2soJ2J0dGVzdF9hX2lkeCcpOwogIGJ0X2luZGV4X2No ZWNrIApkaWZmIC0tZ2l0IGEvY29udHJpYi9hbWNoZWNrL3NxbC9jaGVja19idHJlZS5zcWwgYi9j b250cmliL2FtY2hlY2svc3FsL2NoZWNrX2J0cmVlLnNxbAppbmRleCAwNzkzZGJmZWViZC4uMDc3 NTAwODRiM2EgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvYW1jaGVjay9zcWwvY2hlY2tfYnRyZWUuc3Fs CisrKyBiL2NvbnRyaWIvYW1jaGVjay9zcWwvY2hlY2tfYnRyZWUuc3FsCkBAIC01Miw2ICs1Miwx MyBAQCBDUkVBVEUgSU5ERVggYnR0ZXN0X2FfYnJpbl9pZHggT04gYnR0ZXN0X2EgVVNJTkcgYnJp bihpZCk7CiBTRUxFQ1QgYnRfaW5kZXhfcGFyZW50X2NoZWNrKCdidHRlc3RfYV9icmluX2lkeCcp OwogUk9MTEJBQ0s7CiAKKy0tIHZlcmlmeSBidHJlZSBwYXJ0aXRpb25lZCBpbmRleGVzIGFyZSBy ZWplY3RlZCAoZXJyb3IpCitCRUdJTjsKK0NSRUFURSBUQUJMRSBidHRlc3RfcGFydGl0aW9uZWQg KGEgaW50LCBiIGludCkgUEFSVElUSU9OIEJZIGxpc3QgKGEpOworQ1JFQVRFIElOREVYIGJ0dGVz dF9idHJlZV9wYXJ0aXRpb25lZF9pZHggT04gYnR0ZXN0X3BhcnRpdGlvbmVkIFVTSU5HIGJ0cmVl IChiKTsKK1NFTEVDVCBidF9pbmRleF9wYXJlbnRfY2hlY2soJ2J0dGVzdF9idHJlZV9wYXJ0aXRp b25lZF9pZHgnKTsKK1JPTExCQUNLOworCiAtLSBub3JtYWwgY2hlY2sgb3V0c2lkZSBvZiB4YWN0 CiBTRUxFQ1QgYnRfaW5kZXhfY2hlY2soJ2J0dGVzdF9hX2lkeCcpOwogLS0gbW9yZSBleHBhbnNp dmUgdGVzdHMKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYW1jaGVjay92ZXJpZnlfY29tbW9uLmMgYi9j b250cmliL2FtY2hlY2svdmVyaWZ5X2NvbW1vbi5jCmluZGV4IGQwOTVlNjJjZTU1Li5iNjhkZGFm ODk1ZCAxMDA2NDQKLS0tIGEvY29udHJpYi9hbWNoZWNrL3ZlcmlmeV9jb21tb24uYworKysgYi9j b250cmliL2FtY2hlY2svdmVyaWZ5X2NvbW1vbi5jCkBAIC0xNjksOCArMTY5LDkgQEAgaW5kZXhf Y2hlY2thYmxlKFJlbGF0aW9uIHJlbCwgT2lkIGFtX2lkKQogCQllcmVwb3J0KEVSUk9SLAogCQkJ CShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKIAkJCQkgZXJybXNnKCJl eHBlY3RlZCBcIiVzXCIgaW5kZXggYXMgdGFyZ2V0cyBmb3IgdmVyaWZpY2F0aW9uIiwgTmFtZVN0 cigoKEZvcm1fcGdfYW0pIEdFVFNUUlVDVChhbXR1cCkpLT5hbW5hbWUpKSwKLQkJCQkgZXJyZGV0 YWlsKCJSZWxhdGlvbiBcIiVzXCIgaXMgYSAlcyBpbmRleC4iLAotCQkJCQkJICAgUmVsYXRpb25H ZXRSZWxhdGlvbk5hbWUocmVsKSwgTmFtZVN0cigoKEZvcm1fcGdfYW0pIEdFVFNUUlVDVChhbXR1 cHJlbCkpLT5hbW5hbWUpKSkpOworCQkJCSBlcnJkZXRhaWwoIlJlbGF0aW9uIFwiJXNcIiBpcyBh ICVzICVzaW5kZXguIiwKKwkJCQkJCSAgIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCksIE5h bWVTdHIoKChGb3JtX3BnX2FtKSBHRVRTVFJVQ1QoYW10dXByZWwpKS0+YW1uYW1lKSwKKwkJCQkJ CSAgIChyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX0lOREVYKSA/ ICJwYXJ0aXRpb25lZCAiIDogIiIpKSk7CiAJfQogCiAJaWYgKFJFTEFUSU9OX0lTX09USEVSX1RF TVAocmVsKSkKLS0gCjIuMzQuMQoK --=_2c4e04ea7076e6d3ec9c74d29eb61e50--