Dear R users, I have to catch a nasty bug and would appreciate any advice or help! I get a segfault (core dumped) that happens in one of my own functions. The problem is, it does not happen most of the time, only sometimes, so it's very hard to reproduce. Or it may run ok in interactive mode, but bug out in batch mode. Also, it tends to happen more on the slower of my 2 machines (PII 266), then I run it on the faster one (PII 400) and it usually works (but then bugs out there as well, at some other time)... Once it starts to segfault, re-running my script typically doesn't help, it does it over and over, even though I start a new R process every time. I found out that if I insert some cat()'s or print()'s in that function, it typically goes through, although I may have to insert several before it works, and it doesn't help in every case. I don't think sending in my function would be very helpful - it's actually called from a few other functions, and then again, it's not reproducable in any reliable way... (but I'll be glad to send it if it's useful) I've actually narrowed down where it happens in the function, looks like it's at a call to sweep(). Of course, I can easily send the 'core' file... The best thing for me would be some advice on how to track a problem like this? What's the best debugging tool and/or method I should use? Is there a tutorial on debugging in R? I read in FAQ that ESS is the way to go for debugging, but I am starting to look at it , so it'll be some time before I could do something intelligent. Would appreciate any hints on how to do debugging in it! BTW, how do I use Up & Down keys for command history in XEmacs R mode? I see in the ESS buffer: Making Process...Buf *R*, Proc R, Prog R Start File=nil, Args= --no-readline . I guess I don't want --no-readline; how do I change it? (I have to admit - having to use emacs is no fun :-( so far) Info that may help: RedHat-6.2 on Intel (PII 266 and 400) 512M RAM R 1.1.1 compiled from tar Thank you Aleksey -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
How do I track a segfault?
2 messages · Aleksey Naumov, A.J. Rossini
"AN" == Aleksey Naumov <naumov at acsu.buffalo.edu> writes:
AN> method I should use? Is there a tutorial on debugging in R? I
AN> read in FAQ that ESS is the way to go for debugging, but I am
AN> starting to look at it , so it'll be some time before I could
AN> do something intelligent. Would appreciate any hints on how to
AN> do debugging in it!
Debugging R itself, or your code?
AN> BTW, how do I use Up & Down keys for command history in XEmacs
AN> R mode? I see in the ESS buffer:
ESC-p and ESC-n go up and down the command-line. If you've already
got text on the command-line, it will match that text.
AN> Making Process...Buf *R*, Proc R, Prog R Start File=nil, Args=
AN> --no-readline .
AN> I guess I don't want --no-readline; how do I change it?
You want it. Trust me.
ESS help is easier to find on the ESS-help mailing list.
Emacs is fun. At least once you've used it for 15+ years.
best,
-tony
A.J. Rossini Rsrch. Asst. Prof. of Biostatistics BlindGlobe Networks (home/default) rossini at blindglobe.net UW Biostat/Center for AIDS Research rossini at u.washington.edu FHCRC/SCHARP/HIV Vaccine Trials Net rossini at scharp.org FHCRC: M/Tu: 206-667-7025 (fax=4812) | Voicemail is pretty sketchy CFAR: W/F: 206-731-3647 (fax=3694) | Email is far better than phone UW: Th/F: 206-543-1044 (fax=3286) | Change last 4 digits of phone for fax -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._