BUG #16932: Database Crash with : ERROR: cache lookup failed for type 0

Started by PG Bug reporting formabout 5 years ago3 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 16932
Logged by: Vlad
Email address: github@vlqubed.com
PostgreSQL version: 10.11
Operating system: Windows
Description:

The database is running on Azure (postgres as a service)
select version(): PostgreSQL 10.11, compiled by Visual C++ build 1800,
64-bit

We have also seen this error on an 11.6 version of the database.

We have a nightly process which builds a set of tables with static data for
reporting purposes.

Randomly, we see this error in the logs:

2021-03-18 07:52:32 UTC-6052fa73.12638-ERROR: cache lookup failed for type
0
...
then database crashes, then new log file:
...
2021-03-18 07:55:58 UTC-60530700.18-LOG: could not bind socket for
statistics collector: A socket operation was attempted to an unreachable
host.

2021-03-18 07:55:58 UTC-60530700.18-LOG: trying another address for the
statistics collector
2021-03-18 07:55:59 UTC-6053078f.24-LOG: database system was interrupted;
last known up at 2021-03-18 07:47:04 UTC
2021-03-18 07:56:00 UTC-6053078f.24-LOG: database system was not properly
shut down; automatic recovery in progress

Our process is as follows ( pseudo code simplified ):
begin trans;
call a procedure that drops and re-creates a table.
commit;

begin trans
loop 1000 rows
insert into table above....
end loop;
commit;

when the error occurs, it always occurs on inserting the first row into the
new table;

Re-running the above usually succeeds the second try.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #16932: Database Crash with : ERROR: cache lookup failed for type 0

PG Bug reporting form <noreply@postgresql.org> writes:

Randomly, we see this error in the logs:
2021-03-18 07:52:32 UTC-6052fa73.12638-ERROR: cache lookup failed for type
0

Our process is as follows ( pseudo code simplified ):
begin trans;
call a procedure that drops and re-creates a table.
commit;

begin trans
loop 1000 rows
insert into table above....
end loop;
commit;

Hm. Can you provide a self-contained test case?

It'd also be worth your time to update to latest 10.x, in case this is
an already-fixed bug. A quick trawl of the commit logs didn't turn up
an obvious match, but I might have missed a relevant fix.

https://wiki.postgresql.org/wiki/Guide_to_reporting_problems

regards, tom lane

#3Vlad G
github@vlqubed.com
In reply to: Tom Lane (#2)
Re: BUG #16932: Database Crash with : ERROR: cache lookup failed for type 0

Thanks Tom,

Unfortunately, upgrading is not in the cards, since both 10.11 and 11.6
environments are what azure currently have as their versions for their
postgres as a service.

I have installed both 10.11 and 11.6 to try and duplicate on a local docker
image, but it did not succeed.

I can't really duplicate this issue using tests. It only happens in
production environments unfortunately. I believe it has something to do
with connection pooling and asynchronous operations, but I cannot prove it.

I believe something happens where we are writing to the freshly created
table, could be related to how azure manages the storage behind the
scenes? I am not sure how the storage devices are architected behind the
scenes. ( the benefits of platform as a service...).
Is there some threading issue where the newly created table is not ready or
out of sync with the internal object cache of postgres when the storage is
slower / network attached?
Thanks,
Vlad

On Thu, Mar 18, 2021 at 3:12 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Show quoted text

PG Bug reporting form <noreply@postgresql.org> writes:

Randomly, we see this error in the logs:
2021-03-18 07:52:32 UTC-6052fa73.12638-ERROR: cache lookup failed for

type

0

Our process is as follows ( pseudo code simplified ):
begin trans;
call a procedure that drops and re-creates a table.
commit;

begin trans
loop 1000 rows
insert into table above....
end loop;
commit;

Hm. Can you provide a self-contained test case?

It'd also be worth your time to update to latest 10.x, in case this is
an already-fixed bug. A quick trawl of the commit logs didn't turn up
an obvious match, but I might have missed a relevant fix.

https://wiki.postgresql.org/wiki/Guide_to_reporting_problems

regards, tom lane