← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1923083] [NEW] python 3.9 failures

 

Public bug reported:

It looks like all of the unit tests fail on the same error "TypeError:
cannot pickle '_thread.RLock' object":

tox -e py39
...
ovn_octavia_provider.tests.unit.test_helper.TestOvnProviderHelper.test_vip_port_update_handler_lb_not_found
-----------------------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):

      File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/test_helper.py", line 34, in setUp
    super().setUp()

      File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/base.py", line 24, in setUp
    super().setUp()

      File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/tests/base.py", line 397, in setUp
    policy.init()

      File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 77, in init
    register_rules(_ENFORCER)

      File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 68, in register_rules
    enforcer.register_defaults(itertools.chain(*policies))

      File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1120, in register_defaults
    self.register_default(default)

      File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1109, in register_default
    self.registered_rules[default.name] = copy.deepcopy(default)

      File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)

      File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)

      File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)

      File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)

      File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)

      File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)

      File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)

      File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)

      File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)

      File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)

      File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)

      File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)

      File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)

      File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)

      File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)

      File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)

      File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
    rv = reductor(4)

    TypeError: cannot pickle '_thread.RLock' object

======
Totals
======
Ran: 211 tests in 3.9547 sec.
 - Passed: 111
 - Skipped: 0
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 100
Sum of execute time for each test: 11.8598 sec.

==============
Worker Balance
==============
 - Worker 0 (54 tests) => 0:00:03.251029
 - Worker 1 (50 tests) => 0:00:02.942199
 - Worker 2 (53 tests) => 0:00:03.094253
 - Worker 3 (54 tests) => 0:00:03.180170


To recreate:

lxc launch ubuntu-daily:hirsute h1
lxc exec h1 /bin/bash
git clone https://opendev.org/openstack/ovn-octavia-provider
cd ovn-octavia-provider
tox -e py39

** Affects: neutron
     Importance: Undecided
         Status: New

** Description changed:

  It looks like all of the unit tests fail on the same error "TypeError:
  cannot pickle '_thread.RLock' object":
  
  tox -e py39
  ...
  ovn_octavia_provider.tests.unit.test_helper.TestOvnProviderHelper.test_vip_port_update_handler_lb_not_found
  -----------------------------------------------------------------------------------------------------------
  
  Captured traceback:
  ~~~~~~~~~~~~~~~~~~~
-     Traceback (most recent call last):
+     Traceback (most recent call last):
  
-       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/test_helper.py", line 34, in setUp
-     super().setUp()
+       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/test_helper.py", line 34, in setUp
+     super().setUp()
  
-       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/base.py", line 24, in setUp
-     super().setUp()
+       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/base.py", line 24, in setUp
+     super().setUp()
  
-       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/tests/base.py", line 397, in setUp
-     policy.init()
+       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/tests/base.py", line 397, in setUp
+     policy.init()
  
-       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 77, in init
-     register_rules(_ENFORCER)
+       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 77, in init
+     register_rules(_ENFORCER)
  
-       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 68, in register_rules
-     enforcer.register_defaults(itertools.chain(*policies))
+       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 68, in register_rules
+     enforcer.register_defaults(itertools.chain(*policies))
  
-       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1120, in register_defaults
-     self.register_default(default)
+       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1120, in register_defaults
+     self.register_default(default)
  
-       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1109, in register_default
-     self.registered_rules[default.name] = copy.deepcopy(default)
+       File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1109, in register_default
+     self.registered_rules[default.name] = copy.deepcopy(default)
  
-       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
-     y = _reconstruct(x, memo, *rv)
+       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
+     y = _reconstruct(x, memo, *rv)
  
