Bug 913929
Summary: | cppad: FTBFS in rawhide | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Dennis Gilmore <dennis> |
Component: | cppad | Assignee: | Brad Bell <bradbell> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | low | Docs Contact: | |
Priority: | high | ||
Version: | rawhide | CC: | bradbell |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-02-28 13:35:15 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: | |||
Bug Depends On: | |||
Bug Blocks: | 913825 |
Description
Dennis Gilmore
2013-02-22 09:15:18 UTC
The following test failed https://projects.coin-or.org/CppAD/browser/releases/20130000.1/test_mor/limits.cpp Here is the log information: buildArch (cppad-20130000.1-3.fc19.src.rpm, i686) ... snip ... http://kojipkgs.fedoraproject.org//work/tasks/5478/5055478/build.log ... snip ... [ 82%] Built target test_more Scanning dependencies of target check_test_more abs OK ... snip ... limits Error This may be the the same problem that has occurred on the MAC, and seems to be a bug in how complex division is implemented. I will begin by reproducing the problem on a machine I have access to. The link to the source code above has test_mor where is should be test_more; i.e., https://projects.coin-or.org/CppAD/browser/releases/20130000.1/test_more/limits.cpp Bug is reproducible as follows: 1. Build a virtual Fedora-18-i686-Live-KDE system 2. fedpkg clone cppad 3. fedpkg mockbuild Result: cppad/results_cppad/20130000.1/2.fc19/build.log contains the text: Scanning dependencies of target check_test_more ... snip ... jacobian OK limits Error Log OK Note the error does not occur in Fedora-18. Using the following command in the setup section of cppad.spec: sed \ -e '/limits(void)/,/^}/s/ok *&=.*/std::cout << "limits: ok =" << ok << std::endl;\n&/' \ -e '/check_epsilon(void)/,/^\t}/s/ok *&=.*/std::cout << "epsilon: ok =" << ok << std::endl;\n&/' \ -e '/check_min(void)/,/^\t}/s/ok *&=.*/std::cout << "min: ok =" << ok << std::endl;\n&/' \ -i test_more/limits.cpp After fedpkg mockbuild the following output helps to isolate the problem to the check_min routine: epsilon: ok =1 epsilon: ok =1 limits: ok =1 ... snip ... epsilon: ok =1 epsilon: ok =1 limits: ok =1 min: ok =1 min: ok =0 limits: ok =0 The g++ 4.8.0 compiler is outsmarting the limits.cpp test by keeping result in higher precision and reusing them, instead of using values stored to memory. The following code snipet for check_min in limits.cpp sets ok to false: tmp[0] = min[0] / hun[0]; match[0] = tmp[0] * hun[0]; ok &= abs_geq(match[0]/min[0] - one[0], three[0]*eps[0]); while the following change sets it to true: tmp[0] = min[0] / hun[0]; match[0] = tmp[0] * hun[0]; std::cout << "match / min - 1 = " << match[0] / min[0] - one[0] << std::endl; ok &= abs_geq(match[0]/min[0] - one[0], three[0]*eps[0]); Preliminary testing indicates that this bug is fixed by the changeset https://projects.coin-or.org/CppAD/changeset/2756 These changes were backported to the 20130000 stable version. A new release of the upstream source, cppad-20130000.2, will be used once this corresponding tarball is automatically generated this evening. This bug was fixed in the upstream CppAD trunk with the changeset https://projects.coin-or.org/CppAD/changeset/2756 These changes were backported to the current upstream stable version of CppAD https://projects.coin-or.org/CppAD/changeset/2757 A new upstream release was created; see https://projects.coin-or.org/CppAD/browser/releases/20130000.2 A corresponding upstream source tarball was created and uploaded to fedora 8f764be6e3bcc8b201bc4b7a59717cde cppad-20130000.2.gpl.tgz The new upstream source had a successful build; see http://koji.fedoraproject.org/koji/taskinfo?taskID=5064147 |