Re: [HACKERS] [COMMITTERS] pgsql: Improve 64bit atomics support. - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [HACKERS] [COMMITTERS] pgsql: Improve 64bit atomics support.
Date
Msg-id 20170407225521.dyfyj4hqdqbz4klz@alvherre.pgsql
Whole thread Raw
Responses Re: [HACKERS] [COMMITTERS] pgsql: Improve 64bit atomics support.  (Andres Freund <andres@anarazel.de>)
List 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:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=arapaima&dt=2017-04-07%2022%3A06%3A59

Program terminated with signal 6, Aborted.
#0  0x00c6a402 in __kernel_vsyscall ()
#0  0x00c6a402 in __kernel_vsyscall ()
#1  0x00284b10 in raise () from /lib/libc.so.6
#2  0x00286421 in abort () from /lib/libc.so.6
#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                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Claudio Freire
Date:
Subject: Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem
Next
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] Interval for launching the table sync worker