New submission from aaron <[email protected]>:
When running code in debug mode, asyncio sometimes enter into infinite loop,
shows as the following:
```
Current thread 0x00007f1c15fc5180 (most recent call first):
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 58
in __repr__
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 47 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 32 in format_cb
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 37 in _format_callbacks
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 76 in _future_repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 51
in _repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 61
in __repr__
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 47 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 32 in format_cb
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 37 in _format_callbacks
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 76 in _future_repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 51
in _repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 61
in __repr__
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 47 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 32 in format_cb
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 37 in _format_callbacks
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 76 in _future_repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 51
in _repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 61
in __repr__
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 47 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 32 in format_cb
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 37 in _format_callbacks
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 76 in _future_repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 51
in _repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/events.py", line 61
in __repr__
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 40 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 47 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 32 in format_cb
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 37 in _format_callbacks
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/base_futures.py",
line 76 in _future_repr_info
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 139 in
repr_instance
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 62 in
repr1
File "/root/miniconda3/envs/omicron/lib/python3.9/reprlib.py", line 52 in repr
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in <genexpr>
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 38 in _format_args_and_kwargs
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 56 in _format_callback
File "/root/miniconda3/envs/omicron/lib/python3.9/asyncio/format_helpers.py",
line 23 in _format_callback_source
```
the code cause problem is as following:
```
class TestSyncJobs(unittest.IsolatedAsyncioTestCase):
async def asyncSetUp(self) -> None:
init_test_env()
await emit.start(engine=emit.Engine.REDIS, dsn=cfg.redis.dsn,
start_server=True, heart_beat=1)
await self.create_quotes_fetcher()
# if we add the following line, the issue will gone
# await asyncio.sleep(0.01)
await omicron.init(aq)
```
sorry the code is not runnable. If you need more info, please tell us what and
how to collect.
or if you would like to reproduce the issue by yourself, please try this
branch: https://github.com/zillionare/omega/tree/zillionare/issue46
----------
messages: 409487
nosy: zillionare
priority: normal
severity: normal
status: open
title: asyncio cause infinite loop during debug
type: crash
versions: Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue46223>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com