[Rcpp-devel] Rcpp example that crashes on 64 bit Windows

Rajen Shah rds37 at cam.ac.uk
Thu Aug 11 18:05:50 CEST 2016


I realise there is a helpful section on this in

https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Checking-memory-access

which I'm now reading.

Thanks for your help.

Best,

Rajen

On 11 August 2016 at 10:45, Rajen Shah <rds37 at cam.ac.uk> wrote:

> > Have you tried running your code on the Mac after setting
> gctorture(TRUE)?
>
> No I have not tried this (and no longer have the Mac available
> unfortunately). I have a very limited understanding of memory management,
> but I guess you're suggesting setting this to TRUE would make sure that
> freed memory really is free, and so would help uncover an issue where the
> code tries to use memory that it has declared free?
>
> > By the way, valgrind showed the opposite of a memory leak - the code
> was using memory that it had declared free.  A leak is when the code does
> not free memory that it can no longer use.
>
> I am unfamiliar with how to interpret valgrid output, but are you deducing
> this from "allocs > frees"?
>
> Thanks: a useful way of finding the most horrible memory issue bugs it
> seems.
>
> Rajen
>
> On 11 August 2016 at 10:33, William Dunlap <wdunlap at tibco.com> wrote:
>
>> Have you tried running your code on the Mac after setting gctorture(TRUE)?
>>
>> By the way, valgrind showed the opposite of a memory leak - the code was
>> using memory that it had declared free.  A leak is when the code does not
>> free memory that it can no longer use.
>>
>> Bill Dunlap
>> TIBCO Software
>> wdunlap tibco.com
>>
>> On Thu, Aug 11, 2016 at 8:28 AM, Rajen Shah <rds37 at cam.ac.uk> wrote:
>>
>>> Many thanks Bill and Dirk.
>>>
>>> I'm now explicitly casting each element and this works fine. I was just
>>> surprised that this inappropriate use of wrap would cause a memory leak on
>>> certain OS's and run without problems on others.
>>>
>>> Best wishes,
>>>
>>> Rajen
>>>
>>> On 11 August 2016 at 10:18, Dirk Eddelbuettel <edd at debian.org> wrote:
>>>
>>>>
>>>> To follow-up, if we avoid the cast this works just find as you'd expect:
>>>>
>>>> R> cppFunction("NumericVector myrunif() { return floor(runif(1000000));
>>>> }")
>>>> R> for (i in 1:100) ignoreme <- myrunif()
>>>> R>
>>>>
>>>> Dirk
>>>>
>>>> --
>>>> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20160811/e2fbdcab/attachment-0001.html>


More information about the Rcpp-devel mailing list