Re: BUG #16184: Segmentation Fault during update

From: Piotr Włodarczyk <piotrwlodarczyk89(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16184: Segmentation Fault during update
Date: 2020-01-31 12:59:11
Message-ID: CAP-dhMo+cYuDtRvcwq_MziauaJrJw-_8VJpoy_MG1eH548Ym5g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)entry=0x2ae9520)
at execMain.c:2735
#1 0x0000000000616cfb in EvalPlanQual (epqstate=epqstate(at)entry=0x2ae9520,
relation=relation(at)entry=0x7f694c76f838, rti=14,
inputslot=inputslot(at)entry=0x31bc408)
at execMain.c:2454
#2 0x0000000000638bdf in ExecUpdate (mtstate=mtstate(at)entry=0x2ae9428,
tupleid=0x7ffc94e3cf40, oldtuple=0x0, slot=<optimized out>,
planSlot=0x312fc28, epqstate=epqstate(at)entry=0x2ae9520,
estate=estate(at)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(at)entry=0x2be30a0,
isTopLevel=isTopLevel(at)entry=true, setHoldSnapshot=setHoldSnapshot(at)entry=false,
dest=dest(at)entry=0x2f82d88, altdest=altdest(at)entry=0x2f82d88,
completionTag=completionTag(at)entry=0x7ffc94e3d250 "") at pquery.c:1283
#9 0x00000000007643b5 in PortalRun (portal=portal(at)entry=0x2be30a0,
count=count(at)entry=9223372036854775807, isTopLevel=isTopLevel(at)entry=true,
run_once=run_once(at)entry=true, dest=dest(at)entry=0x2f82d88,
altdest=altdest(at)entry=0x2f82d88,
completionTag=completionTag(at)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(at)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(at)entry=7,
argv=argv(at)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(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> PG Bug reporting form <noreply(at)postgresql(dot)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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Eisentraut 2020-01-31 13:21:27 Re: BUG #16239: It is not possible to upgrade the password from md5 to SCRAM
Previous Message PG Bug reporting form 2020-01-31 11:44:42 BUG #16239: It is not possible to upgrade the password from md5 to SCRAM