You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=Nonecreated_at=<Date2021-02-19.06:47:59.625>labels= ['type-bug', '3.8', 'expert-asyncio']
title='"_weakrefset.py", line 56: IndexError: pop from empty list'updated_at=<Date2021-07-06.23:58:55.464>user='https://github.com/jhshi89'
One of our asyncio based application sporadically crash due to this stack trace:
File ".../lib/python3.8/asyncio/runners.py", line 48, in run
loop.run_until_complete(loop.shutdown_asyncgens())
File ".../lib/python3.8/asyncio/base_events.py", line 595, in run_until_complete
future = tasks.ensure_future(future, loop=self)
File ".../lib/python3.8/asyncio/tasks.py", line 669, in ensure_future
task = loop.create_task(coro_or_future)
File ".../lib/python3.8/asyncio/base_events.py", line 431, in create_task
task = tasks.Task(coro, loop=self, name=name)
File ".../lib/python3.8/_weakrefset.py", line 83, in add
self._commit_removals()
File ".../lib/python3.8/_weakrefset.py", line 56, in _commit_removals
discard(l.pop())
IndexError: pop from empty list
We do not have a reliable repro. From reading the source code, it appears we should never try to pop from empty list:
def _commit_removals(self):
l = self._pending_removals
discard = self.data.discard
while l:
discard(l.pop()) # <-- HERE
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: