[R] R unstable and crashes after executing .C
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Feb 21 13:02:20 CET 2007
This really is the wrong list for C programming questions related to R.
See the posting guide and consider R-devel.
See also the debugging advice in 'Writing R Extensions'.
Almost certainly your C code has destroyed R structures, most likely by
writing outside array bounds. Running under valgrind should tell you
about that.
You may or may not get a core dump, but you can run R under gdb. I
suspect though that the problem is that an internal gc is crashing.
On Wed, 21 Feb 2007, Sole Acha, Xavi wrote:
> Dear R listers,
>
> I have developed a C function to be executed from R through the ".C" interface. After doing dyn.load, the function executes properly and I get the results. However, after executing my function, R seems to get unstable and crashes (giving a segmentation fault and exiting) whenever I try to do ANYTHING with a relatively large object (creating a new one or even just writing the name of an existing one).
>
> I use R 2.4.0 under a Linux machine with 1 GB RAM. Below there is an example of execution, so you can get an idea of what is happening:
>
> --------------------
> dyn.load("my_C_module.so");
> res <- .C("my_C_function",.....); #The function executes fine and res is ok
> dyn.unload("my_C_module.so") #I know this isn't strictly necessary
>
> #Here R is still running, but when I execute:
>
> m <- matrix(0,1000,100); #I try to create a new object and R crashes
>
> *** caught segfault ***
> address 0x10, cause 'memory not mapped'
>
> Traceback:
> 1: matrix(0, 1000, 100)
>
> Possible actions:
> 1: abort (with core dump)
> 2: normal R exit
> 3: exit R without saving workspace
> 4: exit R saving workspace
> --------------------
>
> Although I tell R to abort and give me the core dump, it doesn't succeed in doing so.
>
> I would be grateful if anyone could tell me what could be the problem with my C function that makes R behave this way?
>
> Thank you very much in advance, and apologies for this long email.
>
> Xavier Solé.
--
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-help
mailing list