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 (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to