Message304995
> Does it make sense to backport ac317700ce7439e38a8b420218d9a5035bba92ed to 3.6?
No, async was not a keyword in Python 3.6 on purpose. Making it a keyword can break a lot of code.
I confirm that Python 3.6 still crashs with a very high number of "async " prefixes: try attached async_parser_crash.py.
Extract of the gdb traceback on a crash:
(...)
#665 0x0000000000454867 in tok_get (tok=0x7fffff8b98c0,
p_start=0x7fffff8b9cb8, p_end=0x7fffff8b9cb0) at Parser/tokenizer.c:1571
#666 0x0000000000454867 in tok_get (tok=0x7fffff8b9d40,
p_start=0x7fffff8ba138, p_end=0x7fffff8ba130) at Parser/tokenizer.c:1571
#667 0x0000000000454867 in tok_get (tok=0x7fffff8ba1c0,
p_start=0x7fffff8ba5b8, p_end=0x7fffff8ba5b0) at Parser/tokenizer.c:1571
#668 0x0000000000454867 in tok_get (tok=0x7fffff8ba640,
p_start=0x7fffff8baa38, p_end=0x7fffff8baa30) at Parser/tokenizer.c:1571
#669 0x0000000000454867 in tok_get (tok=0x7fffff8baac0,
p_start=0x7fffff8baeb8, p_end=0x7fffff8baeb0) at Parser/tokenizer.c:1571
#670 0x0000000000454867 in tok_get (tok=0x7fffff8baf40,
p_start=0x7fffff8bb338, p_end=0x7fffff8bb330) at Parser/tokenizer.c:1571
#671 0x0000000000454867 in tok_get (tok=0x7fffff8bb3c0,
p_start=0x7fffff8bb7b8, p_end=0x7fffff8bb7b0) at Parser/tokenizer.c:1571
(...)
It looks like a stack overflow.
The tokenizer may fail earlier on "async async ". |
|
Date |
User |
Action |
Args |
2017-10-25 15:56:06 | vstinner | set | recipients:
+ vstinner, yselivanov, pablogsal, Alexandre Hamelin |
2017-10-25 15:56:06 | vstinner | set | messageid: <1508946966.69.0.213398074469.issue31852@psf.upfronthosting.co.za> |
2017-10-25 15:56:06 | vstinner | link | issue31852 messages |
2017-10-25 15:56:06 | vstinner | create | |
|