[Rcpp-devel] (Very) rare segfault

William Dunlap wdunlap at tibco.com
Wed Aug 20 20:55:51 CEST 2014


The point of gctorture(TRUE), preferably used with an address-validity
checker like valgrind, is that you are alerted the first time you use
an address that you did not allocate for your use.  With
gctorture(FALSE) you are alerted after the n'th bad usage, where n
depends on when the garbage collector happened to be called.  n may be
quite large.  Lots of program behavior may have changed because of the
undetected bad memory usage.

Using gctorture(TRUE) will almost always take longer, but you cannot
easily extrapolate to find the time it will take to uncover the bad
memory usage.

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Wed, Aug 20, 2014 at 11:24 AM, Gregor Kastner
<gregor.kastner at wu.ac.at> wrote:
> Thanks to all three of you for your blazing responses.
>
>> | 1. Try running the code with `gctortue(TRUE)` on,
>
> Currently running. Extrapolating from the performance I see now I expect the
> bug to reappear in <10 years...
>
>> | 2. Try running with a debugger (gdb, lldb, valgrind),
>> | 3. Try running with sanitizers (see e.g. Dirk's docker
>> containers: https:// | github.com/eddelbuettel/docker-ubuntu-r)
>>
>> 3.b  Also https://github.com/eddelbuettel/docker-debian-r with newer
>> compilers
>> | This should help provide you (and/or us) enough information to diagnose
>> the | problem.
>
> That requires a bit more studying on my side; I'll get to that immediately
> after finishing those 3 open papers :)
>
>> Moonshoot:  Do you by chance insert RNGScope instances?  We have at times
>> have had issues with their handshaking of state back to R, temp objects etc
>> pp.
>
> Alas, magician! Indeed, removing the "RNGScope scope;" line seems to put and
> end to the weirdness. I guess I'll rely on the seed being set in R for now.
>
> BTW, I can now confirm that the issue appeared during the transition from
> 0.10.6 to 0.11.0.
>
> I really hope to be able to provide some more information some time soon.
>
> Thanks for now,
> Gregor
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel


More information about the Rcpp-devel mailing list