ERROR: not enough stack items

Started by Sahagian, Davidalmost 13 years ago1 messagesgeneral
Jump to latest
#1Sahagian, David
david.sahagian@emc.com

"PostgreSQL 9.1.8 on x86_64-unknown-linux-gnu,
compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit"

I see in the postgres log, on a DEV box
. . .
2013-04-18 17:09:44.721 EDT 516f10af.34fb 2/160904 0 ERROR: not enough stack items
2013-04-18 17:09:44.721 EDT 516f10af.34fb 2/160904 0 STATEMENT: vacuum my_schema.MY_TABLE

Looking in "postgresql-9.1.9.tar.gz",
I find that error message only in nbtpage.c in [ _bt_pagedel(Relation, Buffer, BTStack) ].

The table in question:
CREATE TABLE my_schema.MY_TABLE
(
aa bigint NOT NULL,
bb bigint NOT NULL,
cc timestamp NOT NULL,
dd varchar(63) NOT NULL,
ee char(1) NOT NULL,
ff text NOT NULL,
gg text NOT NULL,
CONSTRAINT pk_my_table PRIMARY KEY ( aa )
)
WITH ( OIDS=FALSE );

So, does this indicate that the index of the PK was corrupted ?

I tried to show the existence of any corruption by doing . . .
[ EXPLAIN ANALYZE
select * from my_schema.MY_TABLE
where aa between 22592000 and 23592000 ; ]

and this query did in fact do an Index Scan using pk_my_table.

I ran the query ten times, with different ranges in the where-clause,
thus covering all rows in the table. (~10.4 million rows)

No error happened; each query returned ok.

Then I did [ vacuum my_schema.MY_TABLE ] and it also returned ok.

I am interested if anybody has seen this error-msg before.

Secondarily, I am also interested to know if there is a "fool-proof" way to find corruption if it exists.

Thanks,
-dvs-