Hit this running a similar config to WT-6266:
Core was generated by `./t -c 6266'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000557a2627bfca in __txn_resolve_prepared_op (session=0x7ff7ef1eb278, op=0x7ff7c0136ab0, commit=false, cursorp=0x7ff7cfffed70) at ../src/txn/txn.c:892 892 for (; upd->txnid == WT_TXN_ABORTED; upd = upd->next) [Current thread is 1 (Thread 0x7ff7cffff700 (LWP 22343))] b(gdb) bt #0 0x0000557a2627bfca in __txn_resolve_prepared_op (session=0x7ff7ef1eb278, op=0x7ff7c0136ab0, commit=false, cursorp=0x7ff7cfffed70) at ../src/txn/txn.c:892 #1 0x0000557a2627dc29 in __wt_txn_rollback (session=0x7ff7ef1eb278, cfg=0x7ff7cfffee10) at ../src/txn/txn.c:1651 #2 0x0000557a2625680b in __session_rollback_transaction (wt_session=0x7ff7ef1eb278, config=0x0) at ../src/session/session_api.c:1735 #3 0x0000557a2617be0b in rollback_transaction (tinfo=0x557a27e4c7b0) at ../../../test/format/ops.c:475 #4 0x0000557a2617d43b in ops (arg=0x557a27e4c7b0) at ../../../test/format/ops.c:991 #5 0x00007ff7ee9d36db in start_thread (arg=0x7ff7cffff700) at pthread_create.c:463 #6 0x00007ff7ee6fc88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) f 0 #0 0x0000557a2627bfca in __txn_resolve_prepared_op (session=0x7ff7ef1eb278, op=0x7ff7c0136ab0, commit=false, cursorp=0x7ff7cfffed70) at ../src/txn/txn.c:892 892 for (; upd->txnid == WT_TXN_ABORTED; upd = upd->next)
Config
############################################ # RUN PARAMETERS: V2 ############################################ assert.commit_timestamp=0 assert.read_timestamp=0 backup=0 backup.incremental=off btree.bitcnt=3 btree.compression=none btree.dictionary=0 btree.huffman_key=1 btree.huffman_value=1 btree.internal_key_truncation=1 btree.internal_page_max=10 btree.key_gap=14 btree.key_max=57 btree.key_min=14 btree.leaf_page_max=15 btree.memory_page_max=5 btree.prefix_compression=1 btree.prefix_compression_min=1 btree.repeat_data_pct=5 btree.reverse=0 btree.split_pct=95 btree.value_max=732 btree.value_min=16 cache=77 cache.evict_max=0 cache.minimum=20 checkpoint=on checkpoint.log_size=158 checkpoint.wait=98 disk.checksum=uncompressed disk.data_extend=0 disk.direct_io=0 disk.encryption=none disk.firstfit=0 disk.mmap=1 disk.mmap_all=0 format.abort=0 format.independent_thread_rng=1 format.major_timeout=0 logging=0 logging.archive=0 logging.compression=none logging.file_max=269980 logging.prealloc=0 lsm.auto_throttle=1 lsm.bloom=1 lsm.bloom_bit_count=14 lsm.bloom_hash_count=29 lsm.bloom_oldest=0 lsm.chunk_size=1 lsm.merge_max=15 lsm.worker_threads=4 ops.alter=0 ops.compaction=0 ops.pct.delete=0 ops.pct.insert=50 ops.pct.modify=0 ops.pct.read=0 ops.pct.write=50 ops.prepare=1 ops.random_cursor=0 ops.rebalance=1 ops.salvage=1 ops.truncate=0 ops.verify=1 quiet=1 runs=1 runs.in_memory=0 runs.ops=0 runs.rows=10000 runs.source=table runs.threads=6 runs.timer=4 runs.type=row-store statistics=0 statistics.server=0 stress.aggressive_sweep=0 stress.checkpoint=0 stress.hs_sweep=0 stress.split_1=0 stress.split_2=0 stress.split_3=0 stress.split_4=0 stress.split_5=0 stress.split_6=0 stress.split_7=1 stress.split_8=0 transaction.frequency=100 transaction.isolation=snapshot transaction.timestamps=1 wiredtiger.config= wiredtiger.rwlock=1 wiredtiger.leak_memory=0 ############################################
We expect to always find an update when we attempt to resolve a prepared update, in this case we didn't.