Closed isuruf closed 4 years ago
Thanks. It's safe to simply increase the percentage of cases that are allowed to fail on 32 bit machines. I assume it was running many more than two times.
On 11 April 2016 at 15:57, Isuru Fernando notifications@github.com wrote:
pollard_brent.... This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. FAIL : Pollard Rho - Brent failed too many times (2 times)
This is a 32 bit build on Windows in MSYS2 env, MinGW-w64 toolchain
Full log is here, https://ci.appveyor.com/project/isuruf/flint2/build/1.0.11/job/6nw8yfp5qd8jwfgi
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/wbhart/flint2/issues/255
Yes, it was running 40 times and failed 2 times, but the test is designed to fail if there are more than 1 failure.
Then the test can safely be changed to allow 2 failures. It's only supposed to check that the function is useful in a majority of cases. I guess it was set to a value that made the test code pass.
Technically the number of failures should be related somehow to the number of iterations. And if the number of iterations is related to flint_test_multiplier() then so should the number of failures be related to it.
Anyway, this is brand new code which I am delighted to hear works on 32 bit machines.
On 11 April 2016 at 16:17, Isuru Fernando notifications@github.com wrote:
Yes, it was running 40 times and failed 2 times, but the test is designed to fail if there are more than 1 failure.
— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/wbhart/flint2/issues/255#issuecomment-208368638
Will do the change. Actually number of test cases is 40*flint_test_multiplier()
and only flint_test_multiplier()
failures are allowed.
It's a 64 bit machine, but built using MinGW-w64 i686 toolchain.
Another failure
get_mpn....
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
conversion failed.
n : 2251799813161472
converted value : 9671388110172963982541312
./Makefile.subdirs:91: recipe for target '../build/fmpz/test/t-get_mpn.exe_RUN' failed
make[1]: *** [../build/fmpz/test/t-get_mpn.exe_RUN] Error 3
I think I've seen this one before. I don't know if I managed to figure out what caused it.
On 12 April 2016 at 14:44, Isuru Fernando notifications@github.com wrote:
Another failure
get_mpn.... This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. conversion failed. n : 2251799813161472 converted value : 9671388110172963982541312 ./Makefile.subdirs:91: recipe for target '../build/fmpz/test/t-get_mpn.exe_RUN' failed make[1]: *\ [../build/fmpz/test/t-get_mpn.exe_RUN] Error 3
— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/wbhart/flint2/issues/255#issuecomment-208886097
I fixed a related failure in n_factor_ecm today. I haven't seen either of the other failures yet.
The first issue is fixed in trunk.
The second issue is a mystery. This is a particularly simple function which simply allocates an array, copies some limbs into it and returns the number of limbs. The test code had some dodgy bits, which I've fixed. But I don't think any of them are relevant to the bug.
I've added a regression test for this specific value of n with some printing of various things to see if we can identify the problem.
@isuruf Could you possible run this again on your 64 bit machine with the i686 toolchain (so that FLINT_BITS==32) and see if the problem still exists. I suspect this can only be a compiler bug as the code itself is trivial.
@isuruf Don't worry, I can see that you fixed the test code, which was using 64 instead of 32 for the number of bits on a 32 bit machine, which explains the bug. If the CI passes now, this is fixed ages ago.
This is a 32 bit build on Windows in MSYS2 env, MinGW-w64 toolchain
Full log is here, https://ci.appveyor.com/project/isuruf/flint2/build/1.0.11/job/6nw8yfp5qd8jwfgi