[R-SIG-Mac] R and Valgrind hangs on Snow Leopard

peter dalgaard pdalgd at gmail.com
Mon Aug 13 15:10:53 CEST 2012


On Aug 13, 2012, at 14:14 , Prof Brian Ripley wrote:

> On Mon, 13 Aug 2012, Cule, Erika wrote:
> 
>> (Reposted in plain text, with apologies)
>> 
>> I am having the problem described in this post:
>> 
>> https://stat.ethz.ch/pipermail/r-sig-mac/2011-November/008848.html
>> 
>> In summary, running Valgrind with R hangs.
>> 
>> As in the linked case above, if a file test.R contains the single command print(seq(10))
>> 
>> Then running the command
>> 
>> R -d "valgrind --tool=memcheck --leak-check=full" --vanilla < test.R
>> 
>> Produces the following output and hangs
>> 
>> ==78868== Memcheck, a memory error detector
>> ==78868== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
>> ==78868== Using Valgrind-3.9.0.SVN and LibVEX; rerun with -h for copyright info
>> ==78868== Command: /Library/Frameworks/R.framework/Resources/bin/exec/x86_64/R --vanilla
>> ==78868==
>> ==78868== Warning: ignored attempt to set SIGUSR2 handler in sigaction();
>> ==78868==          the SIGUSR2 signal is used internally by Valgrind
>> 
>> R version 2.15.1 (2012-06-22) -- "Roasted Marshmallows"
>> Copyright (C) 2012 The R Foundation for Statistical Computing
>> ISBN 3-900051-07-0
>> Platform: x86_64-apple-darwin10.8.0/x86_64 (64-bit)
>> 
>> R is free software and comes with ABSOLUTELY NO WARRANTY.
>> You are welcome to redistribute it under certain conditions.
>> Type 'license()' or 'licence()' for distribution details.
>> 
>> Natural language support but running in an English locale
>> 
>> R is a collaborative project with many contributors.
>> Type 'contributors()' for more information and
>> 'citation()' on how to cite R or R packages in publications.
>> 
>> Type 'demo()' for some demos, 'help()' for on-line help, or
>> 'help.start()' for an HTML browser interface to help.
>> Type 'q()' to quit R.
>> 
>>> 
>>> 
>>> 
>>> print(seq(10))
>> [1]  1  2  3  4  5  6  7  8  9 10
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> I have followed the advice previously posted by Simon, used the SVN build of valgrind and recompiled R from source with --with-valgrind-instrumentation=2
>> 
>> I am running Mac OS X 10.6.8, valgrind-3.9.0.SVN, R version 2.15.1 and Platform: x86_64-apple-darwin10.8.0/x86_64 (64-bit).
>> 
>> As was the case for the previous poster, a command such as
>> 
>> valgrind ls
>> 
>> works as expected.
>> 
>> I noted that Simon said he had no problem using valgrind from SVN on both Lion and Snow Leopard. Does anyone have any suggestion of what I might be doing differently, or what I could do to fix this problem?
> 
> 
> Not multiple post ... this is a second copy.
> 
> It does not work for me on Lion (I've never tried Snow Leopard).  As valgrind does not yet (even in the recent 3.8.0) really support Mountain Lion and we will be upgraded shortly (and BTW, Snow Leopard is now end-of-life for security patches), I've pretty much given up on valgrind on OS X.

I see the hang on Snow Leopard and Lion too. Something seems to be getting stuck during wrapup.

For whatever it is worth, I can make it snap out of it by attaching gdb to the valgrind process in another window (gdb -p 8228), then type c to continue:


peter-dalgaards-iMac:tmp pd$ R -d "valgrind --tool=memcheck --leak-check=full" --vanilla < test.R
==8228== Memcheck, a memory error detector
==8228== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==8228== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==8228== Command: /Library/Frameworks/R.framework/Resources/bin/exec/x86_64/R --vanilla
==8228== 
==8228== Warning: ignored attempt to set SIGUSR2 handler in sigaction();
==8228==          the SIGUSR2 signal is used internally by Valgrind

R version 2.15.1 (2012-06-22) -- "Roasted Marshmallows"
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> print(seq(10))
 [1]  1  2  3  4  5  6  7  8  9 10
> 
--8228:0:gdbsrv   readchar: poll got -1
==8228== 
==8228== HEAP SUMMARY:
==8228==     in use at exit: 29,164,319 bytes in 14,301 blocks
==8228==   total heap usage: 30,708 allocs, 16,407 frees, 48,229,523 bytes allocated
==8228== 
==8228== LEAK SUMMARY:
==8228==    definitely lost: 0 bytes in 0 blocks
==8228==    indirectly lost: 0 bytes in 0 blocks
==8228==      possibly lost: 0 bytes in 0 blocks
==8228==    still reachable: 29,150,957 bytes in 14,232 blocks
==8228==         suppressed: 13,362 bytes in 69 blocks
==8228== Reachable blocks (those to which a pointer was found) are not shown.
==8228== To see them, rerun with: --leak-check=full --show-reachable=yes
==8228== 
==8228== For counts of detected and suppressed errors, rerun with: -v
==8228== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 5 from 5)


-- 
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-SIG-Mac mailing list