-       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
-     state = deepcopy(state, memo)
+       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
+     state = deepcopy(state, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
-     y = copier(x, memo)
+       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
+     y = copier(x, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
-     y[deepcopy(key, memo)] = deepcopy(value, memo)
+       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
+     y[deepcopy(key, memo)] = deepcopy(value, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
-     y = _reconstruct(x, memo, *rv)
+       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
+     y = _reconstruct(x, memo, *rv)
  
-       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
-     state = deepcopy(state, memo)
+       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
+     state = deepcopy(state, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
-     y = copier(x, memo)
+       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
+     y = copier(x, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
-     y[deepcopy(key, memo)] = deepcopy(value, memo)
+       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
+     y[deepcopy(key, memo)] = deepcopy(value, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
-     y = _reconstruct(x, memo, *rv)
+       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
+     y = _reconstruct(x, memo, *rv)
  
-       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
-     state = deepcopy(state, memo)
+       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
+     state = deepcopy(state, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
-     y = copier(x, memo)
+       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
+     y = copier(x, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
-     y[deepcopy(key, memo)] = deepcopy(value, memo)
+       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
+     y[deepcopy(key, memo)] = deepcopy(value, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
-     y = _reconstruct(x, memo, *rv)
+       File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
+     y = _reconstruct(x, memo, *rv)
  
-       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
-     state = deepcopy(state, memo)
+       File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
+     state = deepcopy(state, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
-     y = copier(x, memo)
+       File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
+     y = copier(x, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
-     y[deepcopy(key, memo)] = deepcopy(value, memo)
+       File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
+     y[deepcopy(key, memo)] = deepcopy(value, memo)
  
-       File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
-     rv = reductor(4)
+       File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
+     rv = reductor(4)
  
-     TypeError: cannot pickle '_thread.RLock' object
- 
+     TypeError: cannot pickle '_thread.RLock' object
  
  ======
  Totals
  ======
  Ran: 211 tests in 3.9547 sec.
-  - Passed: 111
-  - Skipped: 0
-  - Expected Fail: 0
-  - Unexpected Success: 0
-  - Failed: 100
+  - Passed: 111
+  - Skipped: 0
+  - Expected Fail: 0
+  - Unexpected Success: 0
+  - Failed: 100
  Sum of execute time for each test: 11.8598 sec.
  
  ==============
  Worker Balance
  ==============
-  - Worker 0 (54 tests) => 0:00:03.251029
-  - Worker 1 (50 tests) => 0:00:02.942199
-  - Worker 2 (53 tests) => 0:00:03.094253
-  - Worker 3 (54 tests) => 0:00:03.180170
+  - Worker 0 (54 tests) => 0:00:03.251029
+  - Worker 1 (50 tests) => 0:00:02.942199
+  - Worker 2 (53 tests) => 0:00:03.094253
+  - Worker 3 (54 tests) => 0:00:03.180170
+ 
+ 
+ To recreate:
+ 
+ lxc launch ubuntu-daily:hirsute h1
+ lxc exec h1 /bin/bash
+ git clone https://opendev.org/openstack/ovn-octavia-provider
+ cd ovn-octavia-provider
+ tox -e py39

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1923083

Title:
  python 3.9 failures

Status in neutron:
  New

Bug description:
  It looks like all of the unit tests fail on the same error "TypeError:
  cannot pickle '_thread.RLock' object":

  tox -e py39
  ...
  ovn_octavia_provider.tests.unit.test_helper.TestOvnProviderHelper.test_vip_port_update_handler_lb_not_found
  -----------------------------------------------------------------------------------------------------------

  Captured traceback:
  ~~~~~~~~~~~~~~~~~~~
      Traceback (most recent call last):

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/test_helper.py", line 34, in setUp
      super().setUp()

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/ovn_octavia_provider/tests/unit/base.py", line 24, in setUp
      super().setUp()

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/tests/base.py", line 397, in setUp
      policy.init()

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 77, in init
      register_rules(_ENFORCER)

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/neutron/policy.py", line 68, in register_rules
      enforcer.register_defaults(itertools.chain(*policies))

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1120, in register_defaults
      self.register_default(default)

        File "/home/corey/pkg/wallaby/upstream/ovn-octavia-provider/.tox/py39/lib/python3.9/site-packages/oslo_policy/policy.py", line 1109, in register_default
      self.registered_rules[default.name] = copy.deepcopy(default)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
      y = _reconstruct(x, memo, *rv)

        File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
      state = deepcopy(state, memo)

        File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
      y = copier(x, memo)

        File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
      y[deepcopy(key, memo)] = deepcopy(value, memo)

        File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
      rv = reductor(4)

      TypeError: cannot pickle '_thread.RLock' object

  ======
  Totals
  ======
  Ran: 211 tests in 3.9547 sec.
   - Passed: 111
   - Skipped: 0
   - Expected Fail: 0
   - Unexpected Success: 0
   - Failed: 100
  Sum of execute time for each test: 11.8598 sec.

  ==============
  Worker Balance
  ==============
   - Worker 0 (54 tests) => 0:00:03.251029
   - Worker 1 (50 tests) => 0:00:02.942199
   - Worker 2 (53 tests) => 0:00:03.094253
   - Worker 3 (54 tests) => 0:00:03.180170

  
  To recreate:

  lxc launch ubuntu-daily:hirsute h1
  lxc exec h1 /bin/bash
  git clone https://opendev.org/openstack/ovn-octavia-provider
  cd ovn-octavia-provider
  tox -e py39

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1923083/+subscriptions


Follow ups