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

test/format hangs on ppc64le

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

      table_append is running in an infinite loop.

      (gdb) bt
      #0  table_append (keyno=1399945) at ops.c:991
      #1  col_insert (key=0x3fff9725e658, keynop=<synthetic pointer>, value=0x3fff9725e680, cursor=<optimized out>, tinfo=0x1003604d370) at ops.c:1103
      #2  ops (arg=0x1003604d370) at ops.c:466
      #3  0x00003fff9783833c in start_thread (arg=0x3fff9725f1a0) at pthread_create.c:335
      #4  0x00003fff9777b014 in clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:96
      
      (gdb) p g
      $8 = {progname = 0x3fffee9ef7f9 "t", home = 0x10034540010 "RUNDIR", home_backup = 0x100345400b0 "RUNDIR/BACKUP", home_backup_init = 0x10034540160 "rm -rf RUNDIR/BACKUP && mkdir RUNDIR/BACKUP", home_bdb = 0x100345400d0 "RUNDIR/bdb",
        home_config = 0x10034540070 "RUNDIR/CONFIG", home_init = 0x100345400f0 "test -e RUNDIR || mkdir RUNDIR; cd RUNDIR > /dev/null && rm -rf `ls | sed /rand/d`; mkdir KVS", home_log = 0x10034540030 "RUNDIR/log",
        home_rand = 0x10034540050 "RUNDIR/rand", home_salvage_copy = 0x100345401a0 "cd RUNDIR > /dev/null && rm -rf slvg.copy && mkdir slvg.copy && cp WiredTiger* wt* slvg.copy/", home_stats = 0x10034540090 "RUNDIR/stats",
        helium_mount = 0x0, wts_conn = 0x10034540610, wt_api = 0x10034540c18, rand_log_stop = 1, randfp = 0x10034540210, run_cnt = 26, logging = (unknown: 0), logfp = 0x0, replay = 0, track = 1, workers_finished = 1, backup_lock = {
          __data = {__lock = 0, __nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 1372, __nr_readers_queued = 0, __nr_writers_queued = 0, __writer = 0, __shared = 0, __rwelision = 3 '\003', __pad1 = "\000\000\000\000\000\000",
            __pad2 = 0, __flags = 0}, __size = '\000' <repeats 12 times>, "\\\005", '\000' <repeats 18 times>, "\003", '\000' <repeats 22 times>, __align = 0}, rnd = {v = 3652749031740534779, x = {w = 713814011, z = 850471908}},
        append = 0x1003455e050, append_max = 40, append_cnt = 40, append_lock = {__data = {__lock = 0, __nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 38707, __nr_readers_queued = 0, __nr_writers_queued = 0, __writer = 3970,
            __shared = 0, __rwelision = 0 '\000', __pad1 = "\000\000\000\000\000\000", __pad2 = 0, __flags = 0}, __size = '\000' <repeats 12 times>, "\063\227\000\000\000\000\000\000\000\000\000\000\202\017", '\000' <repeats 29 times>,
          __align = 0}, death_lock = {__data = {__lock = 0, __nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 0, __nr_readers_queued = 0, __nr_writers_queued = 0, __writer = 0, __shared = 0, __rwelision = 0 '\000',
            __pad1 = "\000\000\000\000\000\000", __pad2 = 0, __flags = 0}, __size = '\000' <repeats 55 times>, __align = 0}, uri = 0x10034540480 "table:wt", config_open = 0x0, c_abort = 0, c_auto_throttle = 1, c_backups = 0, c_bitcnt = 6,
        c_bloom = 1, c_bloom_bit_count = 26, c_bloom_hash_count = 16, c_bloom_oldest = 0, c_cache = 1000, c_compact = 0, c_checkpoints = 0, c_checksum = 0x1003454f590 "on", c_chunk_size = 6, c_compression = 0x0,
        c_encryption = 0x1003454f710 "rotn-7", c_config_open = 0x0, c_data_extend = 0, c_data_source = 0x100345405f0 "table", c_delete_pct = 17, c_dictionary = 0, c_direct_io = 0, c_evict_max = 4, c_firstfit = 0,
        c_file_type = 0x10034576bc0 "variable-length column-store", c_huffman_key = 0, c_huffman_value = 0, c_in_memory = 1, c_insert_pct = 29, c_internal_key_truncation = 1, c_intl_page_max = 12, c_isolation = 0x1003454f550 "random",
        c_key_gap = 0, c_key_max = 83, c_key_min = 29, c_leaf_page_max = 16, c_leak_memory = 0, c_logging = 0, c_logging_archive = 0, c_logging_compression = 0x10034540590 "zlib-noraw", c_logging_prealloc = 1, c_long_running_txn = 0,
        c_lsm_worker_threads = 3, c_merge_max = 14, c_mmap = 1, c_ops = 1166687, c_prefix_compression = 0, c_prefix_compression_min = 4, c_repeat_data_pct = 67, c_reverse = 0, c_rows = 517426, c_runs = 0, c_salvage = 0, c_split_pct = 70,
        c_statistics = 0, c_statistics_server = 0, c_threads = 4, c_timer = 20, c_value_max = 128, c_value_min = 8, c_verify = 0, c_write_pct = 65, type = 3, c_checksum_flag = 2, c_compression_flag = 8, c_logging_compression_flag = 9,
        c_encryption_flag = 2, c_isolation_flag = 1, key_cnt = 517426, rows = 1399904, key_rand_len = {98378, 48, 44, 29, 31, 30, 45, 48, 39, 38, 33, 44, 44, 43, 45, 42, 32, 49, 38, 47, 38, 33, 30, 32, 42, 32, 48, 31, 40, 29, 29, 36, 31,
          32, 46, 30, 30, 40, 39, 32, 63, 39, 34, 46, 39, 35, 43, 40, 48, 31, 36, 36, 34, 45, 48, 43, 39, 30, 48, 46, 82, 36, 34, 31, 49, 39, 39, 43, 47, 41, 30, 31, 35, 31, 39, 33, 46, 31, 42, 49, 81, 30, 36, 39, 33, 39, 33, 48, 31, 45,
          36, 31, 30, 34, 40, 46, 43, 29, 45, 39, 46, 36, 33, 35, 30, 43, 34, 36, 49, 34, 41, 33, 49, 47, 43, 34, 39, 42, 37, 41, 33, 40, 29, 47, 39, 40, 46, 49, 34, 49, 34, 40, 39, 45, 48, 31, 38, 42, 45, 44, 52, 38, 32, 29, 34, 44, 38,
          38, 41, 37, 37, 30, 33, 32, 31, 40, 43, 34, 33, 40, 63, 47, 43, 35, 46, 46, 37, 48, 45, 42, 32, 47, 33, 44, 44, 35, 34, 39, 34, 41, 82, 36, 33, 37, 33, 48, 33, 42, 32, 34, 33, 29, 33, 34, 30, 29, 33, 29, 42, 34...}}
      (gdb) p g.rows
      $9 = 1399904
      

      Config:

      ############################################
      #  RUN PARAMETERS
      ############################################
      abort=0
      auto_throttle=1
      backups=0
      bitcnt=6
      bloom=1
      bloom_bit_count=26
      bloom_hash_count=16
      bloom_oldest=0
      cache=1000
      checkpoints=0
      checksum=on
      chunk_size=6
      compaction=0
      compression=
      data_extend=0
      data_source=table
      delete_pct=17
      dictionary=0
      direct_io=0
      encryption=rotn-7
      evict_max=4
      file_type=variable-length column-store
      firstfit=0
      huffman_key=0
      huffman_value=0
      in_memory=1
      insert_pct=29
      internal_key_truncation=1
      internal_page_max=12
      isolation=random
      key_gap=0
      key_max=83
      key_min=29
      leaf_page_max=16
      leak_memory=0
      logging=0
      logging_archive=0
      logging_compression=zlib-noraw
      logging_prealloc=1
      long_running_txn=0
      lsm_worker_threads=3
      merge_max=14
      mmap=1
      ops=1166687
      prefix_compression=0
      prefix_compression_min=4
      repeat_data_pct=67
      reverse=0
      rows=517426
      runs=0
      salvage=0
      split_pct=70
      statistics=0
      statistics_server=0
      threads=4
      timer=20
      value_max=128
      value_min=8
      verify=0
      wiredtiger_config=
      write_pct=65
      ############################################
      

      Ran with this patch since I did not have lz4 installed, and a fix for larger page sizes in ppc64.

      diff --git a/src/os_posix/os_map.c b/src/os_posix/os_map.c
      index e95ccb0..e636fd1 100644
      --- a/src/os_posix/os_map.c
      +++ b/src/os_posix/os_map.c
      @@ -48,7 +48,7 @@ __wt_mmap(WT_SESSION_IMPL *session,
              return (0);
       }
      
      -#define        WT_VM_PAGESIZE  4096
      +#define        WT_VM_PAGESIZE 65536
      
       /*
        * __wt_mmap_preload --
      diff --git a/test/format/config.c b/test/format/config.c
      index 7aa4575..aaa1097 100644
      --- a/test/format/config.c
      +++ b/test/format/config.c
      @@ -263,11 +263,7 @@ config_compression(const char *conf_name)
                              cstr = "bzip-raw";
                              break;
                      case 7: case 8: case 9: case 10:        /* 20% lz4 */
      -                       cstr = "lz4";
      -                       break;
                      case 11:                                /* 5% lz4-no-raw */
      -                       cstr = "lz4-noraw";
      -                       break;
                      case 12: case 13: case 14: case 15:     /* 20% snappy */
                              cstr = "snappy";
                              break;
      

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            mark.benvenuto@mongodb.com Mark Benvenuto
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: