-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: WT2.6.1
-
Component/s: None
-
None
Hi!
After we enable LZ4 block compression for our column-store table WT started to crash with the following backtrace:
#1 <signal handler called> #2 0x00007fe1a02f75eb in __rec_split_raw_worker (session=0x7fe18fc40500, r=0x7fe18d85f600, next_len=0, no_more_rows=1) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:2234 #3 0x00007fe1a02f4c72 in __rec_split_finish (session=0x7fe18fc40500, r=0x7fe18d85f600) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:2635 #4 0x00007fe1a02f330d in __rec_col_var (session=0x7fe18fc40500, r=<optimized out>, page=<optimized out>, salvage=<optimized out>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:4009 #5 __wt_reconcile (session=0x7fe18fc40500, ref=0x7fe19a7d1b80, salvage=<optimized out>, flags=0) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:406 #6 0x00007fe1a029ab47 in __sync_file (session=<optimized out>, syncop=<optimized out>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/btree/bt_sync.c:77 #7 __wt_cache_op (session=0x7fe18fc40500, ckptbase=<optimized out>, op=16) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/btree/bt_sync.c:257 #8 0x00007fe1a03117c3 in __checkpoint_apply (session=0x7fe18fc40500, cfg=0x7fe188bf5950, op=0x7fe1a0311890 <__checkpoint_write_leaves>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/txn/txn_ckpt.c:184 #9 0x00007fe1a0310ad6 in __wt_txn_checkpoint (session=0x7fe18fc40500, cfg=0x7fe188bf5950) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/txn/txn_ckpt.c:405 #10 0x00007fe1a0308bc6 in __session_checkpoint (wt_session=0x7fe18fc40500, config=<optimized out>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/session/session_api.c:997 #11 0x00007fe1a02aefe0 in __ckpt_server (arg=0x7fe18fc40500) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/conn/conn_ckpt.c:95 #12 0x00007fe19ecd49d1 in start_thread () from /lib64/libpthread.so.0 #13 0x00007fe19ea218fd in clone () from /lib64/libc.so.6 (gdb) f 2 #2 0x00007fe1a02f75eb in __rec_split_raw_worker (session=0x7fe18fc40500, r=0x7fe18d85f600, next_len=0, no_more_rows=1) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:2234 2234 r->raw_recnos[slots] = recno; (gdb) p r->raw_recnos $1 = (uint64_t *) 0x0 (gdb) l 2229 r->raw_offsets[++slots] = 2230 WT_STORE_SIZE(len - WT_BLOCK_COMPRESS_SKIP); 2231 2232 if (dsk->type == WT_PAGE_COL_INT || 2233 dsk->type == WT_PAGE_COL_VAR) 2234 r->raw_recnos[slots] = recno; 2235 r->raw_entries[slots] = entry; 2236 } 2237 2238 /* (gdb) p dsk->type $2 = 4 '\004'
Moreover it also crashes while trying to recover this DB with similar backtrace:
#1 <signal handler called> #2 0x00007f3740d625eb in __rec_split_raw_worker (session=0x7f372f45b900, r=0x7f37395aaa00, next_len=0, no_more_rows=1) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:2234 #3 0x00007f3740d5fc72 in __rec_split_finish (session=0x7f372f45b900, r=0x7f37395aaa00) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:2635 #4 0x00007f3740d5e30d in __rec_col_var (session=0x7f372f45b900, r=<optimized out>, page=<optimized out>, salvage=<optimized out>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:4009 #5 __wt_reconcile (session=0x7f372f45b900, ref=0x7f37395f9cd0, salvage=<optimized out>, flags=0) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:406 #6 0x00007f3740d05b47 in __sync_file (session=<optimized out>, syncop=<optimized out>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/btree/bt_sync.c:77 #7 __wt_cache_op (session=0x7f372f45b900, ckptbase=<optimized out>, op=16) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/btree/bt_sync.c:257 #8 0x00007f3740d7c7c3 in __checkpoint_apply (session=0x7f372f45b900, cfg=0x7fffaf15ee80, op=0x7f3740d7c890 <__checkpoint_write_leaves>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/txn/txn_ckpt.c:184 #9 0x00007f3740d7bad6 in __wt_txn_checkpoint (session=0x7f372f45b900, cfg=0x7fffaf15ee80) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/txn/txn_ckpt.c:405 #10 0x00007f3740d73bc6 in __session_checkpoint (wt_session=0x7f372f45b900, config=<optimized out>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/session/session_api.c:997 #11 0x00007f3740d802f2 in __wt_txn_recover (session=<optimized out>) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/txn/txn_recover.c:523 #12 0x00007f3740d1d4e9 in __wt_connection_workers (session=0x7f372f45b000, cfg=0x7fffaf15efb0) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/conn/conn_open.c:237 #13 0x00007f3740d1641f in wiredtiger_open (home=<optimized out>, event_handler=<optimized out>, config=<optimized out>, wt_connp=0x7f37397c2400) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/conn/conn_api.c:2024 ... (gdb) f 2 #2 0x00007f3740d625eb in __rec_split_raw_worker (session=0x7f372f45b900, r=0x7f37395aaa00, next_len=0, no_more_rows=1) at /tb/builds/thd/sbn/2.6/src/thirdparty/wiredtiger/2.6.1/src/src/reconcile/rec_write.c:2234 2234 r->raw_recnos[slots] = recno; (gdb) p r->raw_recnos $1 = (uint64_t *) 0x0 (gdb) p dsk->type $2 = 4 '\004'
I'll attach broken DB and small C program that simply tries to open it (with recovery) and crashes.
Thanks!
- is depended on by
-
SERVER-21349 WiredTiger changes for 3.2.0-rc3
- Closed
-
SERVER-21549 WiredTiger changes for 3.2.0-rc4
- Closed