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 1wS34t-002uiY-2a for pgsql-bugs@arkaria.postgresql.org; Wed, 27 May 2026 01:28:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wS34r-006hq9-1c for pgsql-bugs@arkaria.postgresql.org; Wed, 27 May 2026 01:28:58 +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 1wS34r-006hq1-0p for pgsql-bugs@lists.postgresql.org; Wed, 27 May 2026 01:28:58 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wS34q-00000001c97-04xZ for pgsql-bugs@lists.postgresql.org; Wed, 27 May 2026 01:28:57 +0000 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-be4344dde59so29904966b.3 for ; Tue, 26 May 2026 18:28:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779845334; cv=none; d=google.com; s=arc-20240605; b=XrOX8mdgF/zhCRAzVB7FxlOdQC/SWGaJFNt6sZFoQrXM5obh+1zcf/jEsozogVbMaH KuFTyX74hyq1aU3qSNwUQO/ciKk+C2SJhL4+dB2X1lX9cqdNP18AqnQT8Pu4YpH4z6/U 0TzsJ2EKfqqT5NUWQ1V6JmaUqYpLSERh2afiwFXPxLf8ng/859JTFzQqidldCCENs6+y tFuyFEc8QsE6dR6gw+BNpYINguIkxDoTX72heqdy+MHO+NcI+lIzxXncfO81svSYqMed 6CJ/A5HUhkK3kKzNMtdBeeW+F2SRCTBH+7W30/g0fdnQ40622GyZWFgUO07sVAH/RbX+ S++w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=/+9uve18lXPor+Sr7nVVCWsz7+wZEAWWt8zfjEb8sdo=; fh=XaU/ZXy+D/8W6rCjHwo+P+4Cpr0+y2Ofbh/nlBlUkpY=; b=FeyTTfbiXWl3FSJEp+PuIAKzqO/RZuQeqjZ/fO0PrphHSp6WCWZokOz85H6ooxtfgt 8cnpyd+Vov4OoLfhL87Q6qC2hr6y+OaMhE++cAjBqQG5FAtcu0UHNVVUl5PZNsTCLXhr qe//qJs34wVgTgDbYnyiSYyi6ZlEXBNFu9nLmaqlsrrG66Mfd1hLF6loA4Ef0lUyhRls ic1taybwRvd1qeJWeg8ayZXBt+EShEgcyPXtVunA5dxbrLSuVbiAIpGaJOjOK3A5AADy lYTwLbwfT+3mC2Y4UfzVpK97I0pFTVW2aL3oRmhXNfF0V0DOZ4uxZE5wC+6zUtct2zPu WMEA==; 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=20251104; t=1779845334; x=1780450134; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=/+9uve18lXPor+Sr7nVVCWsz7+wZEAWWt8zfjEb8sdo=; b=mCoWVEWyxFN4WZTlJ66LYJRzxIv+PqtokIkgqHPm/feFifRG60LLllNJW/vC7Bp/RB odHR19bTrnje+UxR7/zL2buZy6IGnfBeJfQYaVytd4peBbZe7VxuRp18/H8OHp5JJqOo fq0XlKTKSe24IIDc3q9Er+Ms/GDDkm6ODRMUeCgFqa7Y4cb8MkmPT7W+rxm0B3CaOpQA VI34ndFXVIoViDuGzgx0PyOz7BHfkkPh6SDW2GRaYRq160kniSRjpWmFO2uKUNd1q8XU 1bQkWzGPECvt/8w/Z/WrmoUknASlgYu9dFa+FBQHiYD2GrP3g4e1chYl4CiucNiG24w0 nd4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779845334; x=1780450134; h=content-transfer-encoding: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=/+9uve18lXPor+Sr7nVVCWsz7+wZEAWWt8zfjEb8sdo=; b=Lfb2FG/T+L1BAGve8ZSYTD1eAHm9kUgYu+Vq7Dszd0ZWrc8ikgiSoixqxjs9phhVGm xD0OsRZUCxMlQYc1/TtaYSXese8BLfGz07wJ4HaDWsE/4/sH8SkLNLWahMYJdm8moKjD nqAo4+N85INcceAoReae4HBPagSYcEvqxd/tGqAW/FH+fsFkswEy+L6urlmKdTd+8MdX 8cc28Jw/JACTRtF7qEJnUuE/HfD/5Df9nMZ+u3kC5j6H1Dt0JQj0Jbd5W033LKPoxlKP sKNfYg/o0bfwm2HYTq3smGlczMzOGZljkcTgELf//p15UIwMJIrqhQqFRGgaIrg6JdkH kV5g== X-Forwarded-Encrypted: i=1; AFNElJ9mIymBqQmYXU8khSSC9qnDS0TsHbQUdnIh5v7wgfnyPBbm/dvGjpAA3PBvJ5GXRJWQKgJogAAsKwrZ@lists.postgresql.org X-Gm-Message-State: AOJu0Yyc9tRKsFT4z8qMuJEQHzlDsp+8s9rLwPEvQYYii2XLTJOVRi49 lPmS0ZYkcbp/iwboGPhyq0fKT3ZwhEhoTA4xBoOaY8MOMkch+TiZLnzAByEsteOGv/ZFV8/ITi/ xdTw1eu4xgwCrqwKd575fBL7VHCz0P88= X-Gm-Gg: Acq92OH5VyY+0t0z8tZSKWQxzRQinZXJxdT2VJqhKxz5zwAfK8DQdPC2KutsOf+o2eU YB9fP06OBBKZ7+xahFv5qmFYM2A2lNsbcFw0ZOQh9pTEWPGuLNCiFB7rm/UGgZk071qMofQwPyu /NMU0uh/y7T7Z52JlUa2aClsj03XKMrH+pP5IJH5KFSLq05Hxpl8at4zpre4lEB0A0P/znpQj8q zILwkvq2zuTdLBqU8XVeFyhb40deVkvl5WMvcnvhEIR9DTXnNGqQXrB/RHUnRV1FcgiDnNGvScn bqsu6twmP6Jf8dmh29KL8E9sSHHn04ogr0oocK4aC9I+SvPEvtl0nQ== X-Received: by 2002:a17:906:ba8f:b0:bd8:ba46:db25 with SMTP id a640c23a62f3a-bdd262d249cmr1222932166b.39.1779845333612; Tue, 26 May 2026 18:28:53 -0700 (PDT) MIME-Version: 1.0 References: <19493-5878eac7a2525c23@postgresql.org> <2d59d7d6-6afe-4565-8ff7-ae764651589a@gmail.com> <1779843554.737126560@fmail2.qdit> <418106.1779844099@sss.pgh.pa.us> In-Reply-To: From: Tender Wang Date: Wed, 27 May 2026 09:28:42 +0800 X-Gm-Features: AVHnY4JVvFANvXVPMItJ2dw0zqFPUnXwIqGr4x0UcTt03FneU7aam9EvbcMKeuo Message-ID: Subject: Re: BUG #19493: Assertion failure in pg_plan_advice with EXISTS subquery and DO_NOT_SCAN advice To: Tom Lane Cc: =?UTF-8?B?0JrQsNC70LjQvdC40L0g0J3QuNC60LjRgtCw?= , Michael Paquier , pgsql-bugs@lists.postgresql.org, Pierre Forstmann Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, all Tender Wang =E4=BA=8E2026=E5=B9=B45=E6=9C=8827=E6=97= =A5=E5=91=A8=E4=B8=89 09:17=E5=86=99=E9=81=93=EF=BC=9A > > Tom Lane =E4=BA=8E2026=E5=B9=B45=E6=9C=8827=E6=97=A5= =E5=91=A8=E4=B8=89 09:08=E5=86=99=E9=81=93=EF=BC=9A > > > > =3D?UTF-8?B?0JrQsNC70LjQvdC40L0g0J3QuNC60LjRgtCw?=3D writes: > > > Could this be related to GCC? I'm using GCC 16.1.1 and I can reproduc= e the crash with that version. > > > > Maybe. Does it still fail if you set the optimization level to -O0 ? > I can reproduce this crash on my machine with CFLAGS=3D"-O0 -g3". And my > GCC version is 11.4.0 diff --git a/contrib/pg_plan_advice/pgpa_trove.c b/contrib/pg_plan_advice/pgpa_trove.c index ca69f3bd3df..0d15af1cbba 100644 --- a/contrib/pg_plan_advice/pgpa_trove.c +++ b/contrib/pg_plan_advice/pgpa_trove.c @@ -179,9 +179,18 @@ pgpa_build_trove(List *advice_items) * but in the future this might not be true, e.g. a custom * scan could replace a join. */ - Assert(target->ttype =3D=3D PGPA_TARGET_IDENTIFIER); - pgpa_trove_add_to_slice(&trove->sca= n, - item->tag, target); + if (target->ttype =3D=3D PGPA_TARGET_IDENTIFIER) + pgpa_trove_add_to_slice(&trove->scan, + item->tag, target); + else + { + Assert(target->ttype =3D=3D PGPA_TARGET_ORDERED_LIST); + foreach_ptr(pgpa_advice_target, child_target, target->children) + { + pgpa_trove_add_to_slice(&trove->scan, + item->tag, child_target); + } + } } I tried the above fix, and no crash again. --=20 Thanks, Tender Wang