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

Fix type incompatibilities during alloc and free of memory for async ops

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT10.0.0, 4.4.0-rc0, 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • 5
    • Storage Engines 2020-03-23, Storage Engines 2020-04-06

      wiredtiger configured with "statistics=[all]" crashes test_async01.py

      From analysing core:

      (gdb) bt
      #0  0x00007f210d0ca733 in __wt_calloc (session=0x56292672be68, number=1, size=16, retp=0x7ffd9d1e1108) at ../src/os_common/os_alloc.c:50
      #1  0x00007f210d3c351e in _wrap_Connection_async_new_op (self=<optimised out>, args=<optimised out>) at wiredtiger_wrap.c:8665
      #2  0x000056292577044e in PyEval_EvalFrameEx ()
      #3  0x000056292576c462 in PyEval_EvalFrameEx ()
      #4  0x0000562925764b3a in PyEval_EvalCodeEx ()
      #5  0x0000562925780a9d in ?? ()
      #6  0x000056292575090e in PyObject_Call ()
      #7  0x0000562925769d99 in PyEval_EvalFrameEx ()
      #8  0x0000562925764b3a in PyEval_EvalCodeEx ()
      #9  0x0000562925780809 in ?? ()
      #10 0x000056292579956e in ?? ()
      #11 0x000056292575090e in PyObject_Call ()
      #12 0x00005629257f651b in ?? ()
      #13 0x000056292576c650 in PyEval_EvalFrameEx ()
      #14 0x0000562925764b3a in PyEval_EvalCodeEx ()
      #15 0x0000562925780a9d in ?? ()
      #16 0x000056292575090e in PyObject_Call ()
      #17 0x0000562925769d99 in PyEval_EvalFrameEx ()
      #18 0x0000562925764b3a in PyEval_EvalCodeEx ()
      #19 0x0000562925780809 in ?? ()
      #20 0x000056292579956e in ?? ()
      #21 0x000056292575090e in PyObject_Call ()
      #22 0x00005629257f651b in ?? ()
      #23 0x000056292576c650 in PyEval_EvalFrameEx ()
      #24 0x000056292576c462 in PyEval_EvalFrameEx ()
      #25 0x000056292576c462 in PyEval_EvalFrameEx ()
      #26 0x0000562925764b3a in PyEval_EvalCodeEx ()
      #27 0x000056292579550f in ?? ()
      #28 0x0000562925790202 in PyRun_FileExFlags ()
      #29 0x000056292578fcad in PyRun_SimpleFileExFlags ()
      #30 0x000056292573ed7b in Py_Main ()
      #31 0x00007f210ea001c1 in __libc_start_main (main=0x56292573e6e0 <main>, argc=5, argv=0x7ffd9d1e2818, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7ffd9d1e2808)
          at ../csu/libc-start.c:308
      #32 0x000056292573e5fa in _start ()
      (gdb) f 0
      #0  0x00007f210d0ca733 in __wt_calloc (session=0x56292672be68, number=1, size=16, retp=0x7ffd9d1e1108) at ../src/os_common/os_alloc.c:50
      50			WT_STAT_CONN_INCR(session, memory_allocation);
      (gdb) p (session)->stat_bucket
      $1 = 645054928
      (gdb) p session
      $2 = (WT_SESSION_IMPL *) 0x56292672be68
      

      The stat_bucket value doesn't look right to me.

      It will also be worthwhile to run the whole python test suite with statistics enabled to check if other tests fail.

            Assignee:
            keith.smith@mongodb.com Keith Smith
            Reporter:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: