On Saturday 04 September 2010 11:09:23 Jason wrote:
> The problem is that the gmp-mparam.h for core2 and nehalem have some bad
> values in , when I replaced it with the k8 version  it was OK.
> I have to narrow down which values seem to be bad
> 

Actually thats not true , the values could be good , its just that it follows 
a different code path. Building with --enabel-assert we get this assertion 
failure when we run the code

inv_divappr_q.c:46: GNU MP assertion failed: nn > dn
Aborted


> Jason
> 
> On Saturday 04 September 2010 10:18:05 Jason wrote:
> > Hi
> > 
> > I can reproduce this error , I'm using gcc 4.4.4 , but only if I do a
> > build for core2 or nehalem , the k8 build is OK , so perhaps it's the
> > CFLAGS=- march=core2 that causes it?
> > I'll change the flags and see if that makes a difference
> > 
> > Jason
> > 
> > On Friday 03 September 2010 23:49:14 Bill Hart wrote:
> > > On 3 September 2010 23:44, Bill Hart <[email protected]> 
wrote:
> > > > Hi Jeroen,
> > > > 
> > > > I've tried a variety of things to replicate this bug, including
> > > > valgrinding with symbols on in MPIR and various compiler optimisation
> > > > flags, but at least on my machine, I can't replicate it.
> > > > 
> > > > If you have time, could you possibly help by taking the following
> > > > steps:
> > > > 
> > > > 1) Download a fresh copy of MPIR 2.1.1 from our website:
> > > > http://www.mpir.org/ 2) Run ./configure; make; make check to verify
> > > > that the library
> > > > appears to compile OK on your machine (you could also try building
> > > > your program against this clean library again if you haven't already
> > > > done this)
> > > > 3) Run ./configure again until about 30 lines are showing. You'll see
> > > > something like
> > > > 
> > > >       CFLAGS="-O2 -m64 -march=k8 -mtune=k8"
> > > > 
> > > > which will be indented (the string on your machine will be
> > > > different). Copy the string that shows and alter the -O2 (or
> > > > whatever you have) to -g, and pass to ./configure, e.g..:
> > > > ./configure CFLAGS="-g -m64 -march=k8 -mtune=k8"
> > > > 4) do
> > > > make clean
> > > > make
> > > > 5) build your program against MPIR (to prevent it picking up a stray
> > > > copy elsewhere, use -static when linking -- the library being in the
> > > > .libs directory, the .h file in the top level directory of the MPIR
> > > > source tree -- you'll have to set the -I and -L flags to gcc
> > > > accordingly), e.g. I put the program in the top level mpir source
> > > > directory and used:
> > > > gcc -O2 mpirtest.c -o mpirtest -I. -L../.libs -lmpir -static
> > > 
> > > Sorry, that should read:
> > > 
> > > gcc -O2 mpirtest.c -o mpirtest -I. -L.libs -lmpir -static
> > > 
> > > > 6) If you have valgrind installed on your machine, type:
> > > > valgrind ./mpirtest
> > > > and report to us the output. If not, a gdb backtrace, as you gave,
> > > > may be sufficient.
> > > > 7) If you have access to any other version of gcc on the same
> > > > machine, it would also be useful to know if the same bug occurs with
> > > > that version of gcc.
> > > > 
> > > > This *may* be a compiler bug, but at this stage we have to assume it
> > > > is more likely a bug in our code within MPIR.
> > > > 
> > > > Bill.
> > > > 
> > > > On 3 September 2010 22:10, Jeroen Demeyer <[email protected]>
> 
> wrote:
> > > >> Hello mpir-devel,
> > > >> 
> > > >> I think I found a bug in MPIR 2.1.1 in mpz_divexact() (or I'm doing
> > > >> something something very stupid).  Running the following program
> > > >> gives a Segmentation Fault:
> > > >> 
> > > >> #include <mpir.h>
> > > >> int main()
> > > >> {
> > > >> 
> > > >>    mpz_t Z, R;
> > > >>    mpz_init(Z);
> > > >>    mpz_init(R);
> > > >>    mpz_ui_pow_ui(Z, 10, 100000);
> > > >>    mpz_divexact(R, Z, Z);
> > > >>    return 0;
> > > >> 
> > > >> }
> > > >> 
> > > >> 
> > > >> gdb backtrace:
> > > >> 
> > > >> Program received signal SIGSEGV, Segmentation fault.
> > > >> 0x00007fa2f2b5245d in mpn_submul_1 () from
> > > >> /usr/local/src/pari/local/lib/libmpir.so.8
> > > >> (gdb) bt
> > > >> #0  0x00007fa2f2b5245d in mpn_submul_1 () from
> > > >> /usr/local/src/pari/local/lib/libmpir.so.8
> > > >> #1  0x00007fa2f2b73e72 in __gmpn_sb_divappr_q () from
> > > >> /usr/local/src/pari/local/lib/libmpir.so.8
> > > >> #2  0x00007fa2f2b812f2 in __gmpn_inv_divappr_q () from
> > > >> /usr/local/src/pari/local/lib/libmpir.so.8
> > > >> #3  0x00007fa2f2b88765 in __gmpn_divexact () from
> > > >> /usr/local/src/pari/local/lib/libmpir.so.8
> > > >> #4  0x00007fa2f2b3fb4b in __gmpz_divexact () from
> > > >> /usr/local/src/pari/local/lib/libmpir.so.8
> > > >> #5  0x0000000000400741 in main () at mpirtest.c:8
> > > >> 
> > > >> 
> > > >> My system is:
> > > >> 
> > > >> $ uname -a
> > > >> Linux arcanis 2.6.32-gentoo-r7 #5 SMP Thu Jun 10 23:07:26 CEST 2010
> > > >> x86_64 Intel(R) Core(TM)2 Duo CPU T5870 @ 2.00GHz GenuineIntel
> > > >> GNU/Linux
> > > >> 
> > > >> $ ./config.guess
> > > >> core2-unknown-linux-gnu
> > > >> 
> > > >> $ gcc --version
> > > >> gcc-4.4.3 (Gentoo 4.4.3-r2 p1.2) 4.4.3
> > > >> 
> > > >> This is with MPIR 2.1.1 configured with ./configure
> > > >> --enable-gmpcompat
> > > >> 
> > > >> 
> > > >> This bug was found thanks to Sage (see
> > > >> http://trac.sagemath.org/sage_trac/ticket/9837)
> > > >> 
> > > >> 
> > > >> Jeroen Demeyer.
> > > >> 
> > > >> --
> > > >> You received this message because you are subscribed to the Google
> > > >> Groups "mpir-devel" group. To post to this group, send email to
> > > >> [email protected]. To unsubscribe from this group, send
> > > >> email to [email protected]. For more options,
> > > >> visit this group at http://groups.google.com/group/mpir-devel?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to