uninterruptable loop: concurrent delete in progress within table - Mailing list pgsql-bugs

The attached script shows a plpgsql function that enters
an infinite loop which is not interrupted by statement_timeout.

Looping message is:

 WARNING:  concurrent delete in progress within table "crash9", xid is 4458893, self is 4458894/4458889
 CONTEXT:  SQL statement "CREATE INDEX ON crash9 USING GIST ( the_geom)"
 PL/pgSQL function crash(regclass) line 148 at EXECUTE statement

Note that the xid and self parts of the WARNING message were added by myself
on request by "andres" (on the freenode IRC channel).

I could reproduce with both 9.3.0 and 9.3.4 (current 9.3 stable branch).

Sounds like a PostgreSQL bug to me, what do you think ?
Is there anything I can do from the plpgsql function to workaround it ?

--strk;

 ()  ASCII ribbon campaign  --  Keep it simple !
 /\  http://strk.keybit.net/rants/ascii_mails.txt

pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: pg_upgrade < 9.3 -> >=9.3 misses a step around multixacts
Next
From: Alvaro Herrera
Date:
Subject: Re: uninterruptable loop: concurrent delete in progress within table