-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
5
-
Storage - Ra 2020-05-18
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