-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Storage - Ra 2020-05-18
-
5
format failing with assert:
WT_SESSION.rollback_transaction: __wt_rec_upd_select, 420: __wt_txn_upd_visible_all(session, tombstone) && upd_select->upd == NULL
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f0a3eb9b801 in __GI_abort () at abort.c:79
#2 0x000056317fda481f in __wt_abort (session=0x563180516390) at src/os_common/os_abort.c:30
#3 0x000056317ff250a9 in __wt_rec_upd_select (session=0x563180516390, r=0x7f0a24209520, ins=0x0,
ripcip=0x7f0a185b98e0, vpack=0x7f0a3ad3a920, upd_select=0x7f0a3ad3a840)
at src/reconcile/rec_visibility.c:419
#4 0x000056317ff22036 in __wt_rec_row_leaf (session=0x563180516390, r=0x7f0a24209520,
pageref=0x7f0a2c22f0a0, salvage=0x0) at src/reconcile/rec_row.c:750
#5 0x000056317fdc26bf in __reconcile (session=0x563180516390, ref=0x7f0a2c22f0a0, salvage=0x0,
flags=140, page_lockedp=0x7f0a3ad3aa8a) at src/reconcile/rec_write.c:174
#6 0x000056317fdc234a in __wt_reconcile (session=0x563180516390, ref=0x7f0a2c22f0a0, salvage=0x0,
flags=140) at src/reconcile/rec_write.c:87
#7 0x000056317fd76eaf in __evict_review (session=0x563180516390, ref=0x7f0a2c22f0a0,
evict_flags=0, inmem_splitp=0x7f0a3ad3ab52) at src/evict/evict_page.c:653
#8 0x000056317fd753b7 in __wt_evict (session=0x563180516390, ref=0x7f0a2c22f0a0,
previous_state=3 '\003', flags=0) at src/evict/evict_page.c:177
#9 0x000056317fd71ddb in __evict_page (session=0x563180516390, is_server=false)
at src/evict/evict_lru.c:2263
#10 0x000056317fd723e8 in __wt_cache_eviction_worker (session=0x563180516390, busy=false,
readonly=false, pct_full=100.35381703307414) at src/evict/evict_lru.c:2350
#11 0x000056317fe078ce in __wt_cache_eviction_check (session=0x563180516390, busy=false,
readonly=false, didworkp=0x0) at ./src/include/cache.i:427
#12 0x000056317fe0d04b in __wt_txn_rollback (session=0x563180516390, cfg=0x7f0a3ad3ae10)
at src/txn/txn.c:1564
#13 0x000056317fde79fc in __session_rollback_transaction (wt_session=0x563180516390, config=0x0)
at src/session/session_api.c:1735
#14 0x000056317fd0b89b in rollback_transaction (tinfo=0x563182773f50) at ops.c:485
#15 0x000056317fd0ceb6 in ops (arg=0x563182773f50) at ops.c:1000
#16 0x00007f0a3ef536db in start_thread (arg=0x7f0a3ad3b700) at pthread_create.c:463
#17 0x00007f0a3ec7c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) frame 3
#3 0x000056317ff250a9 in __wt_rec_upd_select (session=0x563180516390, r=0x7f0a24209520, ins=0x0,
ripcip=0x7f0a185b98e0, vpack=0x7f0a3ad3a920, upd_select=0x7f0a3ad3a840)
at src/reconcile/rec_visibility.c:419
419 WT_ASSERT(
(gdb) list 410,430
410 * globally visible. In this case, the on page value is not appended. Check that.
411 */
412 if (last_upd->next != NULL) {
413 WT_ASSERT(session, last_upd->next->txnid == vpack->tw.start_txn &&
414 last_upd->next->start_ts == vpack->tw.start_ts &&
415 last_upd->next->type == WT_UPDATE_STANDARD && last_upd->next->next == NULL);
416 upd_select->upd = last_upd->next;
417 __wt_time_window_set_start(select_tw, last_upd->next);
418 } else {
419 WT_ASSERT(
420 session, __wt_txn_upd_visible_all(session, tombstone) && upd_select->upd == NULL);
421 upd_select->upd = tombstone;
422 }
423 }
424 }
425
426 /*
427 * If we found a tombstone with a time pair earlier than the update it applies to, which can
428 * happen if the application performs operations with timestamps out-of-order, make it invisible
429 * by making the start time pair match the stop time pair of the tombstone. We don't guarantee
430 * that older readers will be able to continue reading content that has been made invisible by
(gdb) p last_upd
$1 = (WT_UPDATE *) 0x7f0a1846f7d0
(gdb) p last_upd.next
$2 = (WT_UPDATE *) 0x0