Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Done
-
WT2.6.1
-
None
-
None
Description
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!
Attachments
Issue Links
- is depended on by
-
SERVER-21349 WiredTiger changes for 3.2.0-rc3
-
- Closed
-
-
SERVER-21549 WiredTiger changes for 3.2.0-rc4
-
- Closed
-