HEAP_MOVED_IN or HEAP_MOVED_OFF?

Started by Tatsuo Ishiiover 23 years ago3 messages
#1Tatsuo Ishii
t-ishii@sra.co.jp

Hi,

While implementing DROP CONVERSION [CASCADE|RESTRICT], I'm facing
a strange problem. When I tries to delete a tuple from pg_depened, I
got an assertion failure:

TRAP: Failed Assertion("!(!((tp.t_data)->t_infomask & (0x4000 |
0x8000))):", File: "heapam.c", Line: 1315)

This means that HEAP_MOVED_IN or HEAP_MOVED_OFF flag is set. Is this
normal? I noticed that DELETE, INSERT and VACUUM FULL has been
performed over pg_depend in initdb. Is this related to the problem?
--
Tatsuo Ishii

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tatsuo Ishii (#1)
Re: HEAP_MOVED_IN or HEAP_MOVED_OFF?

Tatsuo Ishii <t-ishii@sra.co.jp> writes:

While implementing DROP CONVERSION [CASCADE|RESTRICT], I'm facing
a strange problem. When I tries to delete a tuple from pg_depened, I
got an assertion failure:

This is the bug I complained of in Manfred's HeapTupleHeader patches.
He's sent in a patch (not yet reviewed or applied) to fix it. In the
meantime, I'd counsel avoiding VACUUM FULL.

regards, tom lane

#3Manfred Koizar
mkoi-pg@aon.at
In reply to: Tatsuo Ishii (#1)
Re: HEAP_MOVED_IN or HEAP_MOVED_OFF?

On Thu, 18 Jul 2002 23:05:05 +0900 (JST), Tatsuo Ishii
<t-ishii@sra.co.jp> wrote:

TRAP: Failed Assertion("!(!((tp.t_data)->t_infomask & (0x4000 |
0x8000))):", File: "heapam.c", Line: 1315)

Tatsuo, this is unrelated to *your* work. It is a bug introduced with
my heap tuple header changes. Tom Lane has reported this bug three
days ago: "[HACKERS] HeapTuple header changes cause core dumps in CVS
tip".

A workaround has been posted in reply to this message. And a (IMHO)
better fix is waiting on -patches, making the workaround obsolete. If
you try the fix: any feedback is very appreciated.

Servus
Manfred