Re: BUG #17995: Segmentation fault caused by UPDATE statement - Mailing list pgsql-bugs

From Alexander Lakhin
Subject Re: BUG #17995: Segmentation fault caused by UPDATE statement
Date
Msg-id 916440ee-5c84-abce-e2c8-562dc5775404@gmail.com
Whole thread Raw
In response to Re: BUG #17995: Segmentation fault caused by UPDATE statement  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
26.06.2023 07:27, Tom Lane wrote:
> I hadn't looked at the patch yet, but ... mcxt.c?  How is that recursive?
> Even if there is some path that recurses through that, wouldn't the
> check be better placed in a less-hot part of the loop?

In that thread Egor Chindyaskin showed proofs for stack overflow in all the
functions, that the fixes were proposed for. For example:
#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

Though maybe for some of those functions less-hot places could be found to
check the stack.

Best regards,
Alexander



pgsql-bugs by date:

Previous
From: Michael Paquier
Date:
Subject: Re: BUG #17995: Segmentation fault caused by UPDATE statement
Next
From: Michael Paquier
Date:
Subject: Re: BUG #17997: Assert failed in validatePartitionedIndex() when attaching partition index to child of valid index