Potential bug in mpz_import on AIX 5.3

Mike Pastore mike at oobak.org
Thu Sep 13 00:00:31 CEST 2007


GMP 4.2.2

The test program is essentially the example in the documentation for
mpz_import:

  #include <gmp.h>

  int main(int argc, char *argv[]) {
    unsigned long a[20];
    mpz_t z;
    mpz_import(z, 20, 1, sizeof(a[0]), 0, 0, a);
    return(0);
  }

Compiling this program with: 

  gcc -g example.c -o example -lgmp

And running it from the command line results in the following error:

  GNU MP: Cannot reallocate memory (old_size=2058812348 new_size=80)
  Resources lost

GMP was built with:

  ./configure ABI=32 --prefix=/sys/usr/local/graft-packages/gmp-4.2.2

gcc -v reports:

  Using built-in specs.
  Target: powerpc-ibm-aix5.3.0.0
  Configured with: /sys/usr/src/gcc-4.2.1/configure
  --with-as=/usr/bin/as 
    --with-ld=/usr/bin/ld --disable-nls --enable-languages=c,c++ 
    --prefix=/sys/usr/local --enable-threads
    --enable-version-specific-runtime-libs 
    --host=powerpc-ibm-aix5.3.0.0
  Thread model: aix
  gcc version 4.2.1

uname -a reports:

  AIX rwxd48l1 3 5 00C9D68A4C00

This is AIX 5.3L ML5.

config.guess reports:

  powerpc64-ibm-aix5.3.0.0

Here's the catch: Adding an mpz_init(z) before the mpz_import(z, ...)
completely resolves the problem. So either the documentation needs to be
updated, or the error message needs to be more descriptive (if
possible), or there's a bug under AIX that's preventing a
more-descriptive error message from being displayed. Please let me know
if I can provide any more information. Thank you!

--
Mike Pastore
mike at oobak.org


More information about the gmp-bugs mailing list