New submission from Jinghao Shi <jhsh...@gmail.com>:
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 ``` ---------- components: asyncio messages: 387288 nosy: asvetlov, jhshi89, yselivanov priority: normal severity: normal status: open title: "_weakrefset.py", line 56: IndexError: pop from empty list type: crash versions: Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43262> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com