Bogus FPE on underflow for exp(double)

Bug #1007457 reported by Peter van Hoof
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Medium
Adam Conrad

Bug Description

SRU Justification:

[Impact]
exp() in eglibc causes occasional FP crashes.

[Development Fix]
This is fixed in quantal.

[Stable Fix]
The fix can be backported to quantal.

[Test Case]
Test case is documented in the upstream bug:
http://sourceware.org/bugzilla/show_bug.cgi?id=13705

[Regression Potential]
Changes __kernel_standard_f to __kernel_standard in __exp in eglibc.

--

Glibc version 2.15 has a bug causing spurious FP crashes when calling exp(). It has been reported here:

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

You can find all the details, including a testcase and the patch for libm in this report. I found that the 64-bit version of precise ships a version of glibc that still has this bug. I have not tested the 32-bit version, but I assume it has the same problem.

I am one of the developers of the open source code Cloudy and this bug renders our code completely non-functional. I would therefore like to urge you to ship this patch as an update for the precise distribution, especially since this is a LTS release.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: libc6 2.15-0ubuntu10
ProcVersionSignature: Ubuntu 3.2.0-24.39-generic 3.2.16
Uname: Linux 3.2.0-24-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.0.1-0ubuntu8
Architecture: amd64
Date: Fri Jun 1 16:33:54 2012
InstallationMedia: Kubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
ProcEnviron:
 LC_TIME=en_DK.utf8
 TERM=vt100
 LANG=en_US.UTF-8
 SHELL=/bin/tcsh
SourcePackage: eglibc
UpgradeStatus: Upgraded to precise on 2012-05-07 (25 days ago)

Revision history for this message
Peter van Hoof (pvh-7) wrote :
Revision history for this message
Peter van Hoof (pvh-7) wrote :

Is anybody looking at this? This is a critical bug that completely breaks our code. Many of our users have Ubuntu installed and are suffering because of this. So a quick fix would be appreciated. The link shown above contains the patch, so fixing this should be easy and quick. An identical bug report against openSUSE was fixed in 28 hours. This report is already more than 3 weeks old...

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in eglibc (Ubuntu):
status: New → Confirmed
Revision history for this message
Robin (rjrwilliams) wrote :

Attached patch from upstream

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Patch from glibc" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Adam Conrad (adconrad)
Changed in eglibc (Ubuntu Precise):
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package eglibc - 2.15-0ubuntu17

---------------
eglibc (2.15-0ubuntu17) quantal; urgency=low

  * Backport fix from 2.16 for sscanf/realloc deadlock (LP: #1028038)
  * Backport for bogus FPE on underflow for exp(double) (LP: #1007457)
 -- Adam Conrad <email address hidden> Thu, 09 Aug 2012 20:25:35 -0600

Changed in eglibc (Ubuntu):
status: Confirmed → Fix Released
Chris J Arges (arges)
Changed in eglibc (Ubuntu Precise):
assignee: nobody → Adam Conrad (adconrad)
importance: Undecided → Medium
Chris J Arges (arges)
description: updated
Revision history for this message
Clint Byrum (clint-fewbar) wrote : Please test proposed package

Hello Peter, or anyone else affected,

Accepted eglibc into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/eglibc/2.15-0ubuntu10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in eglibc (Ubuntu Precise):
status: Confirmed → Fix Committed
tags: added: verification-needed
Peter van Hoof (pvh-7)
tags: added: verification-done
removed: verification-needed
Robin (rjrwilliams)
Changed in eglibc (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Robin (rjrwilliams) wrote :

Fix is **not** released for Precise.

My apologies, I clicked on a link and didn't realize it would make any change (let alone an irrevocable one). Trac is more forgiving...

Revision history for this message
Adam Conrad (adconrad) wrote :

Marking back to Fix Committed until it's actually released to -updates.

Changed in eglibc (Ubuntu Precise):
status: Fix Released → Fix Committed
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Peter, or anyone else affected,

Accepted eglibc into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/eglibc/2.15-0ubuntu10.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: removed: verification-done
tags: added: verification-needed
Revision history for this message
Adam Conrad (adconrad) wrote :

Peter, can you re-test with 2.15-0ubuntu10.3 and verify that it still fixes the problem for you? It was superseded by a security update, and I had to re-upload all over again.

Revision history for this message
Peter van Hoof (pvh-7) wrote :

The math library in libc6-amd64_2.15-0ubuntu10.3_i386.deb fixes the bug.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Colin Watson (cjwatson) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Adam Conrad (adconrad) wrote :

This bug was fixed in the package eglibc - 2.15-0ubuntu10.3

---------------
eglibc (2.15-0ubuntu10.3) precise; urgency=low

  * Backport fixes for dbl-64 and ldbl-128 issues (LP: #1000498)
  * Backport another FMA support patch from glibc master branch.

eglibc (2.15-0ubuntu10.2) precise-security; urgency=low

  * SECURITY UPDATE: stack buffer overflow in vfprintf handling
    (LP: #1031301)
    - debian/patches/any/CVE-2012-3406.patch: switch to malloc when
      array grows too large to handle via alloca extension
    - CVE-2012-3406
  * SECURITY UPDATE: stdlib strtod integer/buffer overflows
    - debian/patches/any/CVE-2012-3480.patch: rearrange calculations
      and modify types to void integer overflows
    - CVE-2012-3480

eglibc (2.15-0ubuntu10.1) precise; urgency=low

  * Backport fix from 2.16 to fix htons() conversion errors on non-x86
    architectures, by correctly casting to uint16_t (LP: #1016349)
  * Restore missing AT_EMPTY_PATH definition in fnctl.h (LP: #1010069)
  * Backport FMA4/AVX detection from glibc 2.16 (LP: #956051, #979003)
  * Backport fixups to AVX-using code to match the detection backport.
  * Backport fix from 2.16 for sscanf/realloc deadlock (LP: #1028038)
  * Backport for bogus FPE on underflow for exp(double) (LP: #1007457)
 -- Adam Conrad <email address hidden> Wed, 03 Oct 2012 15:58:02 -0600

Changed in eglibc (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.