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 1rGbtn-00GASt-6v for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Dec 2023 09:32:55 +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 1rGbtl-004axy-KV for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Dec 2023 09:32:53 +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 1rGEgm-005W40-Eq for pgsql-hackers@lists.postgresql.org; Thu, 21 Dec 2023 08:45:56 +0000 Received: from smtp57.i.mail.ru ([95.163.41.95]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rGEgi-00BTH2-Ss for pgsql-hackers@lists.postgresql.org; Thu, 21 Dec 2023 08:45:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References :Cc:To:Subject:MIME-Version:Date:Message-ID:From:Sender:Reply-To:To:Cc: Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive:X-Cloud-Ids:Disposition-Notification-To; bh=vN/9Sdpy5BWTKziTGI982NDohZ4JjJemqYr62gnWado=; t=1703148352; x=1703238352; b=jHL+0Q4UE7SSBqENZoC9lNXHKtCR9DkavcScEasBIQUlbwMwLXvqGlJ213VapV0CVGhRC2ZbUPo cnwbuviIRw6X4emTj1be+1A2T3G6IE1sLgfcX0utZxrM7OW1dxSkbT+Q5gRHFiwIXvSQwuajUdQ9Z RaePjWqGR+nb24lH6Ysf5sSzxo5pmz/vqi+17VFlFHww0sUDgXZpVeCnq6W5TtBXHJ5ysG79hXrja 9iiVdrMbrVmXtWuw2qo6YlgT21LDepxKZ/bpUIohNwkuVB4fl5Pc+nf7BWSJVSlt69aITKWQwzYlA FZsb9yPpzZ0L1cMcs2ObU7rPp/vkE6br+Dpw==; Received: by smtp57.i.mail.ru with esmtpa (envelope-from ) id 1rGEge-00HF67-16; Thu, 21 Dec 2023 11:45:48 +0300 Message-ID: <343ff14f-3060-4f88-9cc6-efdb390185df@mail.ru> Date: Thu, 21 Dec 2023 15:45:47 +0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Stack overflow issue Content-Language: en-US To: Heikki Linnakangas , Sascha Kuhl Cc: pgsql-hackers@lists.postgresql.org References: <1661334672.728714027@f473.i.mail.ru> <485cf2a2-d504-fb5f-6751-1085ccf614ec@mail.ru> <4530546a-3216-eaa9-4c92-92d33290a211@mail.ru> <6b48c746-9704-46dc-b9be-01fe4137c824@iki.fi> From: Egor Chindyaskin In-Reply-To: <6b48c746-9704-46dc-b9be-01fe4137c824@iki.fi> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Authentication-Results: smtp57.i.mail.ru; auth=pass smtp.auth=kyzevan23@mail.ru smtp.mailfrom=kyzevan23@mail.ru X-Mailru-Src: smtp X-7564579A: EEAE043A70213CC8 X-77F55803: 4F1203BC0FB41BD9F008C97756F746CA109546F350B61F5EDC408D7902253DD5182A05F53808504087D6BF1736D6F6B996B0311997656C35C6781D56A089A81A37E2FD35DA33A4A0 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7876E9C5582D2D91DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006373D58C44ED3182E498638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D827427E7CFF811D539D62F70755F6B7456F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE778FCF50C7EAF9C588941B15DA834481FA18204E546F3947C989FD0BDF65E50FBF6B57BC7E64490618DEB871D839B7333395957E7521B51C2DFABB839C843B9C08941B15DA834481F8AA50765F7900637F3E38EE449E3E2AE389733CBF5DBD5E9B5C8C57E37DE458BD9DD9810294C998ED8FC6C240DEA76428AA50765F79006377B4B270C9B66B618D81D268191BDAD3DBD4B6F7A4D31EC0BE2F48590F00D11D6D81D268191BDAD3D78DA827A17800CE7622A29705F065304EC76A7562686271ED91E3A1F190DE8FD2E808ACE2090B5E14AD6D5ED66289B5278DA827A17800CE7C523CEC664387B912EB15956EA79C166176DF2183F8FC7C04E672349037D5FA5725E5C173C3A84C384C61F09AF66B0A435872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A504BDC58A77BBAF979EA2C0010615387DD759798B220883C4F87CCE6106E1FC07E67D4AC08A07B9B01DAA61796BF5227BCB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF77DD89D51EBB7742D3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF0CD46E613C09756BB82D1661B2DE164649F4985025B475CF1D217C59FF8854606E5D3BE3824D6F345FCFFA5448E432FFEC6E9B6ED0D9128F2F3C1FECF2995255E48CAC7CA610320002C26D483E81D6BE43194785E4494747B44C3F8173B33F32F0A6D2C91ED28CB6 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojd2R+qgYPpI2XoPK3wwbnUw== X-Mailru-Sender: C10344ED1A7CE1C12DEB9E13603FD1B635A72A720CBDB13217321BB90924F6E1AE14EA694112E666365156F7DE910A55A6B70F8ADAD59E57FEB1DB10838DE9C20697E7DBA78A9A708645201A74DF318E89F3D70676954D8F9762A5B5244EB999B4A721A3011E896F X-Mras: Ok List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 24/11/2023 21:14, Heikki Linnakangas wrote: > What do you think? Hello! Thank you for researching the problem! I'm more of a tester than a developer, so I was able to check the patches from that side. I've configured the server with CFLAGS=" -O0" and cassert enabled and checked the following queries: #CommitTransactionCommand (n=1000000; printf "BEGIN;"; for ((i=1;i<=$n;i++)); do printf "SAVEPOINT s$i;"; done; printf "ERROR; COMMIT;") | psql >/dev/null #ShowTransactionStateRec (n=1000000; printf "BEGIN;"; for ((i=1;i<=$n;i++)); do printf "SAVEPOINT s$i;"; done; printf "SET log_min_messages = 'DEBUG5'; SAVEPOINT sp;") | psql >/dev/null #MemoryContextCheck (n=1000000; printf "begin;"; for ((i=1;i<=$n;i++)); do printf "savepoint s$i;"; done; printf "release s1;" ) | psql >/dev/null #MemoryContextStatsInternal (n=1000000; printf "BEGIN;"; for ((i=1;i<=$n;i++)); do printf "SAVEPOINT s$i;"; done; printf "SELECT pg_log_backend_memory_contexts(pg_backend_pid())") | psql >/dev/null On my system, every of that queries led to a server crash at a number of savepoints in the range from 174,400 to 174,700. With your patches applied, the savepoint counter goes well beyond these values, I settled on an amount of approximately 300,000 savepoints. Your patches look good to me. Best regards, Egor Chindyaskin Postgres Professional: http://postgrespro.com/