Message383580
Calling function exec() with large size can cause a segmentation fault in Python 3.7 -3.10. Please check the following two examples. The example 1 works as expected, while the second one triggers segmentation fault on Python 3.7,3.8,3.9,3.10. The primary difference between these two examples lay on the value of "n".
Example 1:
=========================================
mylist = []
n = 100000
print(exec("mylist"+"+mylist"*n))
==========================================
The actual output: Recursion Error on Python 3.5-3.10 (as expected)
Example 2:
===================================
mylist = []
n = 1000000
print(exec("mylist"+"+mylist"*n))
===================================
The actual output: Recursive Error on Python 3.5, 3.6 (as expected), segmentation fault on Python 3.7, 3.8, 3.9, 3.10 (not as expected)
My system information:
>> python3.10 -V
Python 3.10.0a2
>> python3.9 -V
Python 3.9.0rc1
>> python3.8 -V
Python 3.8.0
>> python3.7 -V
Python 3.7.3
>> python3.6 -V
Python 3.6.12
>> uname -v
#73~16.04.1-Ubuntu |
|
Date |
User |
Action |
Args |
2020-12-22 10:20:37 | xxm | set | recipients:
+ xxm |
2020-12-22 10:20:37 | xxm | set | messageid: <1608632437.39.0.152674435504.issue42715@roundup.psfhosted.org> |
2020-12-22 10:20:37 | xxm | link | issue42715 messages |
2020-12-22 10:20:37 | xxm | create | |
|