MagicStack / MagicStack/uvloop
Program terminated with signal SIGABRT
Abierto
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Cython
- Estrellas
- 11.9k
- Forks
- 616
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
- uvloop version: uvloop 0.16.0
- Python version: 3.9.5
- Platform: Ubuntu 5.11.0-31-generic
- Can you reproduce the bug with
PYTHONASYNCIODEBUGin env?: Yes. No suspicious message other than "Executing <Task pending name='Task-60' ...> took 0.578 seconds - Does uvloop behave differently from vanilla asyncio? How?: Yes. Python process does not crash
gdb:
Program terminated with signal SIGABRT, Aborted.
bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fc465c0c640 (LWP 11019))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007fc477a83864 in __GI_abort () at abort.c:79
#2 0x00007fc46c33eef5 in uv__io_poll (loop=loop@entry=0x7fc45003f9f0, timeout=<optimized out>) at src/unix/epoll.c:166
#3 0x00007fc46c43d794 in uv_run (loop=0x7fc45003f9f0, mode=mode@entry=UV_RUN_DEFAULT) at src/unix/core.c:389
#4 0x00007fc46c39bc50 in __pyx_f_6uvloop_4loop_4Loop___run (__pyx_v_self=0x7fc450000fe0, __pyx_v_mode=UV_RUN_DEFAULT) at uvloop/loop.c:14642
#5 0x00007fc46c39e1b7 in __pyx_f_6uvloop_4loop_4Loop__run (__pyx_v_self=0x7fc450000fe0, __pyx_v_mode=UV_RUN_DEFAULT) at uvloop/loop.c:15030
#6 0x00007fc46c3c5f3d in __pyx_pf_6uvloop_4loop_4Loop_24run_forever (__pyx_v_self=0x7fc450000fe0) at uvloop/loop.c:27698
#7 __pyx_pw_6uvloop_4loop_4Loop_25run_forever (__pyx_v_self=<Loop at remote 0x7fc450000fe0>, unused=<optimized out>) at uvloop/loop.c:27519
#8 0x00007fc46c373d66 in __Pyx_PyObject_CallMethO (arg=0x0, func=<built-in method run_forever of Loop object at remote 0x7fc450000fe0>)
at uvloop/loop.c:167062
#9 __Pyx_PyObject_CallNoArg (func=<built-in method run_forever of Loop object at remote 0x7fc450000fe0>) at uvloop/loop.c:36016
#10 0x00007fc46c3dceeb in __pyx_pf_6uvloop_4loop_4Loop_44run_until_complete (__pyx_v_future=<_asyncio.Task at remote 0x7fc466423380>,
__pyx_v_self=<optimized out>) at uvloop/loop.c:29299
#11 __pyx_pw_6uvloop_4loop_4Loop_45run_until_complete (__pyx_v_self=<optimized out>, __pyx_v_future=<optimized out>) at uvloop/loop.c:28897
#12 0x000000000053d245 in method_vectorcall_O (func=<optimized out>, args=0x7fc450000f48, nargsf=<optimized out>, kwnames=<optimized out>)
at ../Objects/descrobject.c:462
#13 0x0000000000516543 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7fc450000f48,
callable=<method_descriptor at remote 0x7fc476cfff90>, tstate=0x2f350b0) at ../Include/cpython/abstract.h:118
#14 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7fc450000f48, callable=<method_descriptor at remote 0x7fc476cfff90>)
at ../Include/cpython/abstract.h:127
#15 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x2f350b0) at ../Python/ceval.c:5072
#16 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3504
#17 0x0000000000515377 in _PyEval_EvalFrame (throwflag=0,
f=Frame 0x7fc450000dc0, for file /usr/lib/python3.9/asyncio/runners.py, line 300, in run (main=<coroutine at remote 0x7fc4664264c0>, debug=None, loop=<Loop at remote 0x7fc450000fe0>), tstate=0x2f350b0) at ../Include/internal/pycore_ceval.h:40
py-bt
Traceback (most recent call first):
File "/usr/lib/python3.9/asyncio/runners.py", line 300, in run
File "main.py", line 70, in worker
asyncio.run(async_worker(q_tasks, fetcher))
File "/usr/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/usr/lib/python3.9/threading.py", line 912, in _bootstrap
self._bootstrap_inner()
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en main.py:70 en worker y reproduce SIGABRT con uvloop 0.16.0, Python 3.9.5, Ubuntu y PYTHONASYNCIODEBUG habilitado. Inspecciona el backtrace de gdb a través de uvloop/loop.c y src/unix/epoll.c de libuv, y compara después el comportamiento con vanilla asyncio. Se considera terminado cuando la carga de trabajo indicada ya no provoca un aborto y la causa o una solución fiable están documentadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- networking
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100