[sqlsmith] Failed assertion in _hash_splitbucket_guts

Поиск
Список
Период
Сортировка
От Andreas Seltenreich
Тема [sqlsmith] Failed assertion in _hash_splitbucket_guts
Дата
Msg-id 877f7i2hmf.fsf@credativ.de
обсуждение исходный текст
Ответы Re: [sqlsmith] Failed assertion in _hash_splitbucket_guts  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
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=<optimizedout>, 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
limit1 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
offset2)\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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jim Nasby
Дата:
Сообщение: HaveNFreeProcs() iterates through entire freeProcs list
Следующее
От: Thomas Munro
Дата:
Сообщение: Re: Dynamic shared memory areas