New submission from Masami HIRATA: It seems that frame.f_locals causes segfault on Python >=3.4.1
$ uname -a Linux ashrose 3.2.0-61-generic #93-Ubuntu SMP Fri May 2 21:31:50 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux $ ls test1.py $ cat test1.py import unittest class TestCallable(unittest.TestCase): def test_callable(self): try: with self.assertRaises(IndexError): def raise_error(): raise TypeError (lambda: raise_error())() except TypeError as exception: exception.__traceback__.tb_next.tb_frame.f_locals $ python3.4.1 -m unittest Segmentation fault $ python3.4.0 -m unittest . ---------------------------------------------------------------------- Ran 1 test in 0.001s OK $ python3.3.5 -m unittest . ---------------------------------------------------------------------- Ran 1 test in 0.000s OK $ gdb /home/python/local/3.4.1mgs/bin/python3.4.1 ... (gdb) run -m unittest Starting program: /home/python/local/3.4.1mgs/bin/python3.4.1 -m unittest [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. map_to_dict (deref=1, values=0x7ffff5e97510, dict=0x7ffff5e8f588, nmap=<optimized out>, map=0x7ffff60e0278) at Objects/frameobject.c:791 791 value = PyCell_GET(value); (gdb) bt #0 map_to_dict (deref=1, values=0x7ffff5e97510, dict=0x7ffff5e8f588, nmap=<optimized out>, map=0x7ffff60e0278) at Objects/frameobject.c:791 #1 PyFrame_FastToLocalsWithError (f=0x7ffff5e97398) at Objects/frameobject.c:915 #2 0x00007ffff79beaa9 in frame_getlocals (f=0x7ffff5e97398, closure=<optimized out>) at Objects/frameobject.c:24 #3 0x00007ffff79deff3 in _PyObject_GenericGetAttrWithDict (obj=0x7ffff5e97398, name=0x7ffff7fcdbb0, dict=0x0) at Objects/object.c:1043 #4 0x00007ffff7a57891 in PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2411 #5 0x00007ffff7a5df3c in PyEval_EvalCodeEx (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0x790f48, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:3578 #6 0x00007ffff7a5ca61 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffbbf0, func=0x7ffff6115158) at Python/ceval.c:4334 #7 call_function (oparg=<optimized out>, pp_stack=0x7fffffffbbf0) at Python/ceval.c:4252 #8 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2829 #9 0x00007ffff7a5df3c in PyEval_EvalCodeEx (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=2, kws=0x7ffff7fad060, kwcount=0, defs=0x7ffff617cd48, defcount=1, kwdefs=0x0, closure=0x0) at Python/ceval.c:3578 #10 0x00007ffff79bf28c in function_call (func=0x7ffff6192400, arg=0x7ffff6101c08, kw=0x7ffff5e8f248) at Objects/funcobject.c:632 #11 0x00007ffff799300e in PyObject_Call (func=0x7ffff6192400, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2067 #12 0x00007ffff7a56871 in ext_do_call (nk=0, na=1, flags=<optimized out>, pp_stack=0x7fffffffbec0, func=0x7ffff6192400) at Python/ceval.c:4551 #13 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2869 ---Type <return> to continue, or q <return> to quit--- ---------- components: Interpreter Core messages: 222029 nosy: msmhrt priority: normal severity: normal status: open title: frame.f_locals causes segfault on Python >=3.4.1 type: crash versions: Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21897> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com