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 1ugDJO-00HP84-Ph for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Jul 2025 02:09:59 +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 1ugDJL-003Oer-Sb for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Jul 2025 02:09:56 +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 1ugDJL-003Oej-7o for pgsql-hackers@lists.postgresql.org; Mon, 28 Jul 2025 02:09:55 +0000 Received: from fhigh-b5-smtp.messagingengine.com ([202.12.124.156]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ugDJH-001DSq-1w for pgsql-hackers@lists.postgresql.org; Mon, 28 Jul 2025 02:09:55 +0000 Received: from phl-compute-04.internal (phl-compute-04.phl.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id 3CFF47A00A2; Sun, 27 Jul 2025 22:09:50 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-04.internal (MEProxy); Sun, 27 Jul 2025 22:09:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1753668590; x=1753754990; bh=5C1xPm1tBS 5rLQjIe3WBZ3Bh3QzH3Xj8/8QFBbmykAk=; b=lQU/krRKqxVJZJapIWvW24Ba7I qisaE/+ODlX1AoiEbMI8rB2vLum8q2oBbJZENuRSHkIaIxdKunp+f4B0TABeTVjd 1QR6T174fSA1Zpddgx+KbIMZgGK9+i6K4TfiLaGhFRX0MJd/t9h6EzY55JyHeCtQ tVyAAT86D+Lnq+yxRFyqo39gvGEik9pPIEB9XpSbh3KXTeXlv056TcD0U5b5B8fm S2qexudrfwnlnOPsXDoYC3/Ln56cac4K7tyODC5M3BnJK8+yE3/WVVuKZD3VVpJ4 ROMBTuFGaroAQrmQJUhX/8rP+sXlZL8lpqoFJHGfCgvKcTZuJkxPg/2JQw/A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1753668590; x=1753754990; bh=5C1xPm1tBS5rLQjIe3WBZ3Bh3QzH3Xj8/8Q FBbmykAk=; b=jwJKZhu7Hedh1X3t9kc6RlDjlCsMTQ4NL5DznRw2GCJZ7XEvj5c +AaKGFJMBCTzLNo2sQbWK9tdONIGwmoTLCEvG5gWM/jMp46uKOjqV7ino2UKw5vh lPhn4FmfyNG9LCsqgZ7fdPSBzZrPod/iwrDgfz/Pz2Q4N4NZv3eeIATrJmp6iKW6 s2wHvT0B4OchUMGi32ATax/0kCJVi6XI7/IzPqkpFXMFhMUD6sqxHik8oJcosy9N LvE+xXXcRpvDydA28S3S4cbHCFBXxzvNmnovfo6cvfDs6eUWvWhGZuGBg1hlrtFh 7mGiMs4Gk3t2Pxoo/TOwjo6CcCbVpTaf3pQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdeltdelgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlh cuvffnffculdejtddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtvden ucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprghquh hivghrrdighiiiqeenucggtffrrghtthgvrhhnpeetleeifedufffhhfdtteelgeeggeff hfekueevteeigfduudevudetgfegiedvjeenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiiipdhn sggprhgtphhtthhopeehpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehtghhlse hsshhsrdhpghhhrdhprgdruhhspdhrtghpthhtoheprhhosgesgiiiihhllhgrrdhnvght pdhrtghpthhtohepjhhimhdrjhhonhgvshesuhhnihdqmhhuvghnshhtvghrrdguvgdprh gtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhq lhdrohhrghdprhgtphhtthhopegvfihivgesvgifihgvrdhnrghmvg X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 27 Jul 2025 22:09:46 -0400 (EDT) Date: Mon, 28 Jul 2025 11:09:33 +0900 From: Michael Paquier To: Tom Lane Cc: Robert Treat , Jim Jones , Postgres hackers , Erik Wienhold Subject: Re: Regression with large XML data input Message-ID: References: <1569825.1753327718@sss.pgh.pa.us> <1685956.1753380629@sss.pgh.pa.us> <1691195.1753383449@sss.pgh.pa.us> <1721385.1753385039@sss.pgh.pa.us> <7a9a9804-01d8-4489-a831-1a222bae6705@uni-muenster.de> <1944118.1753467686@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="8VWGkgmoucW0497F" Content-Disposition: inline In-Reply-To: <1944118.1753467686@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --8VWGkgmoucW0497F Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Jul 25, 2025 at 02:21:26PM -0400, Tom Lane wrote: > I'll be the first to say that I'm not too pleased with it either. > However, from Jim Jones' result upthread, a "minor update" of libxml2 > could also have caused this problem: 2.9.7 and 2.9.14 behave > differently. So we don't have sole control --- or sole responsibility > --- here. This sentence is incorrect after I have double-checked the behaviors I am seeing based on local builds of libxml2 2.9.7 and 2.9.14. For example with the top of REL_15_STABLE, with and without 72c65d6658d4, I am getting (removing the exception in the example does not matter if it's a success): - libxml2 2.9.7 + top of REL_15_STABLE => test failure - libxml2 2.9.14 + top of REL_15_STABLE => test failure - libxml2 2.9.7 + top of REL_15_STABLE + revert of 72c65d6658d4 => test success - libxml2 2.9.14 + top of REL_15_STABLE + revert of 72c65d6658d4 => test success So if one uses a version of libxml2 2.9.X, he/she would be able to see the large data case work with Postgres at 72c65d6658d4^1, and a failure with 72c65d6658d4 and onwards. Taking Postgres in isolation with any version of libxml2 in the 2.9.X series prevents the case to work. This does not depend on 2.9.X, only on the fact that we link Postgres to a newer major version of libxml2. Please note that this is also the behavior I see in a Debian GID environment and I guess any existing Debian release: we rely on libxml2 2.9.X, so a minor upgrade of Postgres is the factor able to trigger the behavior change. It seems to me that there's an argument for compatibility with the 2.9.X series, which still seems quite present in the wild, and that we could decide one solution over the other in xml_parse() based on LIBXML_VERSION. What I am seeing is that at fixed major version of libxml2, then Postgres holds the responsibility here. -- Michael --8VWGkgmoucW0497F Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmiG290ACgkQnvQgOdby QH0b0xAAgvLpM6nLdzgcHmCuirBYyMVOOoXNBEIaCnoQCzYt+SzbViauc0XhCOUK k45VUnXK92UWz4mmYVkEKS/tL808nehccyxGuQ8rKBWVvyKdHEERkKMbEI92B07G Cm5DYkwv69Nc6+HsdLBvYDJpY8SlHCVNO4j7aBJ69HE1r4IhsTIHGCMd4a5F6EGN wZJ/xa0ZnZS2nNez1E1RKYpRILLaiC46iX3X9ilKIbPfUMa/rjOdjpqwpq1UJIDf HDnwapLAzF3EHpUF1LdrnjFL5Pzpnc/ckwLhyczGIv+/zWiWmRN6kPh0g3sSY712 SnnmVLug0vQHW6v7gAeeVB7IsvFs/710S48F6fAi+BHH/ZBI3Zb9ZDo13bS8jDcL C3G8NmQlC8k8O3JOlCgGxI3DiokBIb/NNT3L1th2M1N6HjBJ8Ad2F2eDj7FWjU7w Guid8dXZdMPRz9S+OMS0NRBeiKlkskJzFvyUb+BQzO+s2IVdc/nkuFS7J2qI/g05 JMzYllD+keqaeQBxUEuHYGknPVy3IUq7aZlgIggXFOWyTh+ZjOa+xqfT+DBIknzN csS6GYVL8SCri6kfcGM6Gdw7MLt1q7SXBz2B6zuZl6BJ+/tROanOYMwMlwWJnSTo koryjek2YcA81rSiS0B94zMCHT3Gm5WgOGv7MBfonhmEgP2zBZE= =Llvt -----END PGP SIGNATURE----- --8VWGkgmoucW0497F--