We've seen this CI failure sporadically since we fixed the pypy3 CI job. It possible an attribute in a timer is being mocked/assigned incorrectly, or there's just some difference in how pypy3 implements Timer objects (I believe the complaint is about a threading.Timer() object).
Checklist
Mandatory Debugging Information
Optional Debugging Information
Related Issues and Possible Duplicates
Related Issues
Possible Duplicates
Environment & Settings
Celery version:
celery report Output:
Steps to Reproduce
Required Dependencies
- Minimal Python Version: N/A or Unknown
- Minimal Celery Version: N/A or Unknown
- Minimal Kombu Version: N/A or Unknown
- Minimal Broker Version: N/A or Unknown
- Minimal Result Backend Version: N/A or Unknown
- Minimal OS and/or Kernel Version: N/A or Unknown
- Minimal Broker Client Version: N/A or Unknown
- Minimal Result Backend Client Version: N/A or Unknown
Python Packages
pip freeze Output:
Other Dependencies
Details
N/A
Minimally Reproducible Test Case
Details
Expected Behavior
Actual Behavior
Output from failed unit tests on pypy
```
t/unit/worker/test_worker.py::test_Consumer::test_receieve_message_eta_isoformat FAILED [ 97%]
t/unit/worker/test_worker.py::test_Consumer::test_receieve_message_eta_isoformat ERROR [ 97%]
==================================== ERRORS ====================================
____ ERROR at teardown of test_Consumer.test_receieve_message_eta_isoformat ____
self = <t.unit.worker.test_worker.test_Consumer object at 0x0000000008936528>
t/unit/worker/test_worker.py:92:
self = <Timer(Timer-106, stopped daemon 139665216587520)>
def stop(self):
self._is_shutdown.set()
if self.running:
E AttributeError: 'bool' object has no attribute 'wait'
celery/utils/timer2.py:96: AttributeError
=================================== FAILURES ===================================
______________ test_Consumer.test_receieve_message_eta_isoformat _______________
self = <t.unit.worker.test_worker.test_Consumer object at 0x0000000008936528>
???
t/unit/worker/test_worker.py:417:
self = <Timer(Timer-106, stopped daemon 139665216587520)>
def stop(self):
self._is_shutdown.set()
if self.running:
E AttributeError: 'bool' object has no attribute 'wait'
celery/utils/timer2.py:96: AttributeError
We've seen this CI failure sporadically since we fixed the pypy3 CI job. It possible an attribute in a timer is being mocked/assigned incorrectly, or there's just some difference in how pypy3 implements
Timerobjects (I believe the complaint is about athreading.Timer()object).Checklist
masterbranch of Celery.contribution guide
on reporting bugs.
for similar or identical bug reports.
for existing proposed fixes.
to find out if the bug was already fixed in the master branch.
in this issue (If there are none, check this box anyway).
Mandatory Debugging Information
celery -A proj reportin the issue.(if you are not able to do this, then at least specify the Celery
version affected).
masterbranch of Celery.pip freezein the issue.to reproduce this bug.
Optional Debugging Information
and/or implementation.
result backend.
broker and/or result backend.
ETA/Countdown & rate limits disabled.
and/or upgrading Celery and its dependencies.
Related Issues and Possible Duplicates
Related Issues
Possible Duplicates
Environment & Settings
Celery version:
celery reportOutput:Steps to Reproduce
Required Dependencies
Python Packages
pip freezeOutput:Other Dependencies
Details
N/A
Minimally Reproducible Test Case
Details
Expected Behavior
Actual Behavior
Output from failed unit tests on pypy
``` t/unit/worker/test_worker.py::test_Consumer::test_receieve_message_eta_isoformat FAILED [ 97%]t/unit/worker/test_worker.py::test_Consumer::test_receieve_message_eta_isoformat ERROR [ 97%]
==================================== ERRORS ====================================
____ ERROR at teardown of test_Consumer.test_receieve_message_eta_isoformat ____
self = <t.unit.worker.test_worker.test_Consumer object at 0x0000000008936528>
t/unit/worker/test_worker.py:92:
self = <Timer(Timer-106, stopped daemon 139665216587520)>
E AttributeError: 'bool' object has no attribute 'wait'
celery/utils/timer2.py:96: AttributeError
=================================== FAILURES ===================================
______________ test_Consumer.test_receieve_message_eta_isoformat _______________
self = <t.unit.worker.test_worker.test_Consumer object at 0x0000000008936528>
t/unit/worker/test_worker.py:417:
self = <Timer(Timer-106, stopped daemon 139665216587520)>
E AttributeError: 'bool' object has no attribute 'wait'
celery/utils/timer2.py:96: AttributeError