Re: backend crash

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Kamil Jońca <kjonca(at)fastmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: backend crash
Date: 2020-04-14 04:31:50
Message-ID: CA+hUKGJ=vSGortN9NYPRXJxyxVqMw2WhL3Qvn=kLecMAax5U8A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Apr 13, 2020 at 10:59 PM Kamil Jońca <kjonca(at)fastmail(dot)com> wrote:
> #2 0x000055f675632af4 in ExceptionalCondition (conditionName=conditionName(at)entry=0x55f6758523f8 "!(result->tdrefcount == -1)", errorType=errorType(at)entry=0x55f67568a016 "FailedAssertion",
> fileName=fileName(at)entry=0x55f675852008 "/build/postgresql-12-kUaQt8/postgresql-12-12.2/build/../src/backend/utils/cache/typcache.c", lineNumber=lineNumber(at)entry=2621) at ./build/../src/backend/utils/error/assert.c:54
> #3 0x000055f6756309ae in find_or_make_matching_shared_tupledesc (tupdesc=<optimized out>) at ./build/../src/backend/utils/cache/typcache.c:2621

This code is asserting that a TupleDesc that it found in
CurrentSession->shared_record_table is not reference counted. That's
because TupleDesc objects stored there stick around for the lifetime
of the session (= leader backend lifetime). So the question is ...
how did that thing manage to get some other value there, and what was
it? What does "frame 3", "print *result" show?

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2020-04-14 04:49:12 BUG #16360: [pgadmin-v4.20] error string indices must be integers
Previous Message Artur Zakirov 2020-04-14 03:44:44 Re: BUG #16337: Finnish Ispell dictionary cannot be created