Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations - Mailing list pgsql-hackers
From | Andres Freund |
---|---|
Subject | Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations |
Date | |
Msg-id | 20220331032844.j7wu5ijjpx3qay5c@alap3.anarazel.de Whole thread Raw |
In response to | Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations (Peter Geoghegan <pg@bowt.ie>) |
Responses |
Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations
Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations |
List | pgsql-hackers |
Hi, I was able to trigger the crash. cat ~/tmp/pgbench-createdb.sql CREATE DATABASE pgb_:client_id; DROP DATABASE pgb_:client_id; pgbench -n -P1 -c 10 -j10 -T100 -f ~/tmp/pgbench-createdb.sql while I was also running for i in $(seq 1 100); do echo iteration $i; make -Otarget -C contrib/ -s installcheck -j48 -s prove_installcheck=true USE_MODULE_DB=1> /tmp/ci-$i.log 2>&1; done I triggered twice now, but it took a while longer the second time. (gdb) bt full #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 set = {__val = {4194304, 0, 0, 0, 0, 0, 216172782113783808, 2, 2377909399344644096, 18446497967838863616, 0, 0, 0,0, 0, 0}} pid = <optimized out> tid = <optimized out> ret = <optimized out> #1 0x00007fe49a2db546 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0}}, sa_flags = 0, sa_restorer = 0x107e0} sigs = {__val = {32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} #2 0x00007fe49b9706f1 in ExceptionalCondition (conditionName=0x7fe49ba0618d "diff > 0", errorType=0x7fe49ba05bd1 "FailedAssertion", fileName=0x7fe49ba05b90 "/home/andres/src/postgresql/src/backend/access/heap/vacuumlazy.c", lineNumber=724) at /home/andres/src/postgresql/src/backend/utils/error/assert.c:69 No locals. #3 0x00007fe49b2fc739 in heap_vacuum_rel (rel=0x7fe497a8d148, params=0x7fe49c130d7c, bstrategy=0x7fe49c130e10) at /home/andres/src/postgresql/src/backend/access/heap/vacuumlazy.c:724 buf = { data = 0x7fe49c17e238 "automatic vacuum of table \"contrib_regression_dict_int.pg_catalog.pg_database\": indexscans: 1\npages: 0 removed, 3 remain, 3 scanned (100.00% of total)\ntuples: 49 removed, 53 remain, 9 are dead but no"...,len = 279, maxlen = 1024, cursor = 0} msgfmt = 0x7fe49ba06038 "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" diff = 0 endtime = 702011687982080 vacrel = 0x7fe49c19b5b8 verbose = false instrument = true ru0 = {tv = {tv_sec = 1648696487, tv_usec = 975963}, ru = {ru_utime = {tv_sec = 0, tv_usec = 0}, ru_stime = {tv_sec= 0, tv_usec = 3086}, { --Type <RET> for more, q to quit, c to continue without paging--c ru_maxrss = 10824, __ru_maxrss_word = 10824}, {ru_ixrss = 0, __ru_ixrss_word = 0}, {ru_idrss = 0, __ru_idrss_word= 0}, {ru_isrss = 0, __ru_isrss_word = 0}, {ru_minflt = 449, __ru_minflt_word = 449}, {ru_majflt = 0, __ru_majflt_word= 0}, {ru_nswap = 0, __ru_nswap_word = 0}, {ru_inblock = 0, __ru_inblock_word = 0}, {ru_oublock = 0, __ru_oublock_word= 0}, {ru_msgsnd = 0, __ru_msgsnd_word = 0}, {ru_msgrcv = 0, __ru_msgrcv_word = 0}, {ru_nsignals = 0, __ru_nsignals_word= 0}, {ru_nvcsw = 2, __ru_nvcsw_word = 2}, {ru_nivcsw = 0, __ru_nivcsw_word = 0}}} starttime = 702011687975964 walusage_start = {wal_records = 0, wal_fpi = 0, wal_bytes = 0} walusage = {wal_records = 11, wal_fpi = 7, wal_bytes = 30847} secs = 0 usecs = 6116 read_rate = 16.606033355134073 write_rate = 7.6643230869849575 aggressive = false skipwithvm = true frozenxid_updated = true minmulti_updated = true orig_rel_pages = 3 new_rel_pages = 3 new_rel_allvisible = 0 indnames = 0x7fe49c19bb28 errcallback = {previous = 0x0, callback = 0x7fe49b3012fd <vacuum_error_callback>, arg = 0x7fe49c19b5b8} startreadtime = 180 startwritetime = 0 OldestXmin = 67552 FreezeLimit = 4245034848 OldestMxact = 224 MultiXactCutoff = 4289967520 __func__ = "heap_vacuum_rel" #4 0x00007fe49b523d92 in table_relation_vacuum (rel=0x7fe497a8d148, params=0x7fe49c130d7c, bstrategy=0x7fe49c130e10) at/home/andres/src/postgresql/src/include/access/tableam.h:1680 No locals. #5 0x00007fe49b527032 in vacuum_rel (relid=1262, relation=0x7fe49c1ae360, params=0x7fe49c130d7c) at /home/andres/src/postgresql/src/backend/commands/vacuum.c:2065 lmode = 4 rel = 0x7fe497a8d148 lockrelid = {relId = 1262, dbId = 0} toast_relid = 0 save_userid = 10 save_sec_context = 0 save_nestlevel = 2 __func__ = "vacuum_rel" #6 0x00007fe49b524c3b in vacuum (relations=0x7fe49c1b03a8, params=0x7fe49c130d7c, bstrategy=0x7fe49c130e10, isTopLevel=true)at /home/andres/src/postgresql/src/backend/commands/vacuum.c:482 vrel = 0x7fe49c1ae3b8 cur__state = {l = 0x7fe49c1b03a8, i = 0} cur = 0x7fe49c1b03c0 _save_exception_stack = 0x7fff97e35a10 _save_context_stack = 0x0 _local_sigjmp_buf = {{__jmpbuf = {140735741652128, 6126579318940970843, 9223372036854775747, 0, 0, 0, 6126579318957748059,6139499258682879835}, __mask_was_saved = 0, __saved_mask = {__val = {32, 140619848279000, 8590910454,140619848278592, 32, 140619848278944, 7784, 140619848278592, 140619848278816, 140735741647200, 140619839915137,8458711686435861857, 32, 4869, 140619848278592, 140619848279024}}}} _do_rethrow = false in_vacuum = true stmttype = 0x7fe49baff1a7 "VACUUM" in_outer_xact = false use_own_xacts = true __func__ = "vacuum" #7 0x00007fe49b6d483d in autovacuum_do_vac_analyze (tab=0x7fe49c130d78, bstrategy=0x7fe49c130e10) at /home/andres/src/postgresql/src/backend/postmaster/autovacuum.c:3247 rangevar = 0x7fe49c1ae360 rel = 0x7fe49c1ae3b8 rel_list = 0x7fe49c1ae3f0 #8 0x00007fe49b6d34bc in do_autovacuum () at /home/andres/src/postgresql/src/backend/postmaster/autovacuum.c:2495 _save_exception_stack = 0x7fff97e35d70 _save_context_stack = 0x0 _local_sigjmp_buf = {{__jmpbuf = {140735741652128, 6126579318779490139, 9223372036854775747, 0, 0, 0, 6126579319014371163,6139499700101525339}, __mask_was_saved = 0, __saved_mask = {__val = {140619840139982, 140735741647712,140619841923928, 957, 140619847223443, 140735741647656, 140619847312112, 140619847223451, 140619847223443,140619847224399, 0, 139637976727552, 140619817480714, 140735741647616, 140619839856340, 1024}}}} _do_rethrow = false tab = 0x7fe49c130d78 skipit = false stdVacuumCostDelay = 0 stdVacuumCostLimit = 200 iter = {cur = 0x7fe497668da0, end = 0x7fe497668da0} relid = 1262 classTup = 0x7fe497a6c568 isshared = true cell__state = {l = 0x7fe49c130d40, i = 0} classRel = 0x7fe497a5ae18 tuple = 0x0 relScan = 0x7fe49c130928 dbForm = 0x7fe497a64fb8 table_oids = 0x7fe49c130d40 orphan_oids = 0x0 ctl = {num_partitions = 0, ssize = 0, dsize = 1296236544, max_dsize = 140619847224424, keysize = 4, entrysize = 96,hash = 0x0, match = 0x0, keycopy = 0x0, alloc = 0x0, hcxt = 0x7fff97e35c50, hctl = 0x7fe49b9a787e <AllocSetFree+670>} table_toast_map = 0x7fe49c19d2f0 cell = 0x7fe49c130d58 shared = 0x7fe49c17c360 dbentry = 0x7fe49c18d7a0 bstrategy = 0x7fe49c130e10 key = {sk_flags = 0, sk_attno = 17, sk_strategy = 3, sk_subtype = 0, sk_collation = 950, sk_func = {fn_addr = 0x7fe49b809a6a<chareq>, fn_oid = 61, fn_nargs = 2, fn_strict = true, fn_retset = false, fn_stats = 2 '\002', fn_extra = 0x0,fn_mcxt = 0x7fe49c12f7f0, fn_expr = 0x0}, sk_argument = 116} pg_class_desc = 0x7fe49c12f910 effective_multixact_freeze_max_age = 400000000 did_vacuum = false found_concurrent_worker = false i = 32740 __func__ = "do_autovacuum" #9 0x00007fe49b6d21c4 in AutoVacWorkerMain (argc=0, argv=0x0) at /home/andres/src/postgresql/src/backend/postmaster/autovacuum.c:1719 dbname = "contrib_regression_dict_int\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" local_sigjmp_buf = {{__jmpbuf = {140735741652128, 6126579318890639195, 9223372036854775747, 0, 0, 0, 6126579318785781595,6139499699353759579}, __mask_was_saved = 1, __saved_mask = {__val = {18446744066192964099, 8, 140735741648416,140735741648352, 3156423108750738944, 0, 30, 140735741647888, 140619835812981, 140735741648080, 32666874400,140735741648448, 140619836964693, 140735741652128, 2586778441, 140735741648448}}}} dbid = 205328 __func__ = "AutoVacWorkerMain" #10 0x00007fe49b6d1d5b in StartAutoVacWorker () at /home/andres/src/postgresql/src/backend/postmaster/autovacuum.c:1504 worker_pid = 0 __func__ = "StartAutoVacWorker" #11 0x00007fe49b6e79af in StartAutovacuumWorker () at /home/andres/src/postgresql/src/backend/postmaster/postmaster.c:5635 bn = 0x7fe49c0da920 __func__ = "StartAutovacuumWorker" #12 0x00007fe49b6e745d in sigusr1_handler (postgres_signal_arg=10) at /home/andres/src/postgresql/src/backend/postmaster/postmaster.c:5340 save_errno = 4 __func__ = "sigusr1_handler" #13 <signal handler called> No locals. #14 0x00007fe49a3a9fc4 in __GI___select (nfds=8, readfds=0x7fff97e36c20, writefds=0x0, exceptfds=0x0, timeout=0x7fff97e36ca0)at ../sysdeps/unix/sysv/linux/select.c:71 sc_ret = -4 sc_ret = <optimized out> s = <optimized out> us = <optimized out> ns = <optimized out> ts64 = {tv_sec = 59, tv_nsec = 765565741} pts64 = <optimized out> r = <optimized out> #15 0x00007fe49b6e26c7 in ServerLoop () at /home/andres/src/postgresql/src/backend/postmaster/postmaster.c:1765 timeout = {tv_sec = 60, tv_usec = 0} rmask = {fds_bits = {224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} selres = -1 now = 1648696487 readmask = {fds_bits = {224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} nSockets = 8 last_lockfile_recheck_time = 1648696432 last_touch_time = 1648696072 __func__ = "ServerLoop" #16 0x00007fe49b6e2031 in PostmasterMain (argc=55, argv=0x7fe49c0aa2d0) at /home/andres/src/postgresql/src/backend/postmaster/postmaster.c:1473 opt = -1 status = 0 userDoption = 0x7fe49c0951d0 "/srv/dev/pgdev-dev/" listen_addr_saved = true i = 64 output_config_variable = 0x0 __func__ = "PostmasterMain" #17 0x00007fe49b5d2808 in main (argc=55, argv=0x7fe49c0aa2d0) at /home/andres/src/postgresql/src/backend/main/main.c:202 do_check_root = true Greetings, Andres Freund
pgsql-hackers by date: