Ubuntu.Diego
2008-Oct-03 18:56 UTC
[R] What is the meaning of "segfault 'memory not mapped' " ?
I'm trying to get some "easy coding" to reproduce the error. In the meantime I have R code that run for 20 or more hours and suddenly i got a "segfault 'memory not mapped'" error. I have to clarify that the error not alway occurs and sometimes the process end satisfactorily. The process is basically a search using an MCMC strategy, sometimes the algorithm converge and stops others I got the error message. I was wondering if it could be meaning that I run out of RAM. Thanks PS: I don't want to submit code that maybe after 48 hours of running still don't generate the error.
Ben Bolker
2008-Oct-03 20:14 UTC
[R] What is the meaning of "segfault 'memory not mapped' " ?
Ubuntu.Diego <ubuntu.diego <at> gmail.com> writes:> > I'm trying to get some "easy coding" to reproduce the error. In the > meantime I have R code that run for 20 or more hours and suddenly i got > a "segfault 'memory not mapped'" error. I have to clarify that the error > not alway occurs and sometimes the process end satisfactorily. The > process is basically a search using an MCMC strategy, sometimes the > algorithm converge and stops others I got the error message. I was > wondering if it could be meaning that I run out of RAM. > Thanks > > PS: I don't want to submit code that maybe after 48 hours of running > still don't generate the error. >that makes sense ... We need more information about what you are trying to do, what packages you're using, etc.. In general a segfault means a bug -- in R if the functions you're using are base R, but more likely in C code that you wrote or that comes from a contributed package (since the C code in R has been pretty thoroughly hammered on, it's much less likely -- although not impossible -- that it contains a memory bug like this). If you're using C code you wrote yourself, it's almost certainly in there. Can you tell us what functions you were using, results of sessionInfo, etc. ? If it's your own code or if you're feeling adventurous you can try to use valgrind to locate the problem -- see http://finzi.psych.upenn.edu/R/Rhelp02a/archive/124215.html for a start, or the R Extensions manual ... Ben Bolker
Thomas Lumley
2008-Oct-05 20:22 UTC
[R] What is the meaning of "segfault 'memory not mapped' " ?
On Fri, 3 Oct 2008, Ubuntu.Diego wrote:> I'm trying to get some "easy coding" to reproduce the error. In the > meantime I have R code that run for 20 or more hours and suddenly i got > a "segfault 'memory not mapped'" error. I have to clarify that the error > not alway occurs and sometimes the process end satisfactorily. The > process is basically a search using an MCMC strategy, sometimes the > algorithm converge and stops others I got the error message. I was > wondering if it could be meaning that I run out of RAM.The 'memory not mapped' error means that your code is reading from or writing to memory that it doesn't own. This should have nothing to do with running out of RAM. If this is pure R code you have found a bug in R. If you are calling your own C code it is more likely to be a bug there. If your C code uses PROTECT/UNPROTECT it is even more likely to be there. Usually the best way to track down these bugs is to run the code under Valgrind, but this is slow, which will be a problem for code that already takes many hours. If you are extremely lucky, the crash will have happened on the first incorrect memory access. Running R under a debugger such as gdb you can use backtrace after the crash occurs to find where the bug happened. Unfortunately it is quite likely that the crash happened because some earlier piece of code overwrote a stored variable or something similar. The fact that the segfault occurs only some of the time reinforces this, especially if you don't always get the crash even with the same sequence of random numbers. If you have a Linux computer that you can use for a week or so it would be worth running your code under Valgrind to see if it finds the problem. -thomas Thomas Lumley Assoc. Professor, Biostatistics tlumley at u.washington.edu University of Washington, Seattle