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 1w2BTc-000447-1q for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 17:11:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2BTY-00BSZi-1u for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 17:11:33 +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 1w2BTY-00BSZY-0s for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 17:11:33 +0000 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2BTW-00000000SXM-1B5Y for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 17:11:32 +0000 Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-b97a604e098so266581066b.3 for ; Mon, 16 Mar 2026 10:11:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773681089; cv=none; d=google.com; s=arc-20240605; b=DyvZ2b5TOAnT2by7vWykHO9QqQd/te1r3xoH0gYMGiX8VpFqBO8rzf+1cl4+Jlb09V GMOeY3d1gcZWMXAd9Gwc+zs5t6km7D7KkFcqN/SAtlJ3ZgqXrD9rLcJ+5DD9iI8S0hqk FMkJG+uv/YHStJinu/033uCgM59DjAB3oZ04m9oUAUWPA7ulpXTNSPDsiZ4yHDmcbzZL 9DpcZzcIK7SEbzqGjtnnG20cGD3NHTqNAaK6ikBqWz10Ph0wxb7permxgq8RDmr3nA0P P0izbxpFg4V27vNmJmdHWAd1JfWC+bJekfMg9orCdpYcmfCpo2nI6V/zhLb0pLQi1xsv ffXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=OBRbr/p5dEKLhCZ43Naq0JTD3Yqo1SVMplyw4bXUv+4=; fh=mS0Tkj5ynWlCYmdJaip8j/OY9Q3deQHJJ+3zbPz8Sfk=; b=WY8CP83gy76Ov42/60sciGcou/9K3akfxK9AZipAwaHBsGEhZeCkZ4OO3JLOXVdDVB wVBC6STLnLvJp2ZCciH619IEv0ycsB3/wQ3rWe/HaR455ibR9mtiR2DUCLNa9R7lsaMH pepSrcLOc2PzHEtMs3sMVdplq5s+58UzVahAbhm5t5nCZJPDkqkJ3VksEx9MkSNTzKKR UN088h33UF3Dl+XvxaynAMnYG6+NZHq+5qRJKo5BVT2Cu+YqS0pJEARV/W0ogz0LEc3m 6jzw+JVJv1PWxz149CHfPwdG6DYNr9HHAPbztTmu5NmqkZTBH3P5AD45SjRZWz3Q5IJ3 j53g==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773681089; x=1774285889; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=OBRbr/p5dEKLhCZ43Naq0JTD3Yqo1SVMplyw4bXUv+4=; b=KK1D4tQURj0pIH1JdC7Ez4TdP9eu9WjaF6mKaeUozBr/2Ch5BImCS2qrdMUriIlvKP gcNOCesORs4Sz0o/GMwDTwKgq9Hhy4cqErMz0Cbb012kbN3fX3zew6Mltp2G0JeqeJka ASfITNpwDELVgkanJ1W27JZX7DPnv7guLyh+33ZXQibfPf0j1PYlnSF5QH8FU8WhFu3T Nj8WjrL+Wu0+nSJIpeCFM9Tx2UM657w/KbOhiUpOJix0voIu+OdTG8hhshEWz3pJunlG Q1iK7IKWq5TEltkd4SloIIc5wThKWajYl1K1FdSQGq3ve8cpczFZKULN7cuskMPtdXzi LG9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773681089; x=1774285889; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OBRbr/p5dEKLhCZ43Naq0JTD3Yqo1SVMplyw4bXUv+4=; b=CuPWooqTWg27aMAVVPp+MoOl1k5iQwYW2Hg+wDNPCiDIcgMVWA6PkzJXf3P5yZGIx2 bxtroGXZiiM0uk5uHOornupjuezYDGGpdMH3MYDDZgkYSbQZrXwT6XpzfGztAobsIXZf sOuHA645cjEunk7r5Jjn9FOSCJPbsypt5artxWZe/ECQv2mlC+AORVQ4uWN1Eyi8xQnO YHwMemFXt3Lzp8UogGzlh5FfvNSAHQaW8J3BqBWTsaUTDEmDrgZRpSZdTni8Ihgyx1dd /h0Ibieqbqy5Hixqb5DMZO1wqgz2LK/8gx8G9oOWsZaUhJM9mA2Fzm62DvRiwF+FKLVh 68Nw== X-Forwarded-Encrypted: i=1; AJvYcCWyn4yNcb95qObqpJVpxffjZF7Abzuxdoye4EKLQ3SSahsPIa2FDRQUuvSQ/tEGVzJw4InfvTKVnfqepigR@lists.postgresql.org X-Gm-Message-State: AOJu0YzD/Jb4XaFdLfhHxisXByvjwJgZuhObTpCFWxJpQFmUjYfuz/oS sgfj7BLK6hFB4j8zDGXMrQfjtR7rj0X9sdxF39HwlCn2kGyHSqF+wjlm/YfLSiCXihBNBvryIuH tj5uFDJ7SVcysShWrZjQfidFq42c81g4= X-Gm-Gg: ATEYQzybmylyBXdIczzVY7zsmikY5Xb13/XiCjsPyl31mj9awQxjMpyg99FJbu1lWAV BWva6VGMH4usNnk4Mgu+Q1w3ILp2b7by9Xxn8sQGSXzaLk+Jgt+bovzhxCNmyF7v8CDmY16jH0g pADwXpCwpqRxV4AfC7c/nEK/d6Cm/yngIFV/R/qQu5oOSHpokTHbaUISuPxr5UkowmRgZmkHHNI btGEY9R4Udh9ncEUzLIFSaa3gSIj/xSqlngESISRek0xTk1Z0pTK6XJpApRKWBTl5IwdI8Mm3cW G6+q+8kBVOyupCkxCkkUU7zzEHjl63pMV/dQBOZRIS7nZ8d8mg== X-Received: by 2002:a17:906:26d8:b0:b87:1eaf:377c with SMTP id a640c23a62f3a-b9765100eb2mr578190966b.38.1773681088881; Mon, 16 Mar 2026 10:11:28 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Robert Haas Date: Mon, 16 Mar 2026 13:11:16 -0400 X-Gm-Features: AaiRm5395hoNEgeKPD4YHdc8GpXGZuPnADpfvXSHSAuu5Byo4UlNnrEI8-3TlkY Message-ID: Subject: Re: pg_plan_advice To: Alexander Lakhin Cc: "David G. Johnston" , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000003fa86c064d274fcc" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003fa86c064d274fcc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Mar 14, 2026 at 8:00=E2=80=AFAM Alexander Lakhin wrote: > I've found a crash inside pgpa_join_path_setup(), reproduced with: > echo "geqo_threshold =3D 2" >/tmp/extra.config > TEMP_CONFIG=3D/tmp/extra.config make -s check -C contrib/pg_plan_advice/ > ... > > Could please look at this? Thanks. Proposed fix attached. --=20 Robert Haas EDB: http://www.enterprisedb.com --0000000000003fa86c064d274fcc Content-Type: application/octet-stream; name="0001-pg_plan_advice-Avoid-a-crash-under-GEQO.nocfbot" Content-Disposition: attachment; filename="0001-pg_plan_advice-Avoid-a-crash-under-GEQO.nocfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmtfwyfq0 RnJvbSA3OThkNmRmM2VmYmVkNWRmYjZjNzg0YWFlYWY5OTgyZGIxMTNkNDg3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSGFhcyA8cmhhYXNAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IE1vbiwgMTYgTWFyIDIwMjYgMTE6NTA6MDAgLTA0MDAKU3ViamVjdDogW1BBVENIIDEvNF0g cGdfcGxhbl9hZHZpY2U6IEF2b2lkIGEgY3Jhc2ggdW5kZXIgR0VRTy4KClRoZSBwcmV2aW91cyBj b2RlIGNvdWxkIGFsbG9jYXRlIHBncGFfc2pfdW5pcXVlX3JlbCBvYmplY3RzIGluIGEgY29udGV4 dAp0aGF0IGhhZCB0b28gc2hvcnQgYSBsaWZlc3Bhbi4gRml4IGJ5IGFsbG9jYXRpbmcgdGhlbSAo YW5kIGFueQphc3NvY2lhdGVkIExpc3QtcmVsYXRlZCBhbGxvY2F0aW9ucykgaW4gdGhlIHNhbWUg Y29udGV4dCBhcyB0aGUKcGdwYV9wbGFubmVyX3N0YXRlIHRvIHdoaWNoIHRoZXkgYXJlIGF0dGFj aGVkLgoKUmVwb3J0ZWQtYnk6IEFsZXhhbmRlciBMYWtoaW4gPGV4Y2x1c2lvbkBnbWFpbC5jb20+ CkRpc2N1c3Npb246IGh0dHA6Ly9wb3N0Z3IuZXMvbS9hNmU2ZDYwMy1lODQ3LTQ0ZGMtYWNkNS04 NzlmYjQ1NzAwNjJAZ21haWwuY29tCi0tLQogY29udHJpYi9wZ19wbGFuX2FkdmljZS9wZ3BhX3Bs YW5uZXIuYyB8IDE1ICsrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3BsYW5fYWR2aWNl L3BncGFfcGxhbm5lci5jIGIvY29udHJpYi9wZ19wbGFuX2FkdmljZS9wZ3BhX3BsYW5uZXIuYwpp bmRleCA1NTA4YjhhZjcwNy4uMDhlNmVjMTk5YjkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfcGxh bl9hZHZpY2UvcGdwYV9wbGFubmVyLmMKKysrIGIvY29udHJpYi9wZ19wbGFuX2FkdmljZS9wZ3Bh X3BsYW5uZXIuYwpAQCAtOTAsNiArOTAsNyBAQCB0eXBlZGVmIGVudW0gcGdwYV9qb19vdXRjb21l CiAKIHR5cGVkZWYgc3RydWN0IHBncGFfcGxhbm5lcl9zdGF0ZQogeworCU1lbW9yeUNvbnRleHQJ bWN4dDsKIAlib29sCQlnZW5lcmF0ZV9hZHZpY2VfZmVlZGJhY2s7CiAJYm9vbAkJZ2VuZXJhdGVf YWR2aWNlX3N0cmluZzsKIAlwZ3BhX3Ryb3ZlICp0cm92ZTsKQEAgLTMyNCwxMCArMzI1LDE4IEBA IHBncGFfcGxhbm5lcl9zZXR1cChQbGFubmVyR2xvYmFsICpnbG9iLCBRdWVyeSAqcGFyc2UsIGNv bnN0IGNoYXIgKnF1ZXJ5X3N0cmluZywKIAkgKiBzb21lIHB1cnBvc2UuIFRoYXQgY291bGQgYmUg KDEpIHJlY29yZGluZyB0aGF0IHdlIHdpbGwgbmVlZCB0byBnZW5lcmF0ZQogCSAqIGFuIGFkdmlj ZSBzdHJpbmcsICgyKSBzdG9yaW5nIGEgdHJvdmUgb2Ygc3VwcGxpZWQgYWR2aWNlLCBvciAoMykK IAkgKiBmYWNpbGl0YXRpbmcgZGVidWdnaW5nIGNyb3NzLWNoZWNrcyB3aGVuIGFzc2VydHMgYXJl IGVuYWJsZWQuCisJICoKKwkgKiBDdXJyZW50bHksIHRoZSBhY3RpdmUgbWVtb3J5IGNvbnRleHQg c2hvdWxkIGJlIG9uZSB0aGF0IHdpbGwgbGFzdCBmb3IKKwkgKiB0aGUgZW50aXJlIGR1cmF0aW9u IG9mIHF1ZXJ5IHBsYW5uaW5nLCBidXQgaWYgR0VRTyBpcyBpbiB1c2UsIGl0J3MKKwkgKiBwb3Nz aWJsZSB0aGF0IHNvbWUgb2Ygb3VyIGNhbGxiYWNrcyBtYXkgYmUgaW52b2tlZCBsYXRlciB3aXRo CisJICogQ3VycmVudE1lbW9yeUNvbnRleHQgc2V0IHRvIHNvbWUgc2hvcnRlci1saXZlZCBjb250 ZXh0LiBTbywgcmVjb3JkCisJICogdGhlIGNvbnRleHQgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3Ig YWxsb2NhdGlvbnMgdGhhdCBuZWVkIHRvIGxpdmUKKwkgKiBhcyBsb25nIGFzIHRoZSBwZ3BhX3Bs YW5uZXJfc3RhdGUgaXRzZWxmLgogCSAqLwogCWlmIChuZWVkc19wcHMpCiAJewogCQlwcHMgPSBw YWxsb2MwX29iamVjdChwZ3BhX3BsYW5uZXJfc3RhdGUpOworCQlwcHMtPm1jeHQgPSBDdXJyZW50 TWVtb3J5Q29udGV4dDsKIAkJcHBzLT5nZW5lcmF0ZV9hZHZpY2VfZmVlZGJhY2sgPSBnZW5lcmF0 ZV9hZHZpY2VfZmVlZGJhY2s7CiAJCXBwcy0+Z2VuZXJhdGVfYWR2aWNlX3N0cmluZyA9IGdlbmVy YXRlX2FkdmljZV9zdHJpbmc7CiAJCXBwcy0+dHJvdmUgPSB0cm92ZTsKQEAgLTYxNiwxMSArNjI1 LDE1IEBAIHBncGFfam9pbl9wYXRoX3NldHVwKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZv ICpqb2lucmVsLAogCQkJLyogSWYgbm90IGEgZHVwbGljYXRlLCBhcHBlbmQgdG8gdGhlIGxpc3Qu ICovCiAJCQlpZiAoIWZvdW5kKQogCQkJewotCQkJCXBncGFfc2pfdW5pcXVlX3JlbCAqdXIgPSBw YWxsb2Nfb2JqZWN0KHBncGFfc2pfdW5pcXVlX3JlbCk7CisJCQkJcGdwYV9zal91bmlxdWVfcmVs ICp1cjsKKwkJCQlNZW1vcnlDb250ZXh0CW9sZGNvbnRleHQ7CiAKKwkJCQlvbGRjb250ZXh0ID0g TWVtb3J5Q29udGV4dFN3aXRjaFRvKHBwcy0+bWN4dCk7CisJCQkJdXIgPSBwYWxsb2Nfb2JqZWN0 KHBncGFfc2pfdW5pcXVlX3JlbCk7CiAJCQkJdXItPnBsYW5fbmFtZSA9IHJvb3QtPnBsYW5fbmFt ZTsKIAkJCQl1ci0+cmVsaWRzID0gdW5pcXVlcmVsLT5yZWxpZHM7CiAJCQkJcHBzLT5zal91bmlx dWVfcmVscyA9IGxhcHBlbmQocHBzLT5zal91bmlxdWVfcmVscywgdXIpOworCQkJCU1lbW9yeUNv bnRleHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKIAkJCX0KIAkJfQogCX0KLS0gCjIuNTEuMAoK --0000000000003fa86c064d274fcc--