Le 04/05/2015 19:13, sebb a écrit : > On 4 May 2015 at 16:43, luc <l...@spaceroots.org> wrote: >> Le 2015-05-04 14:48, Thomas Neidhart a écrit : >>> >>> Problem still remains, see here: >>> https://builds.apache.org/job/Commons%20Math%20H10/49/console >>> >>> The test failures only occur on the following slaves it seems: >>> >>> * H10 >>> * ubuntu-2 >> >> >> This looks like what happened a few months ago then. >> >> I will try to look at it. As we are only able to reproduce this on this >> build system, I guess this implies committing lots of small changes (with >> System.out.println and the like) and triggering a custom buid from the >> Jenkins configuration above. I can do that, but wonder if there is another >> way without committing the tests in the master branch. Can we set up an >> h10-builds branch that would be used by the job above and would be ignored >> by the regular job ? > > Yes, just configure the Jenkins job to use the appropriate branch. > It is currently using > > */master
I explored the project and did not find any way to change the build. Looking at the REST API explanation page, I found a reference to JOBNAME/config.xml. However, if I try this URL I get an access denied failure with message "luc is missing the Job/ExtendedRead permission" and if I try the createItem URL I get an access denied failure with message "luc is missing the Job/Create permission". Could someone give me karma for changing these elements on the Commons Math H10 job? best regards, Luc > > >> If I remember well, when the previous problem arose even putting simple >> print >> statements in the code made the bug appear and disappear without control. > > I don't remember that; I do remember that it was host-dependent. > >> best regards, >> Luc >> >> >>> >>> Thomas >>> >>> >>> On Mon, May 4, 2015 at 1:43 PM, <l...@apache.org> wrote: >>> >>>> Repository: commons-math >>>> Updated Branches: >>>> refs/heads/master c8cb75243 -> c771c0080 >>>> >>>> >>>> Attempt to circumvent some errors which seem to be platform-dependent. >>>> >>>> The Jenkins build often fails on code that seems to be perfectly >>>> correct. Failures also do no always happen so they may depend on >>>> platform. There were similar problems a few months ago that were >>>> probably related to JIT bugs. >>>> >>>> This fix simply tries to do the same thing as before, but with an >>>> earlier detection of NaN in one case, and by comparing directly the bits >>>> representation in another case, to avoid wrong optimizations. >>>> >>>> Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo >>>> Commit: >>>> http://git-wip-us.apache.org/repos/asf/commons-math/commit/c771c008 >>>> Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/c771c008 >>>> Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/c771c008 >>>> >>>> Branch: refs/heads/master >>>> Commit: c771c0080b08abd80418c4e88f1be3efec828f0a >>>> Parents: c8cb752 >>>> Author: Luc Maisonobe <l...@apache.org> >>>> Authored: Mon May 4 13:43:27 2015 +0200 >>>> Committer: Luc Maisonobe <l...@apache.org> >>>> Committed: Mon May 4 13:43:27 2015 +0200 >>>> >>>> ---------------------------------------------------------------------- >>>> .../org/apache/commons/math4/util/FastMath.java | 28 >>>> +++++++++----------- >>>> .../apache/commons/math4/util/FastMathTest.java | 4 +-- >>>> 2 files changed, 15 insertions(+), 17 deletions(-) >>>> ---------------------------------------------------------------------- >>>> >>>> >>>> >>>> >>>> http://git-wip-us.apache.org/repos/asf/commons-math/blob/c771c008/src/main/java/org/apache/commons/math4/util/FastMath.java >>>> ---------------------------------------------------------------------- >>>> diff --git a/src/main/java/org/apache/commons/math4/util/FastMath.java >>>> b/src/main/java/org/apache/commons/math4/util/FastMath.java >>>> index 24bb857..fcd03ea 100644 >>>> --- a/src/main/java/org/apache/commons/math4/util/FastMath.java >>>> +++ b/src/main/java/org/apache/commons/math4/util/FastMath.java >>>> @@ -315,6 +315,9 @@ public class FastMath { >>>> /** Mask used to clear the non-sign part of a long. */ >>>> private static final long MASK_NON_SIGN_LONG = 0x7fffffffffffffffl; >>>> >>>> + /** Bits representation of +1.0. */ >>>> + private static final long PLUS_ONE_BITS = 0x3ff0000000000000L; >>>> + >>>> /** 2^52 - double numbers this large must be integral (no fraction) >>>> or NaN or Infinite */ >>>> private static final double TWO_POWER_52 = 4503599627370496.0; >>>> /** 2^53 - double numbers this large must be even. */ >>>> @@ -1468,6 +1471,10 @@ public class FastMath { >>>> return x; >>>> } >>>> >>>> + if (y != y) { // Y is NaN >>>> + return y; >>>> + } >>>> + >>>> if (x == 0) { >>>> long bits = Double.doubleToRawLongBits(x); >>>> if ((bits & 0x8000000000000000L) != 0) { >>>> @@ -1485,18 +1492,13 @@ public class FastMath { >>>> >>>> if (y < 0) { >>>> return Double.POSITIVE_INFINITY; >>>> - } >>>> - if (y > 0) { >>>> + } else { >>>> return 0.0; >>>> } >>>> >>>> - return Double.NaN; >>>> } >>>> >>>> if (x == Double.POSITIVE_INFINITY) { >>>> - if (y != y) { // y is NaN >>>> - return y; >>>> - } >>>> if (y < 0.0) { >>>> return 0.0; >>>> } else { >>>> @@ -1505,21 +1507,17 @@ public class FastMath { >>>> } >>>> >>>> if (y == Double.POSITIVE_INFINITY) { >>>> - if (x * x == 1.0) { >>>> - return Double.NaN; >>>> - } >>>> - >>>> - if (x * x > 1.0) { >>>> + long bitsAbsX = MASK_NON_SIGN_LONG & >>>> Double.doubleToRawLongBits(x); >>>> + if (bitsAbsX > PLUS_ONE_BITS) { >>>> return Double.POSITIVE_INFINITY; >>>> - } else { >>>> + } else if (bitsAbsX < PLUS_ONE_BITS) { >>>> return 0.0; >>>> + } else { >>>> + return Double.NaN; >>>> } >>>> } >>>> >>>> if (x == Double.NEGATIVE_INFINITY) { >>>> - if (y != y) { // y is NaN >>>> - return y; >>>> - } >>>> >>>> if (y < 0) { >>>> long yi = (long) y; >>>> >>>> >>>> >>>> http://git-wip-us.apache.org/repos/asf/commons-math/blob/c771c008/src/test/java/org/apache/commons/math4/util/FastMathTest.java >>>> ---------------------------------------------------------------------- >>>> diff --git >>>> a/src/test/java/org/apache/commons/math4/util/FastMathTest.java >>>> b/src/test/java/org/apache/commons/math4/util/FastMathTest.java >>>> index 5d36fea..06a1d07 100644 >>>> --- a/src/test/java/org/apache/commons/math4/util/FastMathTest.java >>>> +++ b/src/test/java/org/apache/commons/math4/util/FastMathTest.java >>>> @@ -29,8 +29,6 @@ import >>>> org.apache.commons.math4.exception.MathArithmeticException; >>>> import org.apache.commons.math4.random.MersenneTwister; >>>> import org.apache.commons.math4.random.RandomGenerator; >>>> import org.apache.commons.math4.random.Well1024a; >>>> -import org.apache.commons.math4.util.FastMath; >>>> -import org.apache.commons.math4.util.Precision; >>>> import org.junit.Assert; >>>> import org.junit.Before; >>>> import org.junit.Ignore; >>>> @@ -393,6 +391,8 @@ public class FastMathTest { >>>> >>>> Assert.assertTrue("pow(-2.0, 3.5) should be NaN", >>>> Double.isNaN(FastMath.pow(-2.0, 3.5))); >>>> >>>> + Assert.assertTrue("pow(-0.0, NaN) should be NaN", >>>> Double.isNaN(FastMath.pow(-0.0, Double.NaN))); >>>> + >>>> // Added tests for a 100% coverage >>>> >>>> Assert.assertTrue("pow(+Inf, NaN) should be NaN", >>>> Double.isNaN(FastMath.pow(Double.POSITIVE_INFINITY, Double.NaN))); >>>> >>>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org >> For additional commands, e-mail: dev-h...@commons.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org