Re: BUG #16036: Segmentation fault while doing an update

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: druidvav@gmail.com,pgsql-bugs@lists.postgresql.org,PG Bug reporting form <noreply@postgresql.org>
Date: 2019-10-04T01:09:01Z
Lists: pgsql-bugs
Hi, 

On October 3, 2019 5:29:44 PM PDT, PG Bug reporting form <noreply@postgresql.org> wrote:
>The following bug has been logged on the website:
>
>Bug reference:      16036
>Logged by:          Антон Власов
>Email address:      druidvav@gmail.com
>PostgreSQL version: 12.0
>Operating system:   PostgreSQL 12.0 (Debian 12.0-1.pgdg90+1) on x86_64
>Description:        
>
>I am having segmentation fault like this:
>
>2019-10-04 02:30:02 MSK [16919-6] LOG:  server process (PID 18415) was
>terminated by signal 11: Segmentation fault
>2019-10-04 02:30:02 MSK [16919-7] DETAIL:  Failed process was running:
>update tracking.test_session set list_position = list_position + 1
>where id
>= $1
>2019-10-04 02:30:02 MSK [16919-8] LOG:  terminating any other active
>server
>processes
>
>When there are several queries running simultaneously. Tried to get
>some
>info from coredump, but that's all i have:
>
>(gdb) bt
>#0  GetMemoryChunkContext (pointer=0x0) at
>./build/../src/include/utils/memutils.h:127
>#1  pfree (pointer=0x0) at
>./build/../src/backend/utils/mmgr/mcxt.c:1033
>Backtrace stopped: Cannot access memory at address 0x7ffc990e7218

Hm, can you reproduce this? If so, any chance to package this up in a reproducible manner?

If not, could you check whether the problem vanishes if you set jit=off? If so, could you try getting a backtrace after setting jit_debugging_support=1?


Regards,

Andres
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Commits

  1. Disable one more set of tests from c8841199509.

  2. Disable one set of tests from c8841199509.

  3. Add isolation tests for the combination of EPQ and triggers.

  4. Fix crash caused by EPQ happening with a before update trigger present.

  5. Modify the isolation tester so that multiple sessions can wait.