Re: BUG #17035: assert after commit
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: rekgrpth@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2021-05-26T17:40:17Z
Lists: pgsql-bugs
On 2021-May-26, Tom Lane wrote:
> PG Bug reporting form <noreply@postgresql.org> writes:
> > after this commit
> > https://github.com/postgres/postgres/commit/d18ee6f92d9a22b4fae57f515797b2196bf385c7
> > I got assert
> > TRAP: FailedAssertion("portal != NULL", File: "pquery.c", Line: 1758)
> > in my plugin
> > https://github.com/RekGRpth/pg_task
>
> I'm inclined to think that means you were doing something you
> should not have been doing. But without any details it's
> hard to say.
Hmm, see for example [1] which is doing SPI_prepare_my() [2] and then
SPI_execute_plan_my() ... Does the SPI interface really require that you
create an ActivePortal in the SPI-calling code? This looks a bit
suspicious to me ...
[1] https://github.com/RekGRpth/pg_task/blob/master/work.c#L703
[2] https://github.com/RekGRpth/pg_task/blob/master/spi.c
--
Álvaro Herrera Valdivia, Chile
Commits
-
Use elog, not Assert, to report failure to provide an outer snapshot.
- f260436459a6 12.8 landed
- ef12f32c0870 15.0 landed
- ec410c985e6d 14.0 landed
- cefb1230e7aa 11.13 landed
- 93f99693f9c2 13.4 landed
-
Restore the portal-level snapshot after procedure COMMIT/ROLLBACK.
- d18ee6f92d9a 13.4 cited