test_ovfl01 TypeError: in method 'Cursor__freecb', argument 1 of type 'struct __wt_cursor *'

XMLWordPrintableJSON

      unit-test-zstd on ubuntu2004

      Host: i-02497d44734f7da6e
      Project: wiredtiger
      Commit: ed82fb5a
      Please refer to BF(G) Playbook for instructions on handling BF and BFG tickets as well as Auto-Resolution Rules

      Task Logs:

      unit-test-zstd task_log

      Logs:

      [pid:3258]: test_layered47.test_layered47.test_checkpoint_order_mismatch -s 0 (palite): starting
      [pid:3258]: test_layered47.test_layered47.test_checkpoint_order_mismatch -s 0 (palite): 0.79 seconds
      [pid:3088/3258]: test_layered47.test_layered47.test_checkpoint_order_mismatch(palite) ... ok
      

      logs

      unit-test-zstd task_log

      Logs:

      [pid:3088]: ERROR: test_ovfl01.test_ovfl01.test_ovfl01
      ----------------------------------------------------------------------
      [pid:3088]: testtools.testresult.real._StringException: Traceback (most recent call last):
        File "/data/mci/eacb3f5d6f9c4b50367e9c1ad3fca749/wiredtiger/test/suite/wttest.py", line 283, in _callTestMethod
          method()
        File "/data/mci/eacb3f5d6f9c4b50367e9c1ad3fca749/wiredtiger/test/suite/test_ovfl01.py", line 76, in test_ovfl01
          self.populate(self.uri)
        File "/data/mci/eacb3f5d6f9c4b50367e9c1ad3fca749/wiredtiger/test/suite/test_ovfl01.py", line 67, in populate
          c.close()
        File "/data/mci/eacb3f5d6f9c4b50367e9c1ad3fca749/wiredtiger/cmake_build/lang/python/wiredtiger/swig_wiredtiger.py", line 179, in close
          self._freecb()
      TypeError: in method 'Cursor__freecb', argument 1 of type 'struct __wt_cursor *'
      ----------------------------------------------------------------------
      Ran 14404 tests in 9160.065s
      

      logs

      unit-test-zstd task_log

      Logs:

      AssertionError: unexpected standard output, contains: "[1761180530:992401][3258:0x7ff7d5109cc0], test_ovfl01.test_ovfl01.test_ovfl01, file:test_ovfl01.wt, WT_CURSOR.insert: [WT_VERB_SPLIT][WARNING]: bulk insert failed during page split
      

      logs

      Probable root cause:

      • Currently, SWIG layer establishes connection between WT native objects (session, cursor) and associated Python objects via internal pointer at the C side. This pointer holds address of the corresponding Python object.
      • When parent object is closed, for example, a connection, then all child objects are closed implicitly. This is when the associated Python object is set to None to prevent hard crashes in the Python code, in case the dangling pointer is accessed.
      • When an object is closed explicitly from Python code, then the internal pointer it set to NULL, to keep Python object reference count correct.
      • The problem arrises, when close method of a cursor (or a session) returns EBUSY, which is technically an error, but must leave the object in a valid state. When the caller attempts calling the close again, then the object must not be freed or closed.

            Assignee:
            Alex Blekhman
            Reporter:
            xgen-buildbaron-user
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: