Bug 760935

Summary: Bogus FPE on underflow for exp(double)
Product: [Fedora] Fedora Reporter: Roderick Johnstone <rmj>
Component: glibcAssignee: Jeff Law <law>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: fweimer, jakub, jeremy, law, schwab
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-17 21:10:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Test program showing floating point exception none

Description Roderick Johnstone 2011-12-07 11:36:55 UTC
Created attachment 541903 [details]
Test program showing floating point exception

Description of problem:
On Fedora 16, with floating point trapping enabled, *except* for "underflow" and "inexact", exp(-1.0e40) will throw a Floating Point Exception.

Version-Release number of selected component (if applicable):
glibc-2.14.90-19.x86_64

How reproducible:
Every time.

Steps to Reproduce:
1. Compile attached test programme (g++ test1.cpp)
2. Run program
3.
  
Actual results:
Floating point exception.

Expected results:
The value 0 should be printed.

Additional info:
On Fedora 14 the test program gives the expected result "0" so this is a regression in Fedora 16.

At lines 35 and 40 of w_exp.c, libm uses the floating point variant "kernel_standard_f" rather than the double variant "kernel_standard".

The implementation of kernel_standard_f in k_standard.c just maps double to float (for arguments and return value).  If kernel_standard_f is changed to to kernel_standard in both places, the test program runs through without problems.

Comment 1 Jeff Law 2012-02-17 21:10:38 UTC
Bug reported upstream.  If/when the upstream maintainers fix this bug we will incorporate the fix as part of our regular Fedora development process.

http://sourceware.org/bugzilla/show_bug.cgi?id=13705

Comment 2 Jeff Law 2012-02-24 17:42:29 UTC
FWIW, I went ahead and pulled the proposed upstream patch into rawhide and f17.

Comment 3 Roderick Johnstone 2012-02-24 18:56:02 UTC
I'd really appreciate this in F16 if thats possible too.

Comment 4 Jeff Law 2012-02-24 19:31:46 UTC
I'm not likely to spin it.  My time is very limited and my focus is much more on preparations for f17, particularly finding a couple pthread deadlocks that are affecting multiple packages.