Thread

  1. Re: BUG #19336: TRAP: failed Assert("!IsTransactionOrTransactionBlock()")

    Álvaro Herrera <alvherre@kurilemu.de> — 2025-11-27T15:55:25Z

    On 2025-Nov-27, PG Bug reporting form wrote:
    
    > With this parameter in postgresql.conf: debug_parallel_query = on
    > 
    > If you execute the query: SELECT pg_sleep_for('5 minutes');
    > 
    > and then kill the postgres process with signal 9, you get the following in
    > the log:
    > 
    > 2025-11-27 06:44:27.263 UTC [643318] FATAL:  postmaster exited during a
    > parallel transaction
    > TRAP: failed Assert("!IsTransactionOrTransactionBlock()"), File: "pgstat.c",
    > Line: 673, PID: 643318
    > /lib/x86_64-linux-gnu/libasan.so.8(+0x831e0)[0x7058d98831e0]
    > postgres: test postgres 127.0.0.1(44374)
    > SELECT(ExceptionalCondition+0x156)[0x616e63da3dcf]
    > postgres: test postgres 127.0.0.1(44374)
    > SELECT(pgstat_report_stat+0x43)[0x616e635c9ced]
    > postgres: test postgres 127.0.0.1(44374) SELECT(+0x51c29fe)[0x616e635c99fe]
    > postgres: test postgres 127.0.0.1(44374)
    > SELECT(shmem_exit+0x29f)[0x616e633beca2]
    > postgres: test postgres 127.0.0.1(44374) SELECT(+0x4fb7750)[0x616e633be750]
    > 
    > Maybe the Assert shouldn't be printed to the log, and only the following
    > output should remain?
    
    Hmm, why does it matter?  If you've kill -9'd the process, everything
    will be restarted anyway.  It makes no difference whether the assertion
    hits or not, does it?
    
    -- 
    Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
    "Las navajas y los monos deben estar siempre distantes"   (Germán Poo)