[New-bugs-announce] [issue35959] math.prod(range(10)) caues segfault
Karthikeyan Singaravelan
report at bugs.python.org
Sun Feb 10 14:08:53 EST 2019
New submission from Karthikeyan Singaravelan <tir.karthi at gmail.com>:
math.prod introduced with issue35606 seems to segfault when zero is present on some cases like start or middle of the iterable. I couldn't find the exact cause of this. This also occurs in optimized builds.
# Python information built with ./configure && make
➜ cpython git:(master) ./python.exe
Python 3.8.0a1+ (heads/master:8a03ff2ff4, Feb 11 2019, 00:13:49)
[Clang 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
# Segfaults with range(10), [0, 1, 2, 3] and [1, 0, 2, 3]
➜ cpython git:(master) ./python.exe -X faulthandler -c 'import math; print(math.prod(range(10)))'
Fatal Python error: Floating point exception
Current thread 0x00007fff7939f300 (most recent call first):
File "<string>", line 1 in <module>
[1] 40465 floating point exception ./python.exe -X faulthandler -c 'import math; print(math.prod(range(10)))'
➜ cpython git:(master) ./python.exe -X faulthandler -c 'import math; print(math.prod([0, 1, 2, 3]))'
Fatal Python error: Floating point exception
Current thread 0x00007fff7939f300 (most recent call first):
File "<string>", line 1 in <module>
[1] 40414 floating point exception ./python.exe -X faulthandler -c 'import math; print(math.prod([0, 1, 2, 3]))'
➜ cpython git:(master) ./python.exe -X faulthandler -c 'import math; print(math.prod([1, 0, 2, 3]))'
Fatal Python error: Floating point exception
Current thread 0x00007fff7939f300 (most recent call first):
File "<string>", line 1 in <module>
[1] 40425 floating point exception ./python.exe -X faulthandler -c 'import math; print(math.prod([1, 0, 2, 3]))'
# No segfault when zero is at the end and floats seem to work fine.
➜ cpython git:(master) ./python.exe -X faulthandler -c 'import math; print(math.prod([1, 2, 3, 0]))'
0
➜ cpython git:(master) ./python.exe -c 'import math; print(math.prod(map(float, range(10))))'
0.0
----------
components: Library (Lib)
messages: 335168
nosy: pablogsal, rhettinger, xtreak
priority: normal
severity: normal
status: open
title: math.prod(range(10)) caues segfault
type: crash
versions: Python 3.8
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35959>
_______________________________________
More information about the New-bugs-announce
mailing list