Re: [BUGS] BUG #14722: Segfault in tuplesort_heap_siftup, 32 bitoverflow
От | Sergey Koposov |
---|---|
Тема | Re: [BUGS] BUG #14722: Segfault in tuplesort_heap_siftup, 32 bitoverflow |
Дата | |
Msg-id | 1498755031.21587.73.camel@cmu.edu обсуждение исходный текст |
Ответ на | Re: [BUGS] BUG #14722: Segfault in tuplesort_heap_siftup, 32 bit overflow (Peter Geoghegan <pg@bowt.ie>) |
Список | pgsql-bugs |
On Thu, 2017-06-29 at 09:34 -0700, Peter Geoghegan wrote: > On Thu, Jun 29, 2017 at 9:16 AM, <skoposov@cmu.edu> wrote: > > I have a very large table (40e9 records) that I'm trying to create the index > > on and I am getting a segmentation fault that could be traced as far as I > > understand to a 32 bit int overflow in tuplesort_heap_siftup > > Can your print the Tuplesortstate (the variable "state") within GDB, > and post it here? Here it is (it is a different run, as I closed the previous session, but the bug is 100% reproduceable). Program received signal SIGSEGV, Segmentation fault. 0x0000000000914cf8 in tuplesort_heap_siftup (state=0x234ffe8, checkIndex=1 '\001') at tuplesort.c:3014 3014 HEAPCOMPARE(&memtuples[j], &memtuples[j + 1]) > 0) (gdb) print (state) $1 = (Tuplesortstate *) 0x234ffe8 (gdb) print (*state) $2 = {status = TSS_BUILDRUNS, nKeys = 1, randomAccess = 0 '\000', bounded = 0 '\000', boundUsed = 0 '\000', bound = 0, availMem = -6442450776, allowedMem = 75161927680, maxTapes = 262144, tapeRange = 262143, sortcontext = 0x234e5c8, tapeset = 0x7fbf032a3048, comparetup = 0x918d8a <comparetup_index_btree>, copytup = 0x919bbc <copytup_index>, writetup = 0x91a243 <writetup_index>, readtup = 0x91a31f <readtup_index>, memtuples = 0x7fb283aa1048, memtupcount = 1342177275, memtupsize = 1342177279, growmemtuples = 0 '\000', currentRun = 0, mergeactive = 0x7fc80aab9048 "", mergenext = 0x7fc80a23e048, mergelast = 0x7fc809ebc048, mergeavailslots = 0x7fc809dbb048, mergeavailmem = 0x7fc8096ba048, mergefreelist = 0, mergefirstfree = 0, Level = 1, destTape = 0, tp_fib = 0x7fc8095b9048, tp_runs = 0x7fc8094b8048, tp_dummy = 0x7fc8093b7048, tp_tapenum = 0x7fc8081b7048, activeTapes = 0, result_tape = -1, current = 0, eof_reached = 0 '\000', markpos_block = 0, markpos_offset = 0, markpos_eof = 0 '\000', tupDesc = 0x0, sortKeys = 0x2350288, onlyKey = 0x0, abbrevNext = 10, indexInfo = 0x0, estate = 0x0, heapRel = 0x7fd040f32f78, indexRel = 0x7fd040f3b8e0, enforceUnique = 0 '\000', hash_mask = 0, datumType = 0, datumTypeLen = 0, datumTypeByVal = 0 '\000', ru_start = {tv = {tv_sec = 0, tv_usec= 0}, ru = {ru_utime = {tv_sec = 0, tv_usec = 0}, ru_stime = {tv_sec = 0, tv_usec = 0}, ru_maxrss = 0, ru_ixrss = 0, ru_idrss= 0, ru_isrss = 0, ru_minflt = 0, ru_majflt = 0, ru_nswap = 0, ru_inblock = 0, ru_oublock = 0, ru_msgsnd = 0, ru_msgrcv = 0, ru_nsignals = 0, ru_nvcsw = 0, ru_nivcsw = 0}}} Regards, Sergey -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
В списке pgsql-bugs по дате отправления: