Hi,
the new hash index code on 11003eb failed an assertion yesterday:
TRAP: FailedAssertion("!(bucket == obucket)", File: "hashpage.c", Line:
1037)
Statement was
update public.hash_i4_heap set seqno = public.hash_i4_heap.random;
It can be reproduced with the data directory (Debian stretch amd64) I've
put here:
http://ansel.ydns.eu/~andreas/_hash_splitbucket_guts.tar.xz (12 MB)
Backtrace below. The cluster hasn't suffered any crashes before this
incident.
regards,
Andreas
Core was generated by `postgres: smith regression [local] UPDATE
'.
Program terminated with signal SIGABRT, Aborted.
(gdb) bt
#0 0x00007f49c40cc198 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007f49c40cd61a in __GI_abort () at abort.c:89
#2 0x00000000007f55c1 in ExceptionalCondition
(conditionName=conditionName@entry=0x84f890 "!(bucket == obucket)",
errorType=errorType@entry=0x83665d "FailedAssertion",
fileName=fileName@entry=0x84f86a "hashpage.c",
lineNumber=lineNumber@entry=1037) at assert.c:54
#3 0x00000000004a3d41 in _hash_splitbucket_guts (rel=rel@entry=0x1251ff8,
metabuf=metabuf@entry=1703, obucket=obucket@entry=37,
nbucket=nbucket@entry=549, obuf=obuf@entry=3082, nbuf=nbuf@entry=1754,
htab=0x0, maxbucket=549, highmask=1023, lowmask=511) at hashpage.c:1037
#4 0x00000000004a5627 in _hash_splitbucket (lowmask=511, highmask=1023,
maxbucket=549, nbuf=1754, obuf=3082, nbucket=549, obucket=37, metabuf=1703,
rel=0x1251ff8) at hashpage.c:894
#5 _hash_expandtable (rel=0x1251ff8, metabuf=1703) at hashpage.c:768
#6 0x00000000004a1f71 in _hash_doinsert (rel=rel@entry=0x1251ff8,
itup=itup@entry=0x26dc830) at hashinsert.c:236
#7 0x00000000004a01c3 in hashinsert (rel=0x1251ff8, values=<optimized out>,
isnull=<optimized out>, ht_ctid=0x26dc6fc, heapRel=<optimized out>,
checkUnique=<optimized out>) at hash.c:247
#8 0x00000000005ded1b in ExecInsertIndexTuples (slot=slot@entry=0x26dbd10,
tupleid=tupleid@entry=0x26dc6fc, estate=estate@entry=0x2530028,
noDupErr=noDupErr@entry=0 '\000', specConflict=specConflict@entry=0x0,
arbiterIndexes=arbiterIndexes@entry=0x0) at execIndexing.c:388
#9 0x00000000005fddaa in ExecUpdate (tupleid=tupleid@entry=0x7ffcaa7c9e40,
oldtuple=oldtuple@entry=0x0, slot=slot@entry=0x26dbd10,
planSlot=planSlot@entry=0x26db278, epqstate=epqstate@entry=0x26dac98,
estate=estate@entry=0x2530028, canSetTag=1 '\001') at nodeModifyTable.c:1030
#10 0x00000000005fe49c in ExecModifyTable (node=node@entry=0x26dabf0) at
nodeModifyTable.c:1516
#11 0x00000000005e3a18 in ExecProcNode (node=node@entry=0x26dabf0) at
execProcnode.c:396
#12 0x00000000005dfabe in ExecutePlan (dest=0x1c2ecd0, direction=<optimized
out>, numberTuples=0, sendTuples=<optimized out>, operation=CMD_UPDATE,
use_parallel_mode=<optimized out>, planstate=0x26dabf0, estate=0x2530028) at
execMain.c:1567
#13 standard_ExecutorRun (queryDesc=0x1c2ed68, direction=<optimized out>,
count=0) at execMain.c:338
#14 0x0000000000701b94 in ProcessQuery (plan=<optimized out>,
sourceText=0xfff228 "update public.hash_i4_heap set \n seqno =
public.hash_i4_heap.random\nreturning \n (select option_value from
information_schema.foreign_server_options limit 1 offset 2)\n as c0",
params=0x0, dest=0x1c2ecd0, completionTag=0x7ffcaa7ca020 "") at pquery.c:185
#15 0x0000000000701e0b in PortalRunMulti (portal=portal@entry=0x25c52b0,
isTopLevel=isTopLevel@entry=1 '\001', setHoldSnapshot=setHoldSnapshot@entry=1
'\001', dest=dest@entry=0x1c2ecd0, altdest=0xca30e0 <donothingDR>,
completionTag=completionTag@entry=0x7ffcaa7ca020 "") at pquery.c:1299
#16 0x00000000007020f9 in FillPortalStore (portal=portal@entry=0x25c52b0,
isTopLevel=isTopLevel@entry=1 '\001') at pquery.c:1045
#17 0x0000000000702bcd in PortalRun (portal=portal@entry=0x25c52b0,
count=count@entry=9223372036854775807, isTopLevel=isTopLevel@entry=1 '\001',
dest=dest@entry=0x199f248, altdest=altdest@entry=0x199f248,
completionTag=completionTag@entry=0x7ffcaa7ca3d0 "") at pquery.c:782
#18 0x0000000000700379 in exec_simple_query (query_string=0xfff228 "update
public.hash_i4_heap set \n seqno = public.hash_i4_heap.random\nreturning \n
(select option_value from information_schema.foreign_server_options limit 1
offset 2)\n as c0") at postgres.c:1094
#19 PostgresMain (argc=<optimized out>, argv=argv@entry=0xfad1d8,
dbname=<optimized out>, username=<optimized out>) at postgres.c:4069
#20 0x000000000046d6c9 in BackendRun (port=0xfa8c60) at postmaster.c:4271
#21 BackendStartup (port=0xfa8c60) at postmaster.c:3945
#22 ServerLoop () at postmaster.c:1701
#23 0x0000000000698ab9 in PostmasterMain (argc=argc@entry=4,
argv=argv@entry=0xf765d0) at postmaster.c:1309
#24 0x000000000046e88d in main (argc=4, argv=0xf765d0) at main.c:228
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers