Re: BUG #16184: Segmentation Fault during update - Mailing list pgsql-bugs

From Piotr Włodarczyk
Subject Re: BUG #16184: Segmentation Fault during update
Date
Msg-id CAP-dhMo+cYuDtRvcwq_MziauaJrJw-_8VJpoy_MG1eH548Ym5g@mail.gmail.com
Whole thread Raw
In response to Re: BUG #16184: Segmentation Fault during update  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #16184: Segmentation Fault during update  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Hi,

sorry for the late reply, but it was not so easy to get more logs. So what we have now is listed below:

(gdb) bt
#0  0x0000000000616912 in EvalPlanQualBegin (epqstate=epqstate@entry=0x2ae9520) at execMain.c:2735
#1  0x0000000000616cfb in EvalPlanQual (epqstate=epqstate@entry=0x2ae9520, relation=relation@entry=0x7f694c76f838, rti=14, inputslot=inputslot@entry=0x31bc408) at execMain.c:2454
#2  0x0000000000638bdf in ExecUpdate (mtstate=mtstate@entry=0x2ae9428, tupleid=0x7ffc94e3cf40, oldtuple=0x0, slot=<optimized out>, planSlot=0x312fc28, epqstate=epqstate@entry=0x2ae9520, estate=estate@entry=0x2aff450, canSetTag=true) at nodeModifyTable.c:1387
#3  0x000000000063914d in ExecModifyTable (pstate=0x2ae9428) at nodeModifyTable.c:2223
#4  0x0000000000614302 in ExecProcNode (node=0x2ae9428) at ../../../src/include/executor/executor.h:239
#5  ExecutePlan (execute_once=<optimized out>, dest=0x2f82d88, direction=<optimized out>, numberTuples=0, sendTuples=false, operation=CMD_UPDATE, use_parallel_mode=<optimized out>, planstate=0x2ae9428, estate=0x2aff450) at execMain.c:1646
#6  standard_ExecutorRun (queryDesc=0x2c7c460, direction=<optimized out>, count=0, execute_once=<optimized out>) at execMain.c:364
#7  0x000000000076365a in ProcessQuery (plan=<optimized out>, sourceText=0x2a9d7a0 " UPDATE job_abstract a\n  SET job_status = job_status\n  WHERE (a.xmax :: TEXT :: BIGINT < (SELECT\n", ' ' <repeats 39 times>, "txid_snapshot_xmin(txid_current_snapshot()))) AND ((SELECT\n     "..., params=0x0, queryEnv=0x0,
    dest=0x2f82d88, completionTag=0x7ffc94e3d250 "") at pquery.c:161
#8  0x0000000000763882 in PortalRunMulti (portal=portal@entry=0x2be30a0, isTopLevel=isTopLevel@entry=true, setHoldSnapshot=setHoldSnapshot@entry=false, dest=dest@entry=0x2f82d88, altdest=altdest@entry=0x2f82d88, completionTag=completionTag@entry=0x7ffc94e3d250 "") at pquery.c:1283
#9  0x00000000007643b5 in PortalRun (portal=portal@entry=0x2be30a0, count=count@entry=9223372036854775807, isTopLevel=isTopLevel@entry=true, run_once=run_once@entry=true, dest=dest@entry=0x2f82d88, altdest=altdest@entry=0x2f82d88, completionTag=completionTag@entry=0x7ffc94e3d250 "") at pquery.c:796
#10 0x00000000007604b5 in exec_simple_query (query_string=0x2a9d7a0 " UPDATE job_abstract a\n  SET job_status = job_status\n  WHERE (a.xmax :: TEXT :: BIGINT < (SELECT\n", ' ' <repeats 39 times>, "txid_snapshot_xmin(txid_current_snapshot()))) AND ((SELECT\n     "...) at postgres.c:1215
#11 0x0000000000761782 in PostgresMain (argc=<optimized out>, argv=argv@entry=0x2ac50a8, dbname=0x2ac4f88 "synchro_test", username=<optimized out>) at postgres.c:4236
#12 0x0000000000483d47 in BackendRun (port=<optimized out>, port=<optimized out>) at postmaster.c:4437
#13 BackendStartup (port=0x2abd4c0) at postmaster.c:4128
#14 ServerLoop () at postmaster.c:1704
#15 0x00000000006f106f in PostmasterMain (argc=argc@entry=7, argv=argv@entry=0x2a98330) at postmaster.c:1377
#16 0x0000000000484cd3 in main (argc=7, argv=0x2a98330) at main.c:228
(gdb)

Is it enought?

On Thu, Jan 2, 2020 at 4:33 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
PG Bug reporting form <noreply@postgresql.org> writes:
> Log:
> 2020-01-02 15:42:26 CET [12729]: [95-1] user=,db=,xid=0,state=00000 LOG:
> server process (PID 28879) was terminated by signal 11: Segmentation fault
> 2020-01-02 15:42:26 CET [12729]: [96-1] user=,db=,xid=0,state=00000 DETAIL:
> Failed process was running: UPDATE job_abstract a
>           SET job_status = job_status
>           WHERE (a.xmax :: TEXT :: BIGINT < (SELECT
> txid_snapshot_xmin(txid_current_snapshot()))) AND ((SELECT

Clearly a bug, but there's not much we can do with this amount of
information.  If you can provide a stack trace, that'd be helpful.

https://wiki.postgresql.org/wiki/Generating_a_stack_trace_of_a_PostgreSQL_backend

> Reproducting this bug is not easy and I don't know which conditions has to
> be met to replicate this bug. But during application is working and we made
> this update, segmentation fault occurs. But sometimes it works.

My gut instinct is that this might be a concurrent-update problem,
which would explain the lack of reproducibility.  Try to get
multiple sessions to update the same table row(s) at the same time.

Also, we had some bugs of that ilk on 12.0, please make sure you
really are updated to 12.1.

                        regards, tom lane


--

Pozdrawiam
Piotr Włodarczyk

pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #16239: It is not possible to upgrade the password from md5 to SCRAM
Next
From: Peter Eisentraut
Date:
Subject: Re: BUG #16239: It is not possible to upgrade the password from md5to SCRAM