[R] segfault when calling C code
Prof Brian D Ripley
ripley at stats.ox.ac.uk
Fri Jan 5 08:42:30 CET 2001
On Thu, 4 Jan 2001, Matthew Wiener wrote:
> Hi, all.
> I've got some C code that I've used successfully, and fairly extensively,
> in R-1.1.1, which is suddenly causing segmentation faults in R-1.2.0. The
> original code used calloc (just plain calloc) with a free at the end, but
> I've tried replacing the calloc with R_alloc (based on the Writing R
> extensions documentation, which I'm not sure I've understood properly),
> and also passing in variables with enough space (I know how much it will
> be). Neither change gets rid of the segmentation fault.
> In case it helps, here's one of the 2 callocs (the other is identical,
> with a different name):
> trunccdfs = (double *) calloc(*nbins * *nconds, sizeof(double));
> Before jumping in with a debugger (and running R with debugging for the
> first time) I thought I'd see whether this rang any bells with anyone.
> Again, the part that confuses me (but that may be the clue as to what's
> wrong) is that this code worked fine with R-1.1.1.
> If more details would be helpful I'd be happy to provide them. This
> message is, as I said, just in case this is a common problem in the
> transition to R-1.2.0.
We saw a few examples in which array over-runs caused problems with 1.2.0
and not 1.1.1. I also saw a couple of Windows-specific problems.
The `free' in 1.1.1 was very robust (mainly because it didn't free
quite often), and that used in 1.2.0 is less so.
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
r-help 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-help-request at stat.math.ethz.ch
More information about the R-help