The Scheduler _main_loop_cleanup method needs to cancel self._job_delay_timeout_id if it's not None: > Calculating dependencies />>> Jobs: 0 of 0 complete Load avg: 1.77, 1.31, 1.12Exception in callback PollScheduler._schedule() > handle: <TimerHandle when=44692.1015056609 PollScheduler._schedule()> > Traceback (most recent call last): > File "/usr/lib64/python3.6/asyncio/events.py", line 145, in _run > self._callback(*self._args) > File "/usr/lib64/python3.6/site-packages/_emerge/PollScheduler.py", line 154, in _schedule > self._schedule_tasks() > File "/usr/lib64/python3.6/site-packages/_emerge/Scheduler.py", line 1605, in _schedule_tasks > self._keep_scheduling() or self._main_exit.done()): > AttributeError: 'NoneType' object has no attribute 'done'
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=528bec60c4c7b32c2545d91ba4ee91e543b0d5c9 commit 528bec60c4c7b32c2545d91ba4ee91e543b0d5c9 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2018-08-02 18:32:58 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2018-08-02 18:43:58 +0000 Scheduler: cancel job delay timeout after main loop (bug 662668) This fixes the following error during emerge --keep-going dependency calculation: Exception in callback PollScheduler._schedule() handle: <TimerHandle when=44692.1015056609 PollScheduler._schedule()> Traceback (most recent call last): File "/usr/lib64/python3.6/asyncio/events.py", line 145, in _run self._callback(*self._args) File "/usr/lib64/python3.6/site-packages/_emerge/PollScheduler.py", line 154, in _schedule self._schedule_tasks() File "/usr/lib64/python3.6/site-packages/_emerge/Scheduler.py", line 1605, in _schedule_tasks self._keep_scheduling() or self._main_exit.done()): AttributeError: 'NoneType' object has no attribute 'done' Reported-by: Rick Farina <zerochaos@gentoo.org> Bug: https://bugs.gentoo.org/662668 lib/_emerge/Scheduler.py | 3 +++ 1 file changed, 3 insertions(+)