Re: pg11.1: dsa_area could not attach to segment

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
Subject: Re: pg11.1: dsa_area could not attach to segment
Date: 2019-02-05 18:34:54
Message-ID: 20190205183454.GS29720@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

And here's the "dsa_allocate could not find %zu free pages" error with core.

@@ -726,5 +728,5 @@ dsa_allocate_extended(dsa_area *area, size_t size, int flags)
*/
- if (!FreePageManagerGet(segment_map->fpm, npages, &first_page))
- elog(FATAL,
- "dsa_allocate could not find %zu free pages", npages);
+ assert (FreePageManagerGet(segment_map->fpm, npages, &first_page));
+
+ // if (!FreePageManagerGet(segment_map->fpm, npages, &first_page)) elog(PANIC, "dsa_allocate could not find %zu free pages", npages);
LWLockRelease(DSA_AREA_LOCK(area));

< 2019-02-05 13:23:29.137 EST >LOG: background worker "parallel worker" (PID 7140) was terminated by signal 6: Aborted
< 2019-02-05 13:23:29.137 EST >DETAIL: Failed process was running: explain analyze SELECT * FROM eric_enodeb_metrics WHERE start_time>='2017-10-01' AND (site_id<1900 OR site_id>2700)

#0 0x00000037b9c32495 in raise () from /lib64/libc.so.6
#1 0x00000037b9c33c75 in abort () from /lib64/libc.so.6
#2 0x00000037b9c2b60e in __assert_fail_base () from /lib64/libc.so.6
#3 0x00000037b9c2b6d0 in __assert_fail () from /lib64/libc.so.6
#4 0x00000000008c6f74 in dsa_allocate_extended (area=0x27c05e0, size=393220, flags=5) at dsa.c:729
#5 0x000000000068521f in pagetable_allocate (pagetable=<value optimized out>, size=<value optimized out>) at tidbitmap.c:1511
#6 0x00000000006876d2 in pagetable_grow (tbm=0x7f84a8d86a58, pageno=1635) at ../../../src/include/lib/simplehash.h:383
#7 pagetable_insert (tbm=0x7f84a8d86a58, pageno=1635) at ../../../src/include/lib/simplehash.h:508
#8 tbm_get_pageentry (tbm=0x7f84a8d86a58, pageno=1635) at tidbitmap.c:1225
#9 0x0000000000687c50 in tbm_add_tuples (tbm=0x7f84a8d86a58, tids=<value optimized out>, ntids=1, recheck=false) at tidbitmap.c:405
#10 0x00000000004e43df in btgetbitmap (scan=0x2829fa8, tbm=0x7f84a8d86a58) at nbtree.c:332
#11 0x00000000004d8a91 in index_getbitmap (scan=0x2829fa8, bitmap=<value optimized out>) at indexam.c:726
#12 0x0000000000647c98 in MultiExecBitmapIndexScan (node=0x2829720) at nodeBitmapIndexscan.c:104
#13 0x0000000000646078 in MultiExecBitmapOr (node=0x28046e8) at nodeBitmapOr.c:153
#14 0x0000000000646afd in BitmapHeapNext (node=0x2828db8) at nodeBitmapHeapscan.c:145
#15 0x000000000063a550 in ExecScanFetch (node=0x2828db8, accessMtd=0x6469e0 <BitmapHeapNext>, recheckMtd=0x646740 <BitmapHeapRecheck>) at execScan.c:95
#16 ExecScan (node=0x2828db8, accessMtd=0x6469e0 <BitmapHeapNext>, recheckMtd=0x646740 <BitmapHeapRecheck>) at execScan.c:162
#17 0x0000000000638ce0 in ExecProcNodeInstr (node=0x2828db8) at execProcnode.c:461
#18 0x00000000006414fc in ExecProcNode (pstate=<value optimized out>) at ../../../src/include/executor/executor.h:237
#19 ExecAppend (pstate=<value optimized out>) at nodeAppend.c:294
#20 0x0000000000638ce0 in ExecProcNodeInstr (node=0x27cb0a0) at execProcnode.c:461
#21 0x00000000006349c7 in ExecProcNode (queryDesc=0x7f84a8de7520, direction=<value optimized out>, count=0, execute_once=160) at ../../../src/include/executor/executor.h:237
#22 ExecutePlan (queryDesc=0x7f84a8de7520, direction=<value optimized out>, count=0, execute_once=160) at execMain.c:1723
#23 standard_ExecutorRun (queryDesc=0x7f84a8de7520, direction=<value optimized out>, count=0, execute_once=160) at execMain.c:364
#24 0x00007f84a97c8618 in pgss_ExecutorRun (queryDesc=0x7f84a8de7520, direction=ForwardScanDirection, count=0, execute_once=true) at pg_stat_statements.c:892
#25 0x00007f84a91aa7dd in explain_ExecutorRun (queryDesc=0x7f84a8de7520, direction=ForwardScanDirection, count=0, execute_once=true) at auto_explain.c:268
#26 0x0000000000635071 in ParallelQueryMain (seg=0x268fba8, toc=0x7f84a93ed000) at execParallel.c:1402
#27 0x0000000000508f34 in ParallelWorkerMain (main_arg=<value optimized out>) at parallel.c:1409
#28 0x0000000000704760 in StartBackgroundWorker () at bgworker.c:834
#29 0x000000000070e11c in do_start_bgworker () at postmaster.c:5698
#30 maybe_start_bgworkers () at postmaster.c:5911
#31 0x0000000000710786 in sigusr1_handler (postgres_signal_arg=<value optimized out>) at postmaster.c:5091
#32 <signal handler called>
#33 0x00000037b9ce1603 in __select_nocancel () from /lib64/libc.so.6
#34 0x000000000071300e in ServerLoop (argc=<value optimized out>, argv=<value optimized out>) at postmaster.c:1670
#35 PostmasterMain (argc=<value optimized out>, argv=<value optimized out>) at postmaster.c:1379
#36 0x000000000067e8c0 in main (argc=3, argv=0x265f960) at main.c:228

