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

WT_CURSOR.modify has incorrect API wrapping macros

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.5.12, WT3.0.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage 2017-08-21

      Test run
      http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/16060/console

      I have run the config in question on my linux machine against revision 9494eb2899e010c378f882348ff3b58d37ecab08 and was able to reproduce the issue.

      From reading, it appears that we are performing a __wt_session_copy_values operation without a txn set as part of a cursor modify operation via row_modify in format.

      Error

      [1501461896:189304][10489:0x7f0de8ff9700], t: ../src/session/session_api.c, 73: txn_state->pinned_id != WT_TXN_NONE || (WT_PREFIX_MATCH(cursor->uri, "file:") && F_ISSET((WT_CURSOR_BTREE *)cursor, WT_CBT_NO_TXN))
      [1501461896:189352][10489:0x7f0de8ff9700], t: aborting WiredTiger library
      Aborted (core dumped)
      

      trace

      (gdb) t 1
      [Switching to thread 1 (Thread 0x7f0de8ff9700 (LWP 10559))]
      #0  0x00007f0e0f71c8c0 in raise () from /usr/lib/libc.so.6
      (gdb) bt
      #0  0x00007f0e0f71c8c0 in raise () from /usr/lib/libc.so.6
      #1  0x00007f0e0f71df72 in abort () from /usr/lib/libc.so.6
      #2  0x0000558bb983232b in __wt_abort (session=0x558bbb441070) at ../src/os_common/os_abort.c:25
      #3  0x0000558bb9873e73 in __wt_assert (session=0x558bbb441070, error=0, file_name=0x558bb995ddf8 "../src/session/session_api.c", line_number=73,
          fmt=0x558bb995ddf5 "%s") at ../src/support/err.c:501
      #4  0x0000558bb98635c5 in __wt_session_copy_values (session=0x558bbb441070) at ../src/session/session_api.c:70
      #5  0x0000558bb980b728 in __cursor_modify (cursor=0x7f0de409abe0, entries=0x7f0de8ff7c50, nentries=5) at ../src/cursor/cur_std.c:636
      #6  0x0000558bb97e41a5 in row_modify (tinfo=0x558bbb52e300, cursor=0x7f0de409abe0, key=0x7f0de8ff7e50, value=0x7f0de8ff7e80, keyno=88923, positioned=true)
          at ../../../test/format/ops.c:1339
      #7  0x0000558bb97e2d19 in ops (arg=0x558bbb52e300) at ../../../test/format/ops.c:805
      #8  0x00007f0e100c9049 in start_thread () from /usr/lib/libpthread.so.0
      #9  0x00007f0e0f7d6f0f in clone () from /usr/lib/libc.so.6
      

      config

      ############################################
      #  RUN PARAMETERS
      ############################################
      abort=0
      alter=0
      auto_throttle=1
      backups=0
      bitcnt=1
      bloom=0
      bloom_bit_count=52
      bloom_hash_count=26
      bloom_oldest=0
      cache=31
      checkpoints=0
      checksum=on
      chunk_size=1
      compaction=0
      compatibility=none
      compression=none
      data_extend=0
      data_source=lsm
      delete_pct=4
      dictionary=0
      direct_io=0
      encryption=rotn-7
      evict_max=3
      file_type=row-store
      firstfit=0
      huffman_key=0
      huffman_value=0
      in_memory=0
      insert_pct=22
      internal_key_truncation=1
      internal_page_max=17
      isolation=random
      key_gap=18
      key_max=77
      key_min=18
      leaf_page_max=15
      leak_memory=0
      logging=0
      logging_archive=0
      logging_compression=none
      logging_prealloc=0
      long_running_txn=0
      lsm_worker_threads=4
      merge_max=10
      mmap=1
      modify_pct=21
      ops=100000
      prefix_compression=1
      prefix_compression_min=3
      quiet=1
      read_pct=6
      rebalance=1
      repeat_data_pct=16
      reverse=0
      rows=100000
      runs=1
      salvage=1
      split_pct=58
      statistics=1
      statistics_server=0
      threads=31
      timer=20
      transaction_timestamps=0
      transaction-frequency=62
      value_max=710
      value_min=18
      verify=1
      wiredtiger_config=
      write_pct=47
      ############################################
      

            Assignee:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Reporter:
            david.hows David Hows
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: