Skip to content

nmath bug (PR#762)

3 messages · spoon@hilbert.maths.utas.edu.au, Peter Dalgaard, Martyn Plummer

#
Hi,
	I've been playing with the standalone math library (R.1.1.1,
Redhat 7 i386), and have detected a problem with rpois.


Basically, the rejection step in rpois can result in an infinite loop.
The simplest thing I can come up with that reproduces the problem is
the following.


#include <stdio.h>
#include <math.h>
#include <time.h>

#define MATHLIB_STANDALONE
#include "Mathlib.h"

int main() {
  double d;

  set_seed(976259805U,2968367341U);

  for(long k=0; k<10; k++) {
    for(long k=0; k<10000; k++) d = rpois(4500);
    for(long k=0; k<250000; k++) d = rpois(100);
    printf(".");
    fflush(stdout);
  }
}

Fro me this prints 3 dots and then hangs.

I realize calling rpois with means this large is probably not the
wisest thing to do, nevertheless, I still consider the infinite loop
to be a bug, hence this report.

Sorry that I cannot give a simpler example than this, its taken me
quite a while to get this far, and as my debugging efforts were going
nowhere, I thought it better to throw it out to the wider community.

Simon
#
spoon@hilbert.maths.utas.edu.au writes:
Hmm. There are bugs in rpois from 1.1.1 *and* compiler bugs in redhat7
that are known to affect rpois...

In order to get something that has a decent chance of working you
should probably use a *very* recent gcc from the rawhide distribution,
and try a snapshot of 1.2.0.
#
On 08-Dec-00 Peter Dalgaard BSA wrote:
To be precise, you will need gcc-2.96-65 from the rawhide distribution.
However, this does not seem to have been released yet: I just checked on
ftp.redhat.com and the latest release is -64.

For details see
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=21423

Alternatively you can install gcc-2.95 (the latest *stable* compiler from
the gcc development team), which does not suffer from this bug.  If you want
to do this, look in the directory bin/linux/redhat/7.x/DIY/ on CRAN for
some tips.

Martyn
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._