Thread: AllocSetAlloc() error message
Can someone shed some light on this error message for me (please). This is a 7.2.3 debug level 2 output, and my config is 2003-02-06 16:15:44 [645] ERROR: Memory exhausted in AllocSetAlloc(1073741820) vacuum_mem = 1048576 # 1 Meg Based on the source code src/backend/utils/mmgr/aset.c this is more like a warning than an error. /opt/intransa/postgresql/bin/postmaster child[645]: starting with (postgres -d2 -v131072 -p storageprocessor ) 2003-02-06 16:15:44 [645] DEBUG: InitPostgres 2003-02-06 16:15:44 [645] DEBUG: StartTransactionCommand 2003-02-06 16:15:44 [645] DEBUG: query: VACUUM ANALYZE 2003-02-06 16:15:44 [645] DEBUG: ProcessUtility: VACUUM ANALYZE 2003-02-06 16:15:44 [645] DEBUG: --Relation pg_type-- TopMemoryContext: 24600 total in 3 blocks; 16520 free (5 chunks); 8080 used TopTransactionContext: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used DeferredTriggerXact: 0 total in 0 blocks; 0 free (0 chunks); 0 used TransactionCommandContext: 8192 total in 1 blocks; 8080 free (14 chunks); 112 used QueryContext: 8192 total in 1 blocks; 7504 free (1 chunks); 688 used Vacuum: 8192 total in 1 blocks; 6736 free (0 chunks); 1456 used DeferredTriggerSession: 0 total in 0 blocks; 0 free (0 chunks); 0 used PortalMemory: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used CacheMemoryContext: 253952 total in 5 blocks; 82264 free (10 chunks); 171688 used pg_type_typname_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_type_oid_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_index_indrelid_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_shadow_usesysid_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_shadow_usename_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_trigger_tgrelid_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_class_oid_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_amop_opc_strategy_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used pg_amproc_opc_procnum_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used pg_class_relname_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_operator_oid_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_index_indexrelid_index: 1024 total in 1 blocks; 680 free (0 chunks); 344 used pg_attribute_relid_attnum_index: 1024 total in 1 blocks; 392 free (0 chunks); 632 used MdSmgr: 8192 total in 1 blocks; 6120 free (0 chunks); 2072 used DynaHash: 8192 total in 1 blocks; 7216 free (0 chunks); 976 used DynaHashTable: 8192 total in 1 blocks; 6112 free (0 chunks); 2080 used DynaHashTable: 8192 total in 1 blocks; 4560 free (0 chunks); 3632 used DynaHashTable: 8192 total in 1 blocks; 4560 free (0 chunks); 3632 used DynaHashTable: 8192 total in 1 blocks; 3024 free (0 chunks); 5168 used DynaHashTable: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used DynaHashTable: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used DynaHashTable: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used DynaHashTable: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used DynaHashTable: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used ErrorContext: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used 2003-02-06 16:15:44 [645] ERROR: Memory exhausted in AllocSetAlloc(1073741820) 2003-02-06 16:15:44 [645] DEBUG: AbortCurrentTransaction 2003-02-06 16:15:44 [645] DEBUG: proc_exit(0) 2003-02-06 16:15:44 [645] DEBUG: shmem_exit(0) 2003-02-06 16:15:44 [645] DEBUG: exit(0) 2003-02-06 16:15:44 [3843] DEBUG: StartTransactionCommand 2003-02-06 16:15:44 [3843] DEBUG: query: SELECT count(*) from AlertsTable 2003-02-06 16:15:44 [3843] DEBUG: ProcessQuery 2003-02-06 16:15:44 [3808] DEBUG: reaping dead processes 2003-02-06 16:15:44 [3808] DEBUG: child process (pid 645) exited with exit code 0 2003-02-06 16:15:44 [3843] DEBUG: CommitTransactionCommand 2003-02-06 16:15:44 [3843] DEBUG: StartTransactionCommand 2003-02-06 16:15:44 [3843] DEBUG: query: INSERT INTO AlertsTable VALUES ('00:06:5B:0F:40
Medi Montaseri <medi.montaseri@intransa.com> writes: > Can someone shed some light on this error message for me (please). > This is a 7.2.3 debug level 2 output, and my config is > 2003-02-06 16:15:44 [645] ERROR: Memory exhausted in > AllocSetAlloc(1073741820) I think this is a corrupt-data problem: you've probably got a variable-length datum whose length word is munged to look like a ridicuously large value. You should be scanning the table to see where the bad data is. regards, tom lane
Should I be looking for an exsessively large table or column ? Most (99%) of my tables are text fields, but small values (less than 1024 bytes).... Perhaps I should dump the data and go after it with a perl script.... Also this happend around a VACUUM-ing job....is there any relation there ? Also should I drop my other work and chase this or this is more of warning than an error.... Thanks Tom Lane wrote: >Medi Montaseri <medi.montaseri@intransa.com> writes: > > >>Can someone shed some light on this error message for me (please). >>This is a 7.2.3 debug level 2 output, and my config is >> >> > > > >>2003-02-06 16:15:44 [645] ERROR: Memory exhausted in >>AllocSetAlloc(1073741820) >> >> > >I think this is a corrupt-data problem: you've probably got a >variable-length datum whose length word is munged to look like a >ridicuously large value. You should be scanning the table to see >where the bad data is. > > regards, tom lane > >
Medi Montaseri <medi.montaseri@intransa.com> writes: > Also this happend around a VACUUM-ing job....is there any relation there ? Who knows? > Also should I drop my other work and chase this or this is more of > warning than an error.... Corrupt data in a system catalog sounds like a sign of impending doom to me. I'd suggest taking it seriously... regards, tom lane