I don't think I can offer anything beyond the Valgrind FAQ at this point. I 
kind of suspect that the other trace -- pointing to where the offending piece 
of memory was allocated --would provide the better clue about the source of the 
problem.

-pd 

> On 25 May 2017, at 04:47 , Merlise Clyde, Ph.D. <cl...@duke.edu> wrote:
> 
> Thanks - I missed that one!   After identifying the problem there, and 
> increasing --num-callers in  my .valgrindrc file I can see more of the trace, 
> however, I still have short entries like 
> 
> > cleanEx()
> ==2044952== Conditional jump or move depends on uninitialised value(s)
> ==2044952==    at 0x405A0CB: ???
> ==2044952==    by 0x189D0A5F: ???
> ==2044952==    by 0x189D0A5F: ???
> ==2044952==    by 0x189D0A7B: ???
> ==2044952==    by 0xFFEFED09F: ???
> ==2044952== 
> detaching  package:MASS 
> 
> Any suggestions on how to get more details on what is occurring at that 
> point?   
> 
> Thanks!
> Merlise
> From: peter dalgaard <pda...@gmail.com>
> Sent: Tuesday, May 23, 2017 6:40 PM
> To: Merlise Clyde, Ph.D.
> Cc: r-package-devel@r-project.org
> Subject: Re: [R-pkg-devel] Help package checks using valgrind
>  
> 
> > On 23 May 2017, at 23:40 , Merlise Clyde, Ph.D. <cl...@duke.edu> wrote:
> > 
> > I am trying to resolve the Additional Issues reported by CRAN @ 
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.stats.ox.ac.uk_pub_bdr_memtests_valgrind_BAS-2DEx.Rout&d=DwIFaQ&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=NOkxkvdFOOffXzeTY2kgZQ&m=NwjTuJcFlu_aiLanr5CmvC1iVoHoWRZ7GZRFeq3WOBE&s=58920PEhsbU1YFCH1hHuLt2t9FcOYIAvfZq_swf1lLc&e=
> >   for my package BAS which calls C and Fortran.
> > 
> > The output from the above URL is not particularly informative (at least to 
> > me) for identifying where the problems are in the source code, as there are 
> >  missing file names and line numbers as seen in this snippet from the above 
> > url:
> > 
> 
> The first of those traces does actually point to something that should be 
> useful to you:
> 
> > cleanEx()
> ==9861== Conditional jump or move depends on uninitialised value(s)
> ==9861==    at 0x403DBF3: ???
> ==9861==    by 0x1702DE57: ???
> ==9861==    by 0x1702DE57: ???
> ==9861==    by 0x1702DE73: ???
> ==9861==    by 0xFFEFF861F: ???
> ==9861==  Uninitialised value was created by a heap allocation
> ==9861==    at 0x4C2BBAD: malloc 
> (/builddir/build/BUILD/valgrind-3.11.0/coregrind/m_replacemalloc/vg_replace_malloc.c:299)
> ==9861==    by 0x4E5AFE: GetNewPage (svn/R-devel/src/main/memory.c:875)
> ==9861==    by 0x4E77AF: Rf_allocVector3 (svn/R-devel/src/main/memory.c:2651)
> ==9861==    by 0x14B29729: sampleworep 
> (packages/tests-vg/BAS/src/sampleworep.c:395)
> ==9861==    by 0x47C36D: R_doDotCall (svn/R-devel/src/main/dotcode.c:617)
> 
> i.e. you are allocating something at sampleworep.c:395 but it isn't 
> initialized before something somewhere uses its value to make a decision. So 
> possibly you should initialize the vector immediately after allocation.
> 
> In the other cases, you seem to be too deep in R internals to let you see the 
> origin in your package, i.e., your stack traces are too short. According to 
> the Valgrind FAQ, you can use --num-callers to make them longer. Figuring out 
> how to pass that to valgrind as invoked by R is, um, left as an exercise for 
> the reader.
> 
> -pd
> 
> > 
> >> cleanEx()
> > ==9861== Conditional jump or move depends on uninitialised value(s)
> > ==9861==    at 0x403DBF3: ???
> > ==9861==    by 0x1A694397: ???
> > ==9861==    by 0x1A694397: ???
> > ==9861==    by 0x1A6943B3: ???
> > ==9861==    by 0xFFEFF861F: ???
> > ==9861==  Uninitialised value was created by a heap allocation
> > ==9861==    at 0x4C2BBAD: malloc 
> > (/builddir/build/BUILD/valgrind-3.11.0/coregrind/m_replacemalloc/vg_replace_malloc.c:299)
> > ==9861==    by 0x4E5AFE: GetNewPage (svn/R-devel/src/main/memory.c:875)
> > ==9861==    by 0x4E77AF: Rf_allocVector3 
> > (svn/R-devel/src/main/memory.c:2651)
> > ==9861==    by 0x4E79A8: Rf_allocVector 
> > (svn/R-devel/src/include/Rinlinedfuns.h:196)
> > ==9861==    by 0x4E79A8: R_alloc (svn/R-devel/src/main/memory.c:2160)
> > ==9861==    by 0x540C52: logicalSubscript 
> > (svn/R-devel/src/main/subscript.c:563)
> > ==9861==    by 0x5437BE: realSubscript 
> > (svn/R-devel/src/main/subscript.c:723)
> > ==9861==    by 0x5437BE: Rf_makeSubscript 
> > (svn/R-devel/src/main/subscript.c:980)
> > ==9861==    by 0x5455AB: VectorSubset (svn/R-devel/src/main/subset.c:188)
> > ==9861==    by 0x5455AB: do_subset_dflt (svn/R-devel/src/main/subset.c:826)
> > ==9861==    by 0x4A8539: VECSUBSET_PTR (svn/R-devel/src/main/eval.c:5179)
> > ==9861==    by 0x4A8539: bcEval (svn/R-devel/src/main/eval.c:6618)
> > ==9861==    by 0x4B685F: Rf_eval (svn/R-devel/src/main/eval.c:624)
> > ==9861==    by 0x4B894E: R_execClosure (svn/R-devel/src/main/eval.c:1614)
> > ==9861==    by 0x4EA827: dispatchMethod (svn/R-devel/src/main/objects.c:335)
> > ==9861==    by 0x4EAC12: Rf_usemethod (svn/R-devel/src/main/objects.c:375)
> > ==9861==
> > 
> > 
> > 
> > To see if I could replicate locally and debug, I have built R 3.4.0 with 
> > valgrind-3.11.0 on FC 23  using the configuration options
> > 
> > ./configure --with-valgrind-instrumentation=2 
> > --with-system-valgrind-headers=yes CFLAGS='-g -O0' FCFLAGS='-g -O0’
> > 
> > My package is built also using -g and -O0 for debugging and turning off 
> > optimization.
> > 
> > Running  valgrind on the output from examples/vignettes from R CMD check
> > 
> > R -d "valgrind --tool=memcheck --leak-check=full --track-origins=yes" 
> > --vanilla < BAS.Rcheck/BAS-Ex.R
> > 
> > produces similar output as from CRAN -  i.e. no line numbers to code  (I 
> > have also tried travis-CI which indicates no problems and  R-devel under 
> > docker  which also replicates the non informative messages of CRAN :-)  so 
> > clearly missing something to produce the line numbers.
> > 
> > Questions:
> > 
> > 
> > 1) Are these problems with libraries outside of my code  or fortran  and I 
> > can ask CRAN to ignore? How can I tell if these are problems with system 
> > libraries (i.e. configuration on my system, but also those for CRAN) rather 
> > than my package code?
> > 
> > 2) Any suggestions for other configuration options (system, R, package. 
> > valgrind) that would provide more informative output?
> >    (for Fedora or any other platforms using docker)
> > 
> > 3) Any alternative methods recommended for tracking this down instead of 
> > using valgrind?
> > 
> > 
> > 
> > Thanks!
> > Merlise
> > 
> >> sessionInfo()
> > R version 3.4.0 (2017-04-21)
> > Platform: x86_64-pc-linux-gnu (64-bit)
> > Running under: Fedora 23 (Twenty Three)
> > 
> > Matrix products: default
> > BLAS: /usr/local/lib64/R/lib/libRblas.so
> > LAPACK: /usr/local/lib64/R/lib/libRlapack.so
> > 
> > 
> > source code is at 
> > https://urldefense.proofpoint.com/v2/url?u=http-3A__github.com_merliseclyde_BAS&d=DwIFaQ&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=NOkxkvdFOOffXzeTY2kgZQ&m=NwjTuJcFlu_aiLanr5CmvC1iVoHoWRZ7GZRFeq3WOBE&s=eu-Lj1is3biRf2EIcGlpuDf70-EXNpxfSjEA4XRdG7A&e=
> >  
> > 
> > 
> > 
> > Merlise A Clyde
> > Professor & Chair Department of Statistical Science
> > Duke University
> > http://stat.duke.edu/~clyde
> Merlise A Clyde
> stat.duke.edu
> Merlise Clyde is Professor of Statistical Science and Chair of the Department
> 
> 
> > 
> > cl...@duke.edu<mailto:cl...@duke.edu>
> > 
> > 
> > 
> >        [[alternative HTML version deleted]]
> > 
> > ______________________________________________
> > R-package-devel@r-project.org mailing list
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dpackage-2Ddevel&d=DwIFaQ&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=NOkxkvdFOOffXzeTY2kgZQ&m=NwjTuJcFlu_aiLanr5CmvC1iVoHoWRZ7GZRFeq3WOBE&s=gI000alCIBMmXI3JSu5ixDfuYaMmD8Hm4PAO0h8Yf3Y&e=
> >  
> 
> -- 
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Office: A 4.23
> Email: pd....@cbs.dk  Priv: pda...@gmail.com

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

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to