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

testutil_copy functions don't work with absolute homedir paths

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Test Csuite
    • Storage Engines
    • StorEng - Defined Pipeline

      The utility function testutil_copy_data incorrectly constructs a pathname for a save directory when given an absolute path. This causes an error like:

      test_random_abort: FAILED: void testutil_copy_ext(const char *, const char *, const WT_FILE_COPY_OPTS *)/471: mkdir(dest, source_stat.st_mode) == 0: No such file or directory
      

      For example, we get the error above, given this command:

      ./test_random_abort -T 5 -t 10 -h /mnt/data0/sue/13307/S
      

      and the directory constructed is:

      (gdb) frame 5
      #5  0x0000000000408ef3 in testutil_copy_data (
          dir=0x614340 <home> "/mnt/data0/sue/13307/S") at ../test/utility/misc.c:240
      240	    testutil_copy_ext(".", save_dir, &opts);
      (gdb) p save_dir
      $1 = "..//mnt/data0/sue/13307/S.SAVE", '\000' <repeats 426 times>...
      

      The program, immediately before has done a chdir into S and the path that should get constructed would be either ../S.SAVE or /mnt/data0/sue/13307/S/../S.SAVE.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            sue.loverso@mongodb.com Susan LoVerso
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: