Re: [COMMITTERS] pgsql: Improve 64bit atomics support.

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Improve 64bit atomics support.
Date: 2017-04-07 22:55:21
Message-ID: 20170407225521.dyfyj4hqdqbz4klz@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Andres Freund wrote:
> Improve 64bit atomics support.
> When adding atomics back in b64d92f1a, I added 64bit support as
> optional; there wasn't yet a direct user in sight. That turned out to
> be a bit short-sighted, it'd already have been useful a number of times.

Seems like this killed an arapaima:

Program terminated with signal 6, Aborted.
#0 0x00c6a402 in __kernel_vsyscall ()
#0 0x00c6a402 in __kernel_vsyscall ()
#1 0x00284b10 in raise () from /lib/
#2 0x00286421 in abort () from /lib/
#3 0x084d967e in ExceptionalCondition (
conditionName=0xe19dac "(((uintptr_t) ((uintptr_t)(ptr)) + ((8) - 1)) & ~((uintptr_t) ((8) - 1))) != (uintptr_t)(ptr)",
errorType=0xe19831 "UnalignedPointer",
fileName=0xe19d88 "../../../src/include/port/atomics.h", lineNumber=428)
at assert.c:54
#4 0x00e189b0 in pg_atomic_init_u64 ()
at ../../../src/include/port/atomics.h:428
#5 test_atomic_uint64 () at regress.c:1007
#6 0x00e1905d in test_atomic_ops (fcinfo=0x9362584) at regress.c:1097
#7 0x08273ab2 in ExecInterpExpr (state=0x9362510, econtext=0x93622e0,
isnull=0xbfbc1a4b "") at execExprInterp.c:650
#8 0x082990a7 in ExecEvalExprSwitchContext (node=0x9362294)
at ../../../src/include/executor/executor.h:289
#9 ExecProject (node=0x9362294)
at ../../../src/include/executor/executor.h:323
#10 ExecResult (node=0x9362294) at nodeResult.c:132
#11 0x0827c6d5 in ExecProcNode (node=0x9362294) at execProcnode.c:416
#12 0x0827a08d in ExecutePlan (queryDesc=0x92daf38,
direction=ForwardScanDirection, count=0, execute_once=1 '\001')
at execMain.c:1651
#13 standard_ExecutorRun (queryDesc=0x92daf38,
direction=ForwardScanDirection, count=0, execute_once=1 '\001')
at execMain.c:360
#14 0x083cd8bb in PortalRunSelect (portal=0x92d78a8,
forward=<value optimized out>, count=0, dest=0x9337728) at pquery.c:933
#15 0x083cef1e in PortalRun (portal=0x92d78a8, count=2147483647,
isTopLevel=1 '\001', run_once=1 '\001', dest=0x9337728,
altdest=0x9337728, completionTag=0xbfbc1c6a "") at pquery.c:774
#16 0x083cb38f in exec_simple_query (
query_string=0x93360b0 "SELECT test_atomic_ops();") at postgres.c:1105
#17 0x083cc640 in PostgresMain (argc=1, argv=0x92e4160,
dbname=0x92e3fe0 "regression", username=0x92e3fc4 "postgres")
at postgres.c:4075
#18 0x08349eaf in BackendStartup () at postmaster.c:4317
#19 ServerLoop () at postmaster.c:1729
#20 0x0834db50 in PostmasterMain (argc=8, argv=0x92b9968) at postmaster.c:1337
#21 0x082c01e2 in main (argc=8, argv=Cannot access memory at address 0x5aa5
) at main.c:228

Álvaro Herrera
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to


Browse pgsql-committers by date

  From Date Subject
Next Message Alexander Korotkov 2017-04-07 23:16:34 Re: pgsql: Improve 64bit atomics support.
Previous Message Peter Eisentraut 2017-04-07 22:30:18 pgsql: doc: Add missing closing tag

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2017-04-07 23:13:20 Re: Interval for launching the table sync worker
Previous Message Claudio Freire 2017-04-07 22:46:06 Re: Vacuum: allow usage of more than 1GB of work mem