#0 0x00000037b9c32495 in raise () from /lib64/libc.so.6
No symbol table info available.
#1 0x00000037b9c33c75 in abort () from /lib64/libc.so.6
No symbol table info available.
#2 0x00000037b9c2b60e in __assert_fail_base () from /lib64/libc.so.6
No symbol table info available.
#3 0x00000037b9c2b6d0 in __assert_fail () from /lib64/libc.so.6
No symbol table info available.
#4 0x00000000008c6f74 in dsa_allocate_extended (area=0x27c05e0, size=393220, flags=5) at dsa.c:729
npages = 97
first_page = <value optimized out>
span_pointer = 1099511632488
pool = 0x7f84a93eecf0
size_class = <value optimized out>
start_pointer = <value optimized out>
segment_map = <value optimized out>
result = 140207751879680
__func__ = "dsa_allocate_extended"
__PRETTY_FUNCTION__ = "dsa_allocate_extended"
#5 0x000000000068521f in pagetable_allocate (pagetable=<value optimized out>, size=<value optimized out>) at tidbitmap.c:1511
tbm = 0x7f84a8d86a58
ptbase = <value optimized out>
#6 0x00000000006876d2 in pagetable_grow (tbm=0x7f84a8d86a58, pageno=1635) at ../../../src/include/lib/simplehash.h:383
olddata = 0x7f84a8d23004
i = <value optimized out>
copyelem = <value optimized out>
startelem = 0
oldsize = <value optimized out>
newdata = <value optimized out>
#7 pagetable_insert (tbm=0x7f84a8d86a58, pageno=1635) at ../../../src/include/lib/simplehash.h:508
hash = 218584604
startelem = <value optimized out>
curelem = <value optimized out>
data = <value optimized out>
insertdist = 0
#8 tbm_get_pageentry (tbm=0x7f84a8d86a58, pageno=1635) at tidbitmap.c:1225
page = <value optimized out>
found = <value optimized out>
#9 0x0000000000687c50 in tbm_add_tuples (tbm=0x7f84a8d86a58, tids=<value optimized out>, ntids=1, recheck=false) at tidbitmap.c:405
blk = <value optimized out>
off = 14
wordnum = <value optimized out>
bitnum = <value optimized out>
currblk = <value optimized out>
page = <value optimized out>
i = <value optimized out>
__func__ = "tbm_add_tuples"
#10 0x00000000004e43df in btgetbitmap (scan=0x2829fa8, tbm=0x7f84a8d86a58) at nbtree.c:332
so = 0x2843c90
ntids = 5842
heapTid = <value optimized out>
#11 0x00000000004d8a91 in index_getbitmap (scan=0x2829fa8, bitmap=<value optimized out>) at indexam.c:726
ntids = <value optimized out>
__func__ = "index_getbitmap"
#12 0x0000000000647c98 in MultiExecBitmapIndexScan (node=0x2829720) at nodeBitmapIndexscan.c:104
tbm = 0x7f84a8d86a58
scandesc = 0x2829fa8
nTuples = <value optimized out>
doscan = <value optimized out>
#13 0x0000000000646078 in MultiExecBitmapOr (node=0x28046e8) at nodeBitmapOr.c:153
subnode = 0x2829720
subresult = <value optimized out>
bitmapplans = <value optimized out>
nplans = 2
i = <value optimized out>
result = 0x7f84a8d86a58
__func__ = "MultiExecBitmapOr"
#14 0x0000000000646afd in BitmapHeapNext (node=0x2828db8) at nodeBitmapHeapscan.c:145
econtext = 0x2828b08
scan = 0x282d808
tbm = <value optimized out>
tbmiterator = 0x0
shared_tbmiterator = 0x0
tbmres = <value optimized out>
targoffset = <value optimized out>
slot = 0x282a888
pstate = 0x7f84a93eda40
dsa = 0x27c05e0
__func__ = "BitmapHeapNext"

Justin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2019-02-05 18:43:19 Re: Commit Fest 2019-01 is now closed
Previous Message Tomas Vondra 2019-02-05 18:20:29 Re: Protect syscache from bloating with negative cache entries