Karthikeyan Singaravelan <[email protected]> added the comment:
I tried the test case on master branch. I ran the test case on 1GB RAM Linux
based digitalocean droplet to have the script killed. Please find the results
as below :
# Python build
➜ cpython git:(master) ✗ ./python
Python 3.8.0a0 (heads/bpo33095-add-reference:9d49f85, Jun 17 2018, 07:22:33)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
# Test case
➜ cpython git:(master) ✗ cat foo.py
from email.message import EmailMessage
from email.policy import default
policy = default # max_line_length = 78
msg = EmailMessage()
msg["Subject"] = "á"*100
policy.fold("Subject", msg["Subject"])
# Test case execution
➜ cpython git:(master) ✗ time ./python foo.py
[2] 13637 killed ./python foo.py
./python foo.py 387.36s user 3.85s system 90% cpu 7:11.94 total
# I tried to do Ctrl + C after 2 minutes to stop and the stack trace is as
below :
➜ cpython git:(master) ✗ time ./python foo.py
^CTraceback (most recent call last):
File "foo.py", line 7, in <module>
policy.fold("Subject", msg["Subject"])
File "/root/cpython/Lib/email/policy.py", line 183, in fold
return self._fold(name, value, refold_binary=True)
File "/root/cpython/Lib/email/policy.py", line 205, in _fold
return value.fold(policy=self)
File "/root/cpython/Lib/email/headerregistry.py", line 258, in fold
return header.fold(policy=policy)
File "/root/cpython/Lib/email/_header_value_parser.py", line 144, in fold
return _refold_parse_tree(self, policy=policy)
File "/root/cpython/Lib/email/_header_value_parser.py", line 2650, in
_refold_parse_tree
part.ew_combine_allowed, charset)
File "/root/cpython/Lib/email/_header_value_parser.py", line 2728, in
_fold_as_ew
ew = _ew.encode(first_part, charset=encode_as)
File "/root/cpython/Lib/email/_encoded_words.py", line 226, in encode
qlen = _cte_encode_length['q'](bstring)
File "/root/cpython/Lib/email/_encoded_words.py", line 93, in len_q
return sum(len(_q_byte_map[x]) for x in bstring)
File "/root/cpython/Lib/email/_encoded_words.py", line 93, in <genexpr>
return sum(len(_q_byte_map[x]) for x in bstring)
KeyboardInterrupt
./python foo.py 131.41s user 0.43s system 98% cpu 2:13.89 total
Thanks
----------
nosy: +xtreak
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue33529>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com