Re: [Rd] .Call and Segmentation Fault

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Sun 28 Aug 2005 - 06:20:44 GMT

On Sat, 27 Aug 2005, Ricardo Luiz Andrade Abrantes wrote:

> Hi!
> Yes, I am returning a SEXP from the functions called from R, and the
> problem occurs before (thousands of iterations before) the return
> point.
> 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@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

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Sun Aug 28 16:24:36 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:19 GMT