Re: pg_dump 9.1.1 hanging (collectSecLabels gets 0 labels)

Steve Singer <ssinger@ca.afilias.info>

From: Steve Singer <ssinger@ca.afilias.info>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development Hackers <pgsql-hackers@postgresql.org>
Date: 2011-11-10T18:13:10Z
Lists: pgsql-hackers

Attachments

On 11-11-09 06:35 PM, Tom Lane wrote:
> Steve Singer<ssinger@ca.afilias.info>  writes:
>> I've tracked the issue down to collectSecLabels in pg_dump.c
>
>> SELECT label, provider, classoid, objoid, objsbid FROM
>> pg_catalog.pg_seclabel;
>
>> returns 0 rows.
>
>> The code in collectSecLabels() is not prepared to deal with a zero row
>> result and tries to malloc 0 bytes.
>
> pg_seclabel is almost always empty, so I'm not convinced that you've
> identified your problem correctly.
>
> 			regards, tom lane
>

The attached patch seems to fix the issue.

The man page for malloc on AIX is pretty clear on what happens when you 
try to malloc 0 bytes.  It returns NULL.