Re: Uninterruptable regexp_replace in 9.3.1 ?

From: Sandro Santilli <strk(at)keybit(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Uninterruptable regexp_replace in 9.3.1 ?
Date: 2014-02-21 10:27:13
Message-ID: 20140221102713.GN6924@localhost
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

I've just tested 9.3.3 and it is _also_ affected.
Should I report the regression somewhere else ?

--strk;

On Fri, Feb 21, 2014 at 10:17:59AM +0100, Sandro Santilli wrote:
> The following snippet reveals that 9.3.1 has a bug
> in regexp_matches, which uninterruptably keeps CPU
> spinning for minutes:
>
> -----8<---------------------------------------------------
>
> \timing
> SET statement_timeout = 2;
> -- this is only to show statement_timeout is effective here
> SELECT count(*) from generate_series(1, 100000);
> -- this one is uninterruptable!
> SELECT regexp_matches($INPUT$
>
>
>
>
>
>
>
>
> /a
> $b$
> $c$d
> ;
> $INPUT$,
> $REG$((?:[^'"$;]+|"[^"]*"|'(?:[^']*|'')*'|(\$[^$]*\$).*?\2)+)$REG$, 'g' );
>
> -----8<---------------------------------------------------
>
> The above has been tested to be harmless with PostgreSQL 9.1.11
> in that the regexp_matches call is interrupted, but it is NOT
> with PostgreSQL 9.3.1.
>
> Is it a known bug ?
>
> Please include my address in replies as I don't get notified
> of list activity. Thanks.
>
> --strk;
>
> ()  ASCII ribbon campaign -- Keep it simple !
> /\  http://strk.keybit.net/rants/ascii_mails.txt

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Alvaro Herrera 2014-02-21 13:47:14 Re: Is there a Support Platforms document more current that this?
Previous Message Sandro Santilli 2014-02-21 09:17:59 Uninterruptable regexp_replace in 9.3.1 ?

Browse pgsql-hackers by date

  From Date Subject
Next Message Ronan Dunklau 2014-02-21 10:31:43 Proposal: IMPORT FOREIGN SCHEMA statement.
Previous Message Sandro Santilli 2014-02-21 09:17:59 Uninterruptable regexp_replace in 9.3.1 ?