Pablo Galindo Salgado <[email protected]> added the comment: This issue is fixed in the master branch (version 3.7.0 alpha 2). The issue was fixed in this PR:
https://github.com/python/cpython/pull/1669 The cause is that async was not a proper keyword and the parser segfaults when checking for the new token and parsing the newline. In particular, this happens here: translate_newlines at Parser/tokenizer.c:713 713 buf = PyMem_MALLOC(needed_length); This is the stack trace: #0 _PyObject_Alloc (ctx=<optimized out>, elsize=10, nelem=1, use_calloc=0) at Objects/obmalloc.c:806 #1 _PyObject_Malloc (ctx=<optimized out>, nbytes=10) at Objects/obmalloc.c:985 #2 0x0000000000453020 in translate_newlines (tok=0x9187b0, exec_input=0, s=0x7ffff7fa40e0 "async \\\n") at Parser/tokenizer.c:713 #3 tok_nextc (tok=tok@entry=0x9187b0) at Parser/tokenizer.c:943 #4 0x0000000000454948 in tok_get (tok=tok@entry=0x9187b0, p_start=p_start@entry=0x7fffffffdc40, p_end=p_end@entry=0x7fffffffdc50) at Parser/tokenizer.c:1382 #5 0x0000000000455749 in PyTokenizer_Get (tok=tok@entry=0x9187b0, p_start=p_start@entry=0x7fffffffdc40, p_end=p_end@entry=0x7fffffffdc50) at Parser/tokenizer.c:1902 #6 0x000000000045158d in parsetok (tok=0x9187b0, g=<optimized out>, start=256, err_ret=err_ret@entry=0x7fffffffdce0, flags=flags@entry=0x7fffffffdcd0) at Parser/parsetok.c:208 #7 0x0000000000452280 in PyParser_ParseFileObject (fp=<optimized out>, filename=filename@entry=0x7ffff7f1b848, enc=<optimized out>, g=<optimized out>, start=<optimized out>, ps1=<optimized out>, ps2=0x7ffff7e63648 "... ", err_ret=err_ret@entry=0x7fffffffdce0, flags=flags@entry=0x7fffffffdcd0) at Parser/parsetok.c:134 #8 0x0000000000433949 in PyParser_ASTFromFileObject (fp=<optimized out>, filename=0x7ffff7f1b848, enc=<optimized out>, start=<optimized out>, ps1=<optimized out>, ps2=<optimized out>, flags=0x7fffffffde90, errcode=0x7fffffffdd80, arena=0x7ffff7fe2168) at Python/pythonrun.c:1166 #9 0x0000000000433b5b in PyRun_InteractiveOneObject (fp=fp@entry=0x7ffff74b2640 <_IO_2_1_stdin_>, filename=filename@entry=0x7ffff7f1b848, flags=flags@entry=0x7fffffffde90) at Python/pythonrun.c:218 #10 0x0000000000433eae in PyRun_InteractiveLoopFlags (fp=fp@entry=0x7ffff74b2640 <_IO_2_1_stdin_>, filename_str=filename_str@entry=0x5dd7a4 "<stdin>", flags=flags@entry=0x7fffffffde90) at Python/pythonrun.c:115 #11 0x0000000000433fbc in PyRun_AnyFileExFlags (fp=0x7ffff74b2640 <_IO_2_1_stdin_>, filename=0x5dd7a4 "<stdin>", closeit=0, flags=0x7fffffffde90) at Python/pythonrun.c:77 #12 0x00000000004476fa in run_file (p_cf=0x7fffffffde90, filename=<optimized out>, fp=0x7ffff74b2640 <_IO_2_1_stdin_>) at Modules/main.c:341 #13 Py_Main (argc=argc@entry=1, argv=argv@entry=0x910010) at Modules/main.c:895 #14 0x000000000041e17a in main (argc=1, argv=<optimized out>) at ./Programs/python.c:102 After applying commit ac317700ce7439e38a8b420218d9a5035bba92ed the issue is fixed. Does it make sense to backport ac317700ce7439e38a8b420218d9a5035bba92ed to 3.6? ---------- nosy: +pablogsal _______________________________________ Python tracker <[email protected]> <https://bugs.python.org/issue31852> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
