Обсуждение: HEAP_MOVED_IN or HEAP_MOVED_OFF?
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
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
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. ServusManfred