[R] some general advice sought on the use of gctorture()

Franckx Laurent laurent.franckx at vito.be
Fri Apr 24 15:49:31 CEST 2015

Dear all

I have bumped into the dreaded 'segfault' error type when running some C++ code using .Call().

I have already undertaken several attempts to debug the C++ code with gdb(), but until now I have been unable to pinpoint the origin of the problem. There are two elements that I think are puzzling (a) this .Call() has worked fine for about three years, for a variety of data (b)  the actual crash occurs at random points during the execution of the function (well, random from a human eye's point of view).

>From what I understand in the "R extensions" manual, the actual problem may have been around for a while before the actual call to the C++ code. As recommended in the manual, I am now using  gctorture() to try to pinpoint the origins of the problem. I can, alas, only confirm that gctorture() has an enormous impact on execution time, even for operations that are normally executed within the blink of an eye. From what I have seen until now, executing all the R code before the crash with gctorture(TRUE) could take months.

I suppose then that the best way to proceed would be to proceed backward from the point where the crash occurs when gctorture(FALSE).

I have tried to find some concrete examples of good practices in the use of gctorture() to identify memory problems in R, but most of what I have found on the web is simply a copy of the help page. Does anybody know more concrete and elaborated examples that could give an indication on how to best proceed further?

Laurent Franckx, PhD
Senior researcher sustainable mobility
VITO NV | Boeretang 200 | 2400 Mol
Tel. ++ 32 14 33 58 22| mob. +32 479 25 59 07 | Skype: laurent.franckx | laurent.franckx at vito.be | Twitter @LaurentFranckx

VITO Disclaimer: http://www.vito.be/e-maildisclaimer

More information about the R-help mailing list