Re: ANALYZE: ERROR: tuple already updated by self

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: ANALYZE: ERROR: tuple already updated by self
Date: 2019-06-19 00:00:09
Message-ID: CAH2-WzkdGXB0Z6qZkBZHeorjwGBk+ovDaeexrQp1b_RaJm9JcA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 18, 2019 at 4:49 PM Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:
> Sure:
>
> (gdb) bt
> #0 errfinish (dummy=0) at elog.c:414
> #1 0x000000000085e834 in elog_finish (elevel=<value optimized out>, fmt=<value optimized out>) at elog.c:1376
> #2 0x00000000004b93bd in simple_heap_update (relation=0x7fee161700c8, otid=0x1fb7f44, tup=0x1fb7f40) at heapam.c:4613
> #3 0x000000000051bdb7 in CatalogTupleUpdate (heapRel=0x7fee161700c8, otid=0x1fb7f44, tup=0x1fb7f40) at indexing.c:234

It might be interesting to set a breakpoint within heap_update(),
which is called by simple_heap_update() --technically, this is where
the reported failure occurs. From there, you could send an image of
the page to the list by following the procedure described here:

https://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Linux/BSD#Dumping_a_page_image_from_within_GDB

You'll have to hit "next" a few times, until heap_update()'s "page"
variable is initialized.
--
Peter Geoghegan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2019-06-19 00:08:37 Re: ANALYZE: ERROR: tuple already updated by self
Previous Message Justin Pryzby 2019-06-18 23:57:55 Re: ANALYZE: ERROR: tuple already updated by self