Thread: AllocSetAlloc() error message

AllocSetAlloc() error message

From
Medi Montaseri
Date:
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


Re: AllocSetAlloc() error message

From
Tom Lane
Date:
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

Re: AllocSetAlloc() error message

From
Medi Montaseri
Date:
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
>
>




Re: AllocSetAlloc() error message

From
Tom Lane
Date:
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