Re: [Rd] Crash - cause 'memory not mapped'

From: Peter Langfelder <peter.langfelder_at_gmail.com>
Date: Fri, 09 Nov 2012 14:58:06 -0800

I'm not an expert, but from what I know you should certainly use the .Call interface when you define a function as you did. The problem is that your function must return a value (of type SEXP) which it does not. If you don't return a value, all bets are off as to what will happen, and if the internal R code uses a pointer to the result of your function, you can easily get memory map errors.

HTH, Peter

On Fri, Nov 9, 2012 at 2:31 PM, niandra <gianluca.mastrantonio_at_yahoo.it> wrote:
> i'm using the following c++ code
> using namespace std;
> #include <iostream>
> #include <stdio.h>
> #include <opencv/cv.h>
> #include <opencv2/core/core.hpp>
> #include <opencv2/highgui/highgui.hpp>
> #include <opencv/highgui.h>
> #include <opencv/cv.h>
> #include <R.h>
> #include <Rinternals.h>
> #include <Rmath.h>
>
> extern "C" {
> SEXP FiltroGaus(SEXP size1_r, SEXP size2_r, SEXP sigma_r) {
>
> int size1 = INTEGER(size1_r)[0];
> int size2 = INTEGER(size2_r)[0];
> double sigma = REAL(sigma_r)[0];
>
> }
> }
>
> The compilation go without errors but when in R i type
> .C("FiltroGaus",3,3,2)
> the message is: Errore: INTEGER() can only be applied to a 'integer', not a
> 'NULL'
> if i type .C("FiltroGaus",as.integer(3),as.integer(3),as.double(2))
> the message is Errore: INTEGER() can only be applied to a 'integer', not a
> 'closure'
>
> while if i type .Call("FiltroGaus",as.integer(3),as.integer(3),as.double(2))
> the message is
> NULL
>
> *** caught segfault ***
> address 0x200000be, cause 'memory not mapped'
>
> Possible actions:
> 1: abort (with core dump, if enabled)
> 2: normal R exit
> 3: exit R without saving workspace
> 4: exit R saving workspace
>
>
> I now, i need to study and i know also for sure the answer is in some book
> (i have lot). I swear i read a lot and i'm still reading, but i really need
> help :)
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Crash-cause-memory-not-mapped-tp4649141.html
> Sent from the R devel mailing list archive at Nabble.com.
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sat 10 Nov 2012 - 12:45:38 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 12 Nov 2012 - 02:30:50 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive