[Rd] .Call and Segmentation Fault
Prof Brian Ripley
ripley at stats.ox.ac.uk
Sun Aug 28 08:20:44 CEST 2005
On Sat, 27 Aug 2005, Ricardo Luiz Andrade Abrantes wrote:
> Yes, I am returning a SEXP from the functions called from R, and the
> problem occurs before (thousands of iterations before) the return
> In fact I runned valgrind into R and when I call ".Call(...) " I got
> many errors like:
> ==4324== Use of uninitialised value of size 8
> ==4324== at 0x1CB0766D: tnls_ (gencan.f:4101)
> ==4324== by 0x1CB01962: gencan_ (gencan.f:1876)
> ==4324== by 0x1CAFECA5: easygencan_ (gencan.f:440)
> ==4324== by 0x1CB0B47D: algencan_ (algencan.f:517)
> ==4324== by 0x1CB09E74: easyalgencan_ (algencan.f:76)
> ==4324== by 0x1CAFE5B3: main (algencanma.c:808)
> what does not happens when I compile the algencanma as a regular
> program (not a library) and run it from shell. Valgrind does not find
> anything wrong when I run the program directly, except 2 missing
> free() calls.
> Do you have any ideas where the problem lies (R .Call function or C program)?
It cannot be .Call: your .Call passed no parameters so there was nothing
to be uninitialized. I did ask you why you were doing that.
.Call is very heavily tested in lots of R applications, so the prior
probability of innocence must be very high.
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 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel