Re: invalid memory alloc request size from pg_stat_activity?

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Euler Taveira <euler@timbira.com.br>
Cc: James Tomson <james@pushd.com>, pgsql-bugs@lists.postgresql.org, Eric Jensen <ej@pushd.com>
Date: 2019-05-07T14:55:13Z
Lists: pgsql-bugs
On 2019-May-07, Euler Taveira wrote:

> Em seg, 6 de mai de 2019 às 20:04, James Tomson <james@pushd.com> escreveu:
> >
> > ourdb=> SELECT pid, state, age(query_start, clock_timestamp()), usename, query FROM pg_stat_activity WHERE query != '<IDLE>' AND state != 'idle' ORDER BY age limit 100;
> > ERROR:  invalid memory alloc request size 1652113408
> >
> That is because it is limited to 1GB - 1.
> 
> > Maybe this has to do with us setting track_activity_query_size=102400? Is there a known safe maximum for that, or could there be some other problem?
> >
> Question is: why do you want to return such a big query text? That's
> impractical for admin/monitoring tools. We can usually identify a
> query with 1024 bytes (that is the default).

Hmm, but 102400 is only 100kB, nowhere near the 1GB-1 limit, so there's
something odd going on there.

I would start investigating by attaching a debugger and setting a
breakpoint on 'errfinish', then running the above query; past the
backtrace here, as it might be illuminating.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Avoid "invalid memory alloc request size" while reading pg_stat_activity.