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é.
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.