From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: psql - add SHOW_ALL_RESULTS option |
Date: | 2022-01-13 05:44:33 |
Message-ID: | 20220113054433.wdjhidtm7gvyhfts@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2022-01-08 19:32:36 +0100, Fabien COELHO wrote:
> Attached v13 where the crash test is moved to tap.
The reason this test constantly fails on cfbot windows is a use-after-free
bug.
I figured that out in the context of another thread, so the debugging is
there:
https://postgr.es/m/20220113054123.ib4khtafgq34lv4z%40alap3.anarazel.de
> Ah, I see the bug. It's a use-after-free introduced in the patch:
>
> SendQueryAndProcessResults(const char *query, double *pelapsed_msec,
> bool is_watch, const printQueryOpt *opt, FILE *printQueryFout, bool *tx_ended)
>
>
> ...
> /* first result */
> result = PQgetResult(pset.db);
>
>
> while (result != NULL)
>
>
> ...
> if (!AcceptResult(result, false))
> {
> ...
> ClearOrSaveResult(result);
> success = false;
>
>
> /* and switch to next result */
> result_status = PQresultStatus(result);
> if (result_status == PGRES_COPY_BOTH ||
> result_status == PGRES_COPY_OUT ||
> result_status == PGRES_COPY_IN)
>
>
> So we called ClearOrSaveResult() with did a PQclear(), and then we go and call
> PQresultStatus().
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2022-01-13 05:58:17 | Re: Custom Operator for citext LIKE predicates question |
Previous Message | Andres Freund | 2022-01-13 05:41:23 | Re: Windows vs recovery tests |