On 8 March 2011 at 09:24, wayne.zh...@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 | e...@debian.org | http://dirk.eddelbuettel.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel