Help stabilising mini-gmp

Torbjörn Granlund tg at gmplib.org
Mon Nov 14 14:49:12 UTC 2016


I recently enabled automated testing of mini-gmp, the little
library-in-the-library which comes with GMP.  It has thus far discovered
these problems:

1. GMP_CHECK_RANDOMIZE is not always printed for failing tests.  This
   makes it hard to reproduce intermittent failures.  It needs to be
   printed earlier, and/or a buffer needs flushing.

2. There are inexplicable timeouts (or possibly excessive memory use)
   triggered by t-pprime_p for some of our systems:

     armel.sys.gmplib.org-dyn:32, g5.gmplib.org-dyn:32,
     m68k.sys.gmplib.org-m68040-stat:standard,
     m68k.sys.gmplib.org-m68040-dyn:standard.

   Perhaps the test is simply too slow, or its time varies hugely, or it
   hits an infinite loop.

3. The mini-gmp check target fails when the main build does not use the
   compiler default ABI.  This affects:

     hannahsol32.gmplib.org-dyn:32
     hannahsol32.gmplib.org-dyn-fat:32
     shell.gmplib.org-dyn-clang36-clang++36-fat:32
     shell.gmplib.org-dyn-clang36-clang++36:32
     shell.gmplib.org-dyn-clang35-clang++35-fat:32
     shell.gmplib.org-dyn-clang35-clang++35:32
     shell.gmplib.org-dyn-clang34-clang++34-fat:32
     shell.gmplib.org-dyn-clang34-clang++34:32
     shell.gmplib.org-dyn-clang33-clang++33-fat:32
     shell.gmplib.org-dyn-clang33-clang++33:32

   One may wonder why not more configs are affected!

4. There are failures with t-str, this affects
   olympic.gmplib.org-dyn:64, olympic.gmplib.org-stat:64,
   olympic.gmplib.org:64.

5. The t-div test intermittently fails on at least
   sky.gmplib.org-k10-dyn-clang-3.6-clang++-3.6:64 (note that it uses
   clang, which means the likelihood of a compiler bug being the culprit
   is perhaps high).

6. The t-limbs test triggers an assert.  It looks like any config could
   trigger this, but thus far it has only happened on
   shell.gmplib.org-dyn-gcc49-g++49:64, ivydeb32v7.gmplib.org-stat-fat:32.

7. On alpha, t-cmp_d fails:
     dupont.gmplib.org-alphaev4-dyn:standard,
     dupont.gmplib.org-alphaev4-stat:standard
     dupont.gmplib.org-alphaev5-dyn:standard
     dupont.gmplib.org-alphaev5-stat:standard
     dupont.gmplib.org-dyn:standard
     dupont.gmplib.org-stat:standard

8. There are what looks like genuine arithmetic problems triggered by
   t-gcd.  But since the only example is
   shell.gmplib.org-stat-clang35-clang++35-fat:32 which uses clang, it
   might also be a compiler bug.

I am busy with other GMP projects in this period, and the main mini-gmp
maintainer is busy at work.  If you have time and skill, please help us
address these problems!

-- 
Torbjörn
Please encrypt, key id 0xC8601622


More information about the gmp-devel mailing list