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 1qlj8E-0045uc-9k for pgsql-bugs@arkaria.postgresql.org; Thu, 28 Sep 2023 05:00:10 +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 1qlj8C-008xXv-44 for pgsql-bugs@arkaria.postgresql.org; Thu, 28 Sep 2023 05:00:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qlj8B-008xXb-Lg for pgsql-bugs@lists.postgresql.org; Thu, 28 Sep 2023 05:00:08 +0000 Received: from mail-lf1-x12d.google.com ([2a00:1450:4864:20::12d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qlj89-0073Ts-By for pgsql-bugs@lists.postgresql.org; Thu, 28 Sep 2023 05:00:06 +0000 Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-5048156976cso4228593e87.2 for ; Wed, 27 Sep 2023 22:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695877204; x=1696482004; darn=lists.postgresql.org; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=2oxBMGP1byydrTRyyB23B2uoePYl+PmD9sMmG8HRK9s=; b=nHDgero7IapJb2VcYd92masMi3aRsxU9MORxTIHO9lHfyz9T/dgNxEsnfOhAxHt3P6 YYRtPTm/YFUfDzM4nUeB3nXgrREkol2MsQU4xY/j/7fHMM7iDFFEPyFsuK4WAq73SG05 7QyDg5oLmOxTfAX3q5rYFIrpSW4S0D1iZ2HkqfuTKzWnwvgzrbc5dXNYYHSBKScPf+Tp b1kG69AJWqo2LS7b3QMzvcmcHj04drXe4i+m4wHd4oy1Sjlm0Rjcv7uzZy+/LYqoF6SK 5fXEl+LnFLCzyjar6vZMrJOiTTR1mXFjdRfhYDP5QsGPBMQHQCVuojJn02I9TyNeG2YO v3CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695877204; x=1696482004; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=2oxBMGP1byydrTRyyB23B2uoePYl+PmD9sMmG8HRK9s=; b=iUX0+jV9N6NqRauf+MEkCNGTUe+/GjbKtMKqV/haAP/gg/2Um7k5sD1kEBqmEbxocO nRxRAwtBB5sJvmlDhaksikVy0Vu0I7hd9lXzIvdfsTARRTXDXAFD5oLGzW6Sux9ep2wc hoyy0DtSx83tfVOc8Vevd1C1OrGbLjZ+D5GiN8VyzyVNVXfMHS8s7BqtHw08vZ6XjV+1 MOZBXLOorJiT2GcA2Rhh1Vgi0KF3fHk/keCNaYuqpwWpe6Ctjrcckk4sjO25pkXNvs+d p2sN0z6qJlBAuNTSgHuNRhz54+hEByfakPKeIQdiosl52lL/9vPJbrK0jnaubcHumgFZ Nw0w== X-Gm-Message-State: AOJu0Yxo4vm52NoVRQyGljmiS4TkeL2VZZEkAElfftSz6KoSAneapDW4 PzKh4XvwUMTdV/DJDnxHYZFmFtARAnE= X-Google-Smtp-Source: AGHT+IEAymmldoykhZOUPmpf9RMTilxvZwM5fQ4L1S86FWr7RPbuPthg9uUffD+1cpD8mG1Mt8fSUQ== X-Received: by 2002:a19:2d03:0:b0:503:3278:3225 with SMTP id k3-20020a192d03000000b0050332783225mr142204lfj.63.1695877203173; Wed, 27 Sep 2023 22:00:03 -0700 (PDT) Received: from [1.0.0.7] ([178.155.21.181]) by smtp.gmail.com with ESMTPSA id r5-20020ac252a5000000b0050306259d88sm2918579lfm.23.2023.09.27.22.00.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 27 Sep 2023 22:00:02 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------dBPmQ27wVX0560YfjUaB4jkS" Message-ID: <9e3acda6-76b8-d6b4-c013-f78f84d7c5ab@gmail.com> Date: Thu, 28 Sep 2023 08:00:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: BUG #18135: Incorrect memory access occurs when attaching a partition with an index Content-Language: en-US To: Michael Paquier , pgsql-bugs@lists.postgresql.org References: <18135-532f4a755e71e4d2@postgresql.org> From: Alexander Lakhin In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------dBPmQ27wVX0560YfjUaB4jkS Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Michael, 28.09.2023 06:30, Michael Paquier wrote: > On Wed, Sep 27, 2023 at 10:00:01AM +0000, PG Bug reporting form wrote: >> executed under Valgrind, it leads to an incorrect memory access: >> ==00:00:00:03.947 396156== Invalid read of size 2 >> ==00:00:00:03.947 396156== at 0x2E323D: CompareIndexInfo (index.c:2572) >> ==00:00:00:03.947 396156== by 0x3D009B: AttachPartitionEnsureIndexes >> (tablecmds.c:18797) >> ==00:00:00:03.947 396156== by 0x3D8B4F: ATExecAttachPartition >> (tablecmds.c:18578) >> ==00:00:00:03.947 396156== by 0x3D9A88: ATExecCmd (tablecmds.c:5379) >> ==00:00:00:03.947 396156== by 0x3D9BC7: ATRewriteCatalogs >> (tablecmds.c:5063) Thank you for paying attention to it! > I have just tested that on HEAD and REL_16_STABLE, but fail to see > this report, which is weird (3.19.0 here). Are you using any specific > option of valgrind I should be aware of? Here is what I used, for > reference: > valgrind \ > --suppressions=$PG_SOURCE/src/tools/valgrind.supp \ > --trace-children=yes --track-origins=yes --read-var-info=yes \ > postgres -D REST_OF_ARGS Please try the following procedure (I've simplified my own): With the attached patch (for HEAD) applied CPPFLAGS="-DUSE_VALGRIND -Og" ./configure -q --enable-debug --enable-cassert && make -s -j8 sed 's/create index on idxpart1 ((a + b));/create index on idxpart1 ((a));/' -i src/test/regress/sql/indexing.sql TESTS=indexing make check-tests I get: not ok 1     - indexing                                 9844 ms # (test process exited with exit code 2) (I use valgrind-3.18.1.) If you still see no error, please share details of your method for running valgrind. > >> In addition, there is a check whether both indexes are (are not) >> expression indexes, but it's placed below... > Sure, but this makes the check a bit cheaper if the indexes to compare > use expr and non-expr attributes at the same attnums, no? Except if I > am missing something, the attached should be sufficient. I thought about placing that check before the loop, but your fix looks more clear (and my testing confirms that it works). Best regards, Alexander --------------dBPmQ27wVX0560YfjUaB4jkS Content-Type: text/x-patch; charset=UTF-8; name="install-vrunner-17.patch" Content-Disposition: attachment; filename="install-vrunner-17.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2luc3RhbGwtdnJ1bm5lci5zaCBiL2luc3RhbGwtdnJ1bm5lci5zaApu ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMC4uMjE4ODFkNGM3MjkKLS0t IC9kZXYvbnVsbAorKysgYi9pbnN0YWxsLXZydW5uZXIuc2gKQEAgLTAsMCArMSwzMSBAQAor IyEvYmluL2Jhc2gKK3NldCAtZQorCitTUkNESVI9JDEKK1BHQklOPSQyCisKK2NkICRQR0JJ TgorY3AgJFNSQ0RJUi9zcmMvdG9vbHMvdmFsZ3JpbmQuc3VwcCAuLworCitlY2hvICIiCitj YXQgPDwgJ0VPRicgPiB2cnVubmVyCisjIS9iaW4vYmFzaAorc2V0IC1lCitCRD0iJCggY2Qg IiQoIGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IiApIiAmJiBwd2QgKSIKK1NOPSIkKGJh c2VuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIgorT0JJTj0iXyRTTiIKK1tbICRMRF9QUkVM T0FEID0gKiJ2YWxncmluZCIqIF1dICYmIGV4ZWMgJEJELyRPQklOICIkQCIKKworZXhlYyB2 YWxncmluZCAtLXF1aWV0ICAtLWV4aXQtb24tZmlyc3QtZXJyb3I9eWVzIC0tdHJhY2stb3Jp Z2lucz1ubyAtLWVycm9yLWV4aXRjb2RlPTEgLS1sZWFrLWNoZWNrPW5vIC0tdGltZS1zdGFt cD15ZXMgXAorIC0tZ2VuLXN1cHByZXNzaW9ucz1hbGwgLS1zdXBwcmVzc2lvbnM9JEJEL3Zh bGdyaW5kLnN1cHAgXAorIC0tdHJhY2UtY2hpbGRyZW49eWVzIC0tdHJhY2UtY2hpbGRyZW4t c2tpcD0iL2Jpbi8qLC91c3IvYmluLyoiIFwKKyAkQkQvJE9CSU4gIiRAIgorRU9GCitjaG1v ZCBhK3ggdnJ1bm5lcgorCitmb3IgZiBpbiAqOyBkbworICAgIGlmIFsgIiRmIiA9ICJ2cnVu bmVyIiBdIHx8IFsgISAteCAiJGYiIF07IHRoZW4gY29udGludWU7IGZpCisgICAgbXYgIiRm IiAiXyRmIgorICAgIGxuIC1zIHZydW5uZXIgIiRmIgorICAgIGNobW9kIGEreCAiJGYiCitk b25lCmRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuZ2xvYmFsLmluIGIvc3JjL01ha2VmaWxl Lmdsb2JhbC5pbgppbmRleCA4ODRkNjY5MjBiNi4uODdhZjdmZDlhYjggMTAwNjQ0Ci0tLSBh L3NyYy9NYWtlZmlsZS5nbG9iYWwuaW4KKysrIGIvc3JjL01ha2VmaWxlLmdsb2JhbC5pbgpA QCAtNDExLDIgKzQxMSwzIEBAIGlmZXEgKCQoTUFLRUxFVkVMKSwwKQogCSQoTUFLRSkgLWox ICQoaWYgJChDSEVDS1BSRVBfVE9QKSwtQyAkKENIRUNLUFJFUF9UT1ApLCkgY2hlY2twcmVw ID4+JyQoYWJzX3RvcF9idWlsZGRpciknL3RtcF9pbnN0YWxsL2xvZy9pbnN0YWxsLmxvZyAy PiYxCisJJyQoYWJzX3RvcF9idWlsZGRpciknL2luc3RhbGwtdnJ1bm5lci5zaCAnJChhYnNf dG9wX2J1aWxkZGlyKScgJyQoYWJzX3RvcF9idWlsZGRpcikvdG1wX2luc3RhbGwkKGJpbmRp ciknCiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfY3RsL3BnX2N0bC5jIGIvc3JjL2Jpbi9w Z19jdGwvcGdfY3RsLmMKaW5kZXggN2Y0MjdlN2Q2MGUuLmU2MTE1ODgxZjZiIDEwMDY0NAot LS0gYS9zcmMvYmluL3BnX2N0bC9wZ19jdGwuYworKysgYi9zcmMvYmluL3BnX2N0bC9wZ19j dGwuYwpAQCAtNjIwLDEyICs2MjAsNyBAQCB3YWl0X2Zvcl9wb3N0bWFzdGVyKHBncGlkX3Qg cG1fcGlkLCBib29sIGRvX2NoZWNrcG9pbnQpCiAJCQlwbXBpZCA9IGF0b2wob3B0bGluZXNb TE9DS19GSUxFX0xJTkVfUElEIC0gMV0pOwogCQkJcG1zdGFydCA9IGF0b2wob3B0bGluZXNb TE9DS19GSUxFX0xJTkVfU1RBUlRfVElNRSAtIDFdKTsKIAkJCWlmIChwbXN0YXJ0ID49IHN0 YXJ0X3RpbWUgLSAyICYmCi0jaWZuZGVmIFdJTjMyCi0JCQkJcG1waWQgPT0gcG1fcGlkCi0j ZWxzZQotCQkJLyogV2luZG93cyBjYW4gb25seSByZWplY3Qgc3RhbmRhbG9uZS1iYWNrZW5k IFBJRHMgKi8KLQkJCQlwbXBpZCA+IDAKLSNlbmRpZgorCQkJCXBtcGlkID09IHBtX3BpZCAg JiYga2lsbChwbXBpZCwgMCkgPT0gMAogCQkJCSkKIAkJCXsKIAkJCQkvKgo= --------------dBPmQ27wVX0560YfjUaB4jkS--