test/format failed with this CONFIG running the alter branch:
############################################ # RUN PARAMETERS ############################################ abort=0 alter=1 auto_throttle=1 backups=0 bitcnt=8 bloom=1 bloom_bit_count=35 bloom_hash_count=30 bloom_oldest=0 cache=85 checkpoints=0 checksum=on chunk_size=7 compaction=0 compression=none data_extend=0 data_source=table delete_pct=29 dictionary=0 direct_io=0 encryption=none evict_max=1 file_type=row-store firstfit=0 huffman_key=0 huffman_value=0 in_memory=1 insert_pct=23 internal_key_truncation=1 internal_page_max=15 isolation=read-committed key_gap=18 key_max=32 key_min=13 leaf_page_max=12 leak_memory=0 logging=0 logging_archive=0 logging_compression=none logging_prealloc=0 long_running_txn=0 lsm_worker_threads=4 merge_max=16 mmap=0 modify_pct=28 ops=100000 prefix_compression=1 prefix_compression_min=6 quiet=1 read_pct=3 rebalance=0 repeat_data_pct=85 reverse=0 rows=100000 runs=1 salvage=0 split_pct=70 statistics=0 statistics_server=0 threads=13 timer=20 transaction_timestamps=0 transaction-frequency=16 value_max=80 value_min=9 verify=0 wiredtiger_config= write_pct=17 ############################################
The stack is:
Program terminated with signal 11, Segmentation fault. #0 0x00000000004362c4 in __evict_page_dirty_update (session=0x19e2580, ref=0x7f5d800026f0, closing=true) at ../src/evict/evict_page.c:305 305 switch (mod->rec_result) { Missing separate debuginfos, use: debuginfo-install glibc-2.17-106.167.amzn1.x86_64 lz4-r131-1.3.amzn1.x86_64 snappy-1.0.5-1.1.amzn1.x86_64 zlib-1.2.8-7.18.amzn1.x86_64 (gdb) p mod $1 = (WT_PAGE_MODIFY *) 0x0 Thread 1 (Thread 0x7f5d767fc700 (LWP 31752)): #0 0x00000000004362c4 in __evict_page_dirty_update (session=0x19e2580, ref=0x7f5d800026f0, closing=true) at ../src/evict/evict_page.c:305 #1 0x0000000000435d04 in __wt_evict (session=0x19e2580, ref=0x7f5d800026f0, closing=true) at ../src/evict/evict_page.c:187 #2 0x0000000000518ec2 in __wt_evict_file (session=0x19e2580, syncop=WT_SYNC_CLOSE) at ../src/evict/evict_file.c:92 #3 0x00000000004dc0e8 in __wt_cache_op (session=0x19e2580, op=WT_SYNC_CLOSE) at ../src/btree/bt_sync.c:307 #4 0x00000000004a18f9 in __checkpoint_tree (session=0x19e2580, is_checkpoint=false, cfg=0x0) at ../src/txn/txn_ckpt.c:1473 #5 0x00000000004a2030 in __wt_checkpoint_close (session=0x19e2580, final=false) at ../src/txn/txn_ckpt.c:1706 #6 0x00000000004f5b04 in __wt_conn_btree_sync_and_close (session=0x19e2580, final=false, force=false) at ../src/conn/conn_dhandle.c:203 #7 0x00000000004f67eb in __conn_dhandle_close_one (session=0x19e2580, uri=0x7f5d3c001550 "file:wt.wt", checkpoint=0x0, force=false) at ../src/conn/conn_dhandle.c:509 #8 0x00000000004f6918 in __wt_conn_dhandle_close_all (session=0x19e2580, uri=0x7f5d3c001550 "file:wt.wt", force=false) at ../src/conn/conn_dhandle.c:551 #9 0x000000000047bae2 in __wt_schema_worker (session=0x19e2580, uri=0x7f5d3c001550 "file:wt.wt", file_func=0x52e580 <__wt_alter>, name_func=0x0, cfg=0x7f5d767fbe60, open_flags=268) at ../src/schema/schema_worker.c:52 #10 0x000000000047befe in __wt_schema_worker (session=0x19e2580, uri=0x19c7580 "table:wt", file_func=0x52e580 <__wt_alter>, name_func=0x0, cfg=0x7f5d767fbe60, open_flags=268) at ../src/schema/schema_worker.c:96 #11 0x000000000047d777 in __session_alter (wt_session=0x19e2580, uri=0x19c7580 "table:wt", config=0x7f5d767fbec0 "access_pattern_hint=none") at ../src/session/session_api.c:162 #12 0x000000000040ce7f in alter (arg=0x0) at ../../../test/format/util.c:504 #13 0x00007f5d88114dc5 in start_thread () from /lib64/libpthread.so.0 #14 0x00007f5d8781bc9d in clone () from /lib64/libc.so.6
Although this test (in my WT-3310 branch) is using alter, it is any operation that calls wt_schema_worker. I have reproduced the segfault calling session->rebalance instead (including on develop). It appears to be related to the in-memory setting because if I turn off in_memory in the CONFIG I cannot reproduce.