Re: [Rd] How to disable R's crash prompt

From: Dirk Eddelbuettel <edd_at_debian.org>
Date: Tue, 08 Mar 2011 09:09:34 -0600

On 8 March 2011 at 09:24, Wayne.Zhang_at_barclayscapital.com wrote:
| Dear R devel,
|
| I have a C++ app that calls into embedded R to perform some analytic calculations. When my app encounters a segmentation fault, R always prints the following crash prompt and asks me to enter an action:
|
|
| *** caught segfault ***
| address 0x8, 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
|
|
|
| The problem is my app will be run in non-interactive mode, so there is no way for me to enter the action. Is there a way to disable the crash prompt and have R simply crash the whole app? I have tried using "-file=/dev/null", "-slave", "-vanilla", and pretty much all other start options, to no avail.

Are you using RInside? You could try rebuilding it with the this (from src/RInside.cpp) set to true

bool verbose = false;

as well as with possibly more debugging output added to the RInside destructor (where I removed a few commented-out lines for brevity):

RInside::~RInside() { // now empty as MemBuf is internal

    logTxt("RInside::dtor BEGIN", verbose);

    R_dot_Last();
    R_RunExitFinalizers();
    R_CleanTempDir();

    Rf_endEmbeddedR(0);
    logTxt("RInside::dtor END", verbose);     instance_ = 0 ;
}

to at least confirm that you get here. And if you really,really wanted to I suppose you could try to do without some of these cleanup and finalizer functions. But I think that would send you into somewhat uncharted territory, so you probably want to do read Section 8.1 ("8.1 Embedding R under Unix-alikes") of Writing R Extension carefully. Best bet may still be to avoid the segfault alltogether if you can.

Hope this helps, Dirk

-- 
Dirk Eddelbuettel | edd@debian.org | http://dirk.eddelbuettel.com

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Tue 08 Mar 2011 - 15:12:02 GMT

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 Tue 08 Mar 2011 - 21:40:28 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