Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-6618

Illegal cell type in __inmem_row_leaf

    • Type: Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • 5
    • Storage - Ra 2020-09-21

      Following error was reported in MongoDB 4.0 performance testing (BF-17121):

       file:index-3--3074916529822043226.wt, eviction-server: __inmem_row_leaf, 608: encountered an illegal file format or internal value: 0x0: 

      Following backtrace was extracted from core dump file:

      #0  0x00007f5b72461ae0 in vfprintf () from /lib64/libc.so.6
      #1  0x000055e0c4ccb2a6 in mongo::fassertWithLocation (line=420, file=0x55e0c68008a8 "src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp", testOK=true, msgid=50853)
          at src/mongo/util/assert_util.h:276
      #2  mongo::(anonymous namespace)::mdb_handle_error_with_startup_suppression (handler=<optimized out>, session=<optimized out>, errorCode=8, 
          message=0x3e9da3b9c7603200 <error: Cannot access memory at address 0x3e9da3b9c7603200>) at src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp:420
      #3  0x000055e0c4d35d71 in __eventv (session=0x55e0c93c2ae8, msg_event=msg_event@entry=false, error=error@entry=-31804, func=func@entry=0x55e0c689bb90 <__func__.41418> "__wt_panic", 
          line=line@entry=494, fmt=fmt@entry=0x55e0c6806f80 "the process must exit and restart", ap=0x7f5b6ad8cfd0) at src/third_party/wiredtiger/src/support/err.c:267
      #4  0x000055e0c4b4d029 in __wt_err_func (session=session@entry=0x55e0c93c2ae8, error=error@entry=-31804, func=func@entry=0x55e0c689bb90 <__func__.41418> "__wt_panic", 
          line=line@entry=494, fmt=fmt@entry=0x55e0c6806f80 "the process must exit and restart") at src/third_party/wiredtiger/src/support/err.c:314
      #5  0x000055e0c4b4d443 in __wt_panic (session=0x55e0c93c2ae8) at src/third_party/wiredtiger/src/support/err.c:494
      #6  0x000055e0c4d6e254 in __wt_page_inmem (session=session@entry=0x55e0c93c2ae8, ref=ref@entry=0x55e0ea6f4840, image=<optimized out>, flags=flags@entry=2, 
          pagep=pagep@entry=0x7f5b6ad8d228) at src/third_party/wiredtiger/src/btree/bt_page.c:220
      #7  0x000055e0c4d7beaa in __split_multi_inmem (session=session@entry=0x55e0c93c2ae8, orig=orig@entry=0x55e165835000, multi=multi@entry=0x55e1ae32b460, ref=ref@entry=0x55e0ea6f4840)
          at src/third_party/wiredtiger/src/btree/bt_split.c:1397
      #8  0x000055e0c4d7fd80 in __wt_multi_to_ref (session=0x55e0c93c2ae8, page=0x55e165835000, multi=0x55e1ae32b460, refp=<optimized out>, incrp=0x7f5b6ad8d620, closing=<optimized out>)
          at src/third_party/wiredtiger/src/btree/bt_split.c:1644
      #9  0x000055e0c4d80e23 in __split_multi (closing=false, ref=0x55e114e3a380, session=0x55e0c93c2ae8) at src/third_party/wiredtiger/src/btree/bt_split.c:2048
      #10 __split_multi_lock (closing=0, ref=0x55e114e3a380, session=0x55e0c93c2ae8) at src/third_party/wiredtiger/src/btree/bt_split.c:2094
      #11 __wt_split_multi (session=session@entry=0x55e0c93c2ae8, ref=ref@entry=0x55e114e3a380, closing=closing@entry=0) at src/third_party/wiredtiger/src/btree/bt_split.c:2121
      #12 0x000055e0c4cf826d in __evict_page_dirty_update (evict_flags=0, ref=0x55e114e3a380, session=0x55e0c93c2ae8) at src/third_party/wiredtiger/src/evict/evict_page.c:383
      #13 __wt_evict (session=session@entry=0x55e0c93c2ae8, ref=ref@entry=0x55e114e3a380, previous_state=previous_state@entry=5, flags=flags@entry=0)
          at src/third_party/wiredtiger/src/evict/evict_page.c:192
      #14 0x000055e0c4cf02d4 in __evict_page (session=session@entry=0x55e0c93c2ae8, is_server=is_server@entry=false) at src/third_party/wiredtiger/src/evict/evict_lru.c:2205
      #15 0x000055e0c4cf0843 in __evict_lru_pages (session=session@entry=0x55e0c93c2ae8, is_server=is_server@entry=false) at src/third_party/wiredtiger/src/evict/evict_lru.c:1125
      #16 0x000055e0c4cf32f7 in __wt_evict_thread_run (session=0x55e0c93c2ae8, thread=0x55e0c93976e0) at src/third_party/wiredtiger/src/evict/evict_lru.c:314
      #17 0x000055e0c4d42099 in __thread_run (arg=0x55e0c93976e0) at src/third_party/wiredtiger/src/support/thread_group.c:31
      #18 0x00007f5b727e040b in ?? () from /lib64/libpthread.so.0
      #19 0x0000000000000000 in ?? () 

      Some useful variable dumps from GDB:

      (gdb) p* page
      $3 = {u = {intl = {parent_ref = 0x55e1da651650, split_gen = 0, __index = 0x0}, row = 0x55e1da651650, fix_bitf = 0x55e1da651650 "\246", col_var = {
            col_var = 0x55e1da651650, repeats = 0x0}}, entries = 531, type = 7 '\a', flags_atomic = 2 '\002', unused = "\000", read_gen = 0, 
        memory_footprint = 4328, dsk = 0x55e1daa9b800, modify = 0x0, cache_create_gen = 10689, evict_pass_gen = 0}
      (gdb) p* page->dsk     
      $4 = {recno = 0, write_gen = 15058, mem_size = 8491, u = {entries = 1062, datalen = 1062}, type = 7 '\a', flags = 4 '\004', unused = "\000"}
      (gdb) p/x page->type
      $5 = 0x7 

      Note that we don't have __inmem_row_leaf in the backtrace from GDB.  

            Assignee:
            alex.cameron@mongodb.com Alex Cameron (Inactive)
            Reporter:
            haseeb.bokhari@mongodb.com Haseeb Bokhari (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: