[New-bugs-announce] [issue23187] Segmentation fault, possibly asyncio related

Ivailo Karamanolev report at bugs.python.org
Thu Jan 8 00:41:35 CET 2015


New submission from Ivailo Karamanolev:

I have a program that's running Tornado on top of asyncio and uses mysql-connector-python to monitor a set of HTTP servers and save the status to MySQL. Initially I ran it with the current version of Python in the Ubuntu 14.04 repos, that's 3.4.0 and started getting segmentation faults after keeping it running for a few days. I compiled and installed 3.4.2 and the same thing keeps happening, with the same stack trace (per gdb). Running it with and without gdb attached gives the same results - seg fault after 3-4 days of running.

The machine is running on a Xeon with ECC memory and doesn't show signs of illness otherwise, so it's probably not a hardware problem. Also, it's happening consistently when the programs runs for 3-4 days, with or without a system reboot.

Program received signal SIGSEGV, Segmentation fault.
0x0000000000471ed7 in subtype_dealloc (self=0x7ffff16a3860) at Objects/typeobject.c:1128
1128            _PyObject_GC_UNTRACK(self);

Stack trace:
#0  0x0000000000471ed7 in subtype_dealloc (self=0x7ffff16a3860) at Objects/typeobject.c:1128
#1  0x00000000004563f4 in dict_dealloc (mp=0x7fffe95444c8) at Objects/dictobject.c:1383
#2  0x0000000000472140 in subtype_dealloc (self=0x7fffe8e1fcf8) at Objects/typeobject.c:1157
#3  0x000000000058ad22 in frame_dealloc (f=0x1145258) at Objects/frameobject.c:429
#4  0x0000000000588fd7 in gen_send_ex (gen=gen at entry=0x7fffe8c5cea0, gen=gen at entry=0x7fffe8c5cea0, exc=0, arg=arg at entry=0x0) at Objects/genobject.c:145
#5  _PyGen_Send (gen=gen at entry=0x7fffe8c5cea0, arg=arg at entry=0x87fec0 <_Py_FalseStruct>) at Objects/genobject.c:158
#6  0x00000000004da329 in PyEval_EvalFrameEx (f=f at entry=0x11faaf8, throwflag=throwflag at entry=0) at Python/ceval.c:1906
#7  0x0000000000588e5c in gen_send_ex (gen=gen at entry=0x7fffe8c5ccf0, gen=gen at entry=0x7fffe8c5ccf0, exc=0, arg=arg at entry=0x7ffff1bb6420) at Objects/genobject.c:104
#8  _PyGen_Send (gen=gen at entry=0x7fffe8c5ccf0, arg=arg at entry=0x87fec0 <_Py_FalseStruct>) at Objects/genobject.c:158
#9  0x00000000004da329 in PyEval_EvalFrameEx (f=f at entry=0x10daa48, throwflag=throwflag at entry=0) at Python/ceval.c:1906
#10 0x0000000000588e5c in gen_send_ex (gen=gen at entry=0x7fffe8c5cc18, gen=gen at entry=0x7fffe8c5cc18, exc=0, arg=arg at entry=0x102aac8) at Objects/genobject.c:104
#11 _PyGen_Send (gen=gen at entry=0x7fffe8c5cc18, arg=arg at entry=0x87fec0 <_Py_FalseStruct>) at Objects/genobject.c:158
#12 0x00000000004da329 in PyEval_EvalFrameEx (f=f at entry=0x10da7f8, throwflag=throwflag at entry=0) at Python/ceval.c:1906
#13 0x0000000000588e5c in gen_send_ex (gen=0x7ffff16b65a0, gen=0x7ffff16b65a0, exc=0, arg=<optimized out>) at Objects/genobject.c:104
#14 _PyGen_Send (gen=0x7ffff16b65a0, arg=<optimized out>) at Objects/genobject.c:158
#15 0x00000000004d9d0b in call_function (oparg=<optimized out>, pp_stack=0x7fffffffd290) at Python/ceval.c:4221
#16 PyEval_EvalFrameEx (f=f at entry=0x10da568, throwflag=throwflag at entry=0) at Python/ceval.c:2836
#17 0x00000000004d28d4 in PyEval_EvalCodeEx (_co=0x7ffff1e0c030, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=3, kws=0x12e38b8, kwcount=0,
    defs=0x7ffff1e0a8e0, defcount=2, kwdefs=0x0, closure=0x7ffff1e10588) at Python/ceval.c:3585
#18 0x00000000004d8e75 in fast_function (nk=<optimized out>, na=3, n=3, pp_stack=0x7fffffffd490, func=0x7ffff1e122f0) at Python/ceval.c:4341
#19 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd490) at Python/ceval.c:4259
#20 PyEval_EvalFrameEx (f=f at entry=0x12e3708, throwflag=throwflag at entry=0) at Python/ceval.c:2836
#21 0x00000000004d28d4 in PyEval_EvalCodeEx (_co=0x7ffff1e0c0c0, globals=<optimized out>, locals=locals at entry=0x0, args=args at entry=0x7fffeae8a720, argcount=2, kws=kws at entry=0x0,
    kwcount=kwcount at entry=0, defs=defs at entry=0x0, defcount=defcount at entry=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:3585
#22 0x000000000058c67c in function_call (func=0x7ffff1e12378, arg=0x7fffeae8a708, kw=0x0) at Objects/funcobject.c:632
#23 0x000000000042686a in PyObject_Call (func=func at entry=0x7ffff1e12378, arg=arg at entry=0x7fffeae8a708, kw=kw at entry=0x0) at Objects/abstract.c:2067
#24 0x00000000004d48a4 in ext_do_call (nk=<optimized out>, na=1, flags=<optimized out>, pp_stack=0x7fffffffd760, func=0x7ffff1e12378) at Python/ceval.c:4558
#25 PyEval_EvalFrameEx (f=f at entry=0x145ac48, throwflag=throwflag at entry=0) at Python/ceval.c:2876
#26 0x00000000004d9e82 in fast_function (nk=<optimized out>, na=1, n=1, pp_stack=0x7fffffffd8a0, func=0x7ffff1e2d488) at Python/ceval.c:4331
#27 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd8a0) at Python/ceval.c:4259
#28 PyEval_EvalFrameEx (f=f at entry=0x11aee28, throwflag=throwflag at entry=0) at Python/ceval.c:2836
#29 0x00000000004d9e82 in fast_function (nk=<optimized out>, na=1, n=1, pp_stack=0x7fffffffd9f0, func=0x7ffff1bc1400) at Python/ceval.c:4331
#30 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd9f0) at Python/ceval.c:4259
#31 PyEval_EvalFrameEx (f=f at entry=0x10d9c68, throwflag=throwflag at entry=0) at Python/ceval.c:2836
#32 0x00000000004d9e82 in fast_function (nk=<optimized out>, na=1, n=1, pp_stack=0x7fffffffdb40, func=0x7ffff1bc0268) at Python/ceval.c:4331
#33 call_function (oparg=<optimized out>, pp_stack=0x7fffffffdb40) at Python/ceval.c:4259
#34 PyEval_EvalFrameEx (f=f at entry=0xf9ed08, throwflag=throwflag at entry=0) at Python/ceval.c:2836
#35 0x00000000004d9e82 in fast_function (nk=<optimized out>, na=0, n=0, pp_stack=0x7fffffffdc90, func=0x7ffff16a4d08) at Python/ceval.c:4331
#36 call_function (oparg=<optimized out>, pp_stack=0x7fffffffdc90) at Python/ceval.c:4259
#37 PyEval_EvalFrameEx (f=f at entry=0x7ffff7f4b438, throwflag=throwflag at entry=0) at Python/ceval.c:2836
#38 0x00000000004dae2a in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0, locals=locals at entry=0x7ffff7f95d50,
    globals=globals at entry=0x100000000, _co=0x7ffff7ee0150, _co at entry=0x8ac460) at Python/ceval.c:3585
#39 PyEval_EvalCode (co=co at entry=0x7ffff7ee0150, globals=globals at entry=0x7ffff7f48408, locals=locals at entry=0x7ffff7f48408) at Python/ceval.c:773
#40 0x000000000050a8f8 in run_mod (arena=0x95d9a0, flags=0x7fffffffdee0, locals=0x7ffff7f48408, globals=0x7ffff7f48408, filename=0x7ffff7e3f540, mod=0x8fb1e0)
    at Python/pythonrun.c:2180
#41 PyRun_FileExFlags (fp=0x8fa9c0, filename_str=<optimized out>, start=<optimized out>, globals=0x7ffff7f48408, locals=0x7ffff7f48408, closeit=1, flags=0x7fffffffdee0)
    at Python/pythonrun.c:2133
#42 0x000000000050c8f5 in PyRun_SimpleFileExFlags (fp=0x8fa9c0, filename=<optimized out>, closeit=1, flags=0x7fffffffdee0) at Python/pythonrun.c:1606
#43 0x000000000041edc4 in run_file (p_cf=0x7fffffffdee0, filename=0x8ac2a0 L"./torrent_manager.py", fp=0x8fa9c0) at Modules/main.c:319
#44 Py_Main (argc=argc at entry=2, argv=argv at entry=0x8ab010) at Modules/main.c:751
#45 0x000000000041b227 in main (argc=2, argv=<optimized out>) at ./Modules/python.c:69

----------
components: Interpreter Core, asyncio
messages: 233608
nosy: gvanrossum, haypo, karamanolev, yselivanov
priority: normal
severity: normal
status: open
title: Segmentation fault, possibly asyncio related
type: crash
versions: Python 3.4

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23187>
_______________________________________


More information about the New-bugs-announce mailing list