Hi all I am trying to compile (on my Mac) an R package (tweedie) which includes Fortran 77 code. I’m not much of a programmer, but can still manage to write and update F77 code. I’m new to valgrind.
In checking my package (which passes the build-and-check with no errors), I use valgrind like this: R -d "valgrind --tool=memcheck --leak-check=full --track-origins=yes" --vanilla < tweedie-Ex.R …on my package example, which gives me a series of messages like this: ==53843== Conditional jump or move depends on uninitialised value(s) ==53843== at 0x1118F61FB: smallp_ (in /Users/pdunn2/Library/R/3.4/library/tweedie/libs/tweedie.so) ==53843== by 0xBFA4FB88FFFFFFEB: ??? ==53843== by 0x3FF91CB2DA3A50E7: ??? ==53843== by 0x104888757: ??? ==53843== by 0xFFFFFFEC03E375AF: ??? ==53843== by 0x3FE18C2EE1BE47CB: ??? ==53843== by 0x104885DEF: ??? ==53843== by 0x104885DF7: ??? ==53843== by 0x3FE518F314C67BE7: ??? ==53843== by 0x11364CEAF: ??? ==53843== by 0x104885DBF: ??? ==53843== by 0x100000007: ??? (in /Library/Frameworks/R.framework/Resources/bin/exec/R) ==53843== Uninitialised value was created by a stack allocation ==53843== at 0x1118F59A6: smallp_ (in /Users/pdunn2/Library/R/3.4/library/tweedie/libs/tweedie.so) I can see the piece of R code in the example from which this comes. The subroutine smallp is mentioned in the second line of the output. I simply cannot find the issue. (Spent days looking so far.) There are only a few conditional jumps, and everything not passed to the subroutine smallp is initialised. I have checked the calls to smallp as well. I have compiled the fortran code separately (after wrapping into a complete program), with all kinds of flags: gfortran -O2 -fimplicit-none -Wall -Wline-truncation -Wcharacter-truncation -Wsurprising -Waliasing -Wunused-parameter -fwhole-file -fcheck=all -std=f2008 -pedantic -fbacktrace), Then, using valgrind shows no errors. So it has got to the point where I simply don’t know what else to do. I am happy to spend time looking and debugging… but I don’t know what else to do. Clearly an issue must exist, but I cannot find it. Can anyone suggest any tools or valgrind flags or anything else that might shed light? Or ways to get more info? For example, a line number in the Fortran code where the issue first presents, or some such things? I need some pointers or strategy to make progress with tracking down the issue. The package has been on CRAN for many years, and I have never noticed any issues with its accuracy that have not been fixed. But as it stands, I cannot update the package (which I want to do to fix an (unrelated) error). Thanks for any advice. P. > sessionInfo() R version 3.4.2 (2017-09-28) Platform: x86_64-apple-darwin15.6.0 (64-bit) Running under: macOS Sierra 10.12.6 Matrix products: default BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib locale: [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] compiler_3.4.2 tools_3.4.2 yaml_2.1.14 > USC, Locked Bag 4, Maroochydore DC, Queensland, 4558 Australia. CRICOS Provider No: 01595D Please consider the environment before printing this email. This email is confidential. If received in error, please delete it from your system. [[alternative HTML version deleted]] ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel