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

split stress test

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • WT2.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      I've been using a little test program to pound on WT-2182, and it always fails in a run or two with the current develop branch:

      file:xx, eviction-worker: src/evict/evict_page.c, 478:
      LF_ISSET(WT_EVICT_LOOKASIDE) || __wt_page_is_modified(page) ||
          __wt_txn_visible_all(session, page->modify->rec_max_txn)
      file:xx, eviction-worker: aborting WiredTiger library
      file:xx, eviction-worker: process ID 47149: waiting for debugger...
      
      
      (gdb) where
      #0  0x0000000800d0006a in select () from /lib/libc.so.7
      #1  0x00000008009b1b02 in select () from /lib/libthr.so.3
      #2  0x000000000044bf9a in __wt_sleep (seconds=100, micro_seconds=0)
          at src/os_posix/os_sleep.c:23
      #3  0x0000000000485e77 in __wt_attach (session=0x801447800)
          at src/support/global.c:118
      #4  0x0000000000528077 in __wt_abort (session=0x801447800)
          at src/os_posix/os_abort.c:22
      #5  0x00000000004854ec in __wt_assert (session=0x801447800, error=0, 
          file_name=0x55dc02 "src/evict/evict_page.c", line_number=478, 
          fmt=0x56d8a7 "%s") at src/support/err.c:469
      #6  0x000000000042ccfa in __evict_review (session=0x801447800, 
          ref=0x8124fb550, inmem_splitp=0x7fffff7fbb3e, closing=false)
          at src/evict/evict_page.c:475
      #7  0x000000000042c07b in __wt_evict (session=0x801447800, ref=0x8124fb550, 
          closing=false) at src/evict/evict_page.c:79
      #8  0x0000000000428273 in __evict_page (session=0x801447800, is_server=false)
          at src/evict/evict_lru.c:1467
      #9  0x0000000000427ccf in __wt_cache_eviction_worker (session=0x801447800, 
          busy=false, pct_full=95) at src/evict/evict_lru.c:1552
      #10 0x000000000054e3b3 in __wt_cache_eviction_check (session=0x801447800, 
          busy=false, didworkp=0x0) at cache.i:256
      #11 0x000000000054e21d in __cursor_enter (session=0x801447800) at cursor.i:63
      #12 0x000000000054e190 in __curfile_enter (cbt=0x80181c300) at cursor.i:96
      #13 0x0000000000549a2b in __cursor_func_init (cbt=0x80181c300, reenter=true)
          at cursor.i:200
      #14 0x000000000054a2ba in __wt_btcur_insert (cbt=0x80181c300)
          at src/btree/bt_cursor.c:498
      #15 0x00000000004fc8d9 in __curfile_insert (cursor=0x80181c300)
          at src/cursor/cur_file.c:245
      #16 0x0000000000403e27 in insert_append (arg=0x0) at op.c:90
      

      It's a simple test program: a tiny cache with a single thread inserting records (either a roughly random or append-only workload), and N eviction worker, cursor-next and cursor-prev threads.

        1. t.c
          4 kB

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: