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

'wt dump' crashes when given table with unknown collator

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor - P4
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.9.2, 3.2.13, 3.4.4, 3.5.6
    • Component/s: None
    • Labels:
      None

      Description

      Hi!

      Got core of wt utility when trying to dump table with custom collator:

      $ ./wt -h db/persistence/sor_se/si_db/wt dump custom_audit
      [1488971242:417885][7144:0x7fd1b71a8740], file:custom_audit.wt, WT_SESSION.open_cursor: unknown compressor 'snappy': Invalid argument
      lt-wt: cursor open(table:custom_audit) failed: Invalid argument
      Segmentation fault (core dumped)
      

      When running under valgrind it complains about double-free:

      $ LD_LIBRARY_PATH=.libs valgrind --tool=memcheck --leak-check=full --show-reachable=yes --track-fds=yes --time-stamp=yes --num-callers=20 .libs/wt -h db/persistence/sor_se/si_db/wt dump custom_audit
      ==00:00:00:00.000 6837== Memcheck, a memory error detector
      ==00:00:00:00.000 6837== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
      ==00:00:00:00.000 6837== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
      ==00:00:00:00.000 6837== Command: .libs/wt -h db/persistence/sor_se/si_db/wt dump custom_audit
      ==00:00:00:00.000 6837== 
      [1488971071:63672][6837:0x40338c0], file:custom_audit.wt, WT_SESSION.open_cursor: unknown compressor 'snappy': Invalid argument
      wt: cursor open(table:custom_audit) failed: Invalid argument
      ==00:00:00:01.243 6837== Invalid free() / delete / delete[] / realloc()
      ==00:00:00:01.244 6837==    at 0x4C28D17: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==00:00:00:01.244 6837==    by 0x4F1535F: __wt_schema_destroy_table (schema_list.c:201)
      ==00:00:00:01.244 6837==    by 0x4F15A32: __wt_schema_remove_table (schema_list.c:235)
      ==00:00:00:01.244 6837==    by 0x4F15A32: __wt_schema_close_tables (schema_list.c:249)
      ==00:00:00:01.244 6837==    by 0x4F27F19: __session_close (session_api.c:223)
      ==00:00:00:01.244 6837==    by 0x4E9B3E0: __conn_close (conn_api.c:1086)
      ==00:00:00:01.244 6837==    by 0x4019E2: main (util_main.c:238)
      ==00:00:00:01.244 6837==  Address 0x5c509c0 is 0 bytes inside a block of size 19 free'd
      ==00:00:00:01.244 6837==    at 0x4C28D17: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==00:00:00:01.244 6837==    by 0x4EC6506: __wt_cursor_close (cur_std.c:557)
      ==00:00:00:01.244 6837==    by 0x4EC9FAB: __wt_curtable_open (cur_table.c:993)
      ==00:00:00:01.244 6837==    by 0x4F23CB0: __session_open_cursor_int (session_api.c:348)
      ==00:00:00:01.244 6837==    by 0x4F242B9: __session_open_cursor (session_api.c:483)
      ==00:00:00:01.244 6837==    by 0x402F02: util_dump (util_dump.c:115)
      ==00:00:00:01.244 6837==    by 0x4019CE: main (util_main.c:235)
      

      Checked in latest develop branch (62f0543765deaf2f11b3c2e78d82940e500f004b)

        Attachments

          Activity

            People

            • Assignee:
              donald.anderson Donald Anderson
              Reporter:
              Dmitri Shubin Dmitri Shubin
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: