While testing for leaks in my own code I noticed some reported memory problems from valgrind, invoked with $ R --vanilla -d "valgrind --leak-check=full" This is on Debian GNU/Linux (testing aka lenny) with a 2.6 kernel, R package version 2.4.1-2. I was running in an emacs shell. The immediate source of all the problems before I get to the prompt is the system dynamic loader ld-2.5.so, invoked from R. Then, when I exit, there are a bunch of reported leaks, some of which appear to be more directly from R (though some involve, e.g., readline). Are these reported errors actually problems? If so, do they indicate problems in R or some other component (e.g., ld.so). Put more practically, should I file one or more bugs, and if so, against what? Thanks. Ross Boylan ==30551== Invalid read of size 4 ==30551== at 0x4016503: (within /lib/ld-2.5.so) ==30551== by 0x4006009: (within /lib/ld-2.5.so) ==30551== by 0x40084F5: (within /lib/ld-2.5.so) ==30551== by 0x40121D4: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF82F: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43F1595: __nss_passwd_lookup (in /lib/i686/cmov/libc-2.5.so) ==30551== Address 0x4EFB560 is 32 bytes inside a block of size 34 alloc'd ==30551== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30551== by 0x4008AF3: (within /lib/ld-2.5.so) ==30551== by 0x40121D4: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF82F: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43F1595: __nss_passwd_lookup (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x439D87D: getpwuid_r (in /lib/i686/cmov/libc-2.5.so) ==30551== ==30551== Invalid read of size 4 ==30551== at 0x4016530: (within /lib/ld-2.5.so) ==30551== by 0x4006009: (within /lib/ld-2.5.so) ==30551== by 0x40084F5: (within /lib/ld-2.5.so) ==30551== by 0x400C616: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x400CBDA: (within /lib/ld-2.5.so) ==30551== by 0x4012234: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== Address 0x4EFB8A8 is 24 bytes inside a block of size 27 alloc'd ==30551== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30551== by 0x4008AF3: (within /lib/ld-2.5.so) ==30551== by 0x400C616: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x400CBDA: (within /lib/ld-2.5.so) ==30551== by 0x4012234: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x400B3CC: (within /lib/ld-2.5.so) ==30551== by 0x401230B: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF82F: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43F1595: __nss_passwd_lookup (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x439D87D: getpwuid_r (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x439D187: getpwuid (in /lib/i686/cmov/libc-2.5.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x400B0CA: (within /lib/ld-2.5.so) ==30551== by 0x401230B: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF82F: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43F1595: __nss_passwd_lookup (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x439D87D: getpwuid_r (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x439D187: getpwuid (in /lib/i686/cmov/libc-2.5.so) ==30551== ==30551== Invalid read of size 4 ==30551== at 0x4016547: (within /lib/ld-2.5.so) ==30551== by 0x4006009: (within /lib/ld-2.5.so) ==30551== by 0x40084F5: (within /lib/ld-2.5.so) ==30551== by 0x40121D4: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x42FDF7B: (within /lib/i686/cmov/libnss_compat-2.5.so) ==30551== by 0x42FF0AC: _nss_compat_getpwuid_r (in /lib/i686/cmov/libnss_compat-2.5.so) ==30551== Address 0x4EFBF54 is 28 bytes inside a block of size 31 alloc'd ==30551== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30551== by 0x4008AF3: (within /lib/ld-2.5.so) ==30551== by 0x40121D4: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x42FDF7B: (within /lib/i686/cmov/libnss_compat-2.5.so) ==30551== by 0x42FF0AC: _nss_compat_getpwuid_r (in /lib/i686/cmov/libnss_compat-2.5.so) ==30551== by 0x439D7A2: getpwuid_r (in /lib/i686/cmov/libc-2.5.so) ==30551== ==30551== Invalid read of size 4 ==30551== at 0x4016503: (within /lib/ld-2.5.so) ==30551== by 0x4006009: (within /lib/ld-2.5.so) ==30551== by 0x40084F5: (within /lib/ld-2.5.so) ==30551== by 0x400C616: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x400CBDA: (within /lib/ld-2.5.so) ==30551== by 0x4012234: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== Address 0x4EFC290 is 32 bytes inside a block of size 33 alloc'd ==30551== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30551== by 0x4008AF3: (within /lib/ld-2.5.so) ==30551== by 0x400C616: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x400CBDA: (within /lib/ld-2.5.so) ==30551== by 0x4012234: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x44142E1: (within /lib/i686/cmov/libc-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4414494: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.5.so) ==30551== by 0x43EF73E: __nss_lookup_function (in /lib/i686/cmov/libc-2.5.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x40163E4: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404463C: (within /usr/lib/R/lib/libR.so) ==30551== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30551== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x40163EF: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404463C: (within /usr/lib/R/lib/libR.so) ==30551== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30551== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x40163FA: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404463C: (within /usr/lib/R/lib/libR.so) ==30551== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30551== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x4016405: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404463C: (within /usr/lib/R/lib/libR.so) ==30551== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30551== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30551== ==30551== Invalid read of size 4 ==30551== at 0x4016530: (within /lib/ld-2.5.so) ==30551== by 0x4006009: (within /lib/ld-2.5.so) ==30551== by 0x40084F5: (within /lib/ld-2.5.so) ==30551== by 0x40121D4: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== Address 0x5300E00 is 40 bytes inside a block of size 43 alloc'd ==30551== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30551== by 0x40077B4: (within /lib/ld-2.5.so) ==30551== by 0x4008439: (within /lib/ld-2.5.so) ==30551== by 0x40121D4: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x400AF8B: (within /lib/ld-2.5.so) ==30551== by 0x401230B: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404463C: (within /usr/lib/R/lib/libR.so) ==30551== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x400B356: (within /lib/ld-2.5.so) ==30551== by 0x401230B: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404463C: (within /usr/lib/R/lib/libR.so) ==30551== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30551== ==30551== Conditional jump or move depends on uninitialised value(s) ==30551== at 0x400B1D8: (within /lib/ld-2.5.so) ==30551== by 0x401230B: (within /lib/ld-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x4011C5D: (within /lib/ld-2.5.so) ==30551== by 0x48D1C2C: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x400E255: (within /lib/ld-2.5.so) ==30551== by 0x48D22AB: (within /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x48D1B63: dlopen (in /lib/i686/cmov/libdl-2.5.so) ==30551== by 0x420BCE5: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404403B: (within /usr/lib/R/lib/libR.so) ==30551== by 0x404463C: (within /usr/lib/R/lib/libR.so) ==30551== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) R version 2.4.1 (2006-12-18) If I then type q(), I get these leaks reported: ==30906== ==30906== ERROR SUMMARY: 43 errors from 22 contexts (suppressed: 58 from 1) ==30906== malloc/free: in use at exit: 13,184,322 bytes in 6,493 blocks. ==30906== malloc/free: 40,226 allocs, 33,733 frees, 58,642,360 bytes allocated. ==30906== For counts of detected errors, rerun with: -v ==30906== searching for pointers to 6,493 not-freed blocks. ==30906== checked 13,097,152 bytes. ==30906== ==30906== ==30906== 4 bytes in 1 blocks are definitely lost in loss record 1 of 53 ==30906== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30906== by 0x4880C21: xmalloc (in /lib/libreadline.so.5.2) ==30906== by 0x4869109: readline_internal_teardown (in /lib/libreadline.so.5.2) ==30906== by 0x487C867: rl_callback_read_char (in /lib/libreadline.so.5.2) ==30906== by 0x420D34A: (within /usr/lib/R/lib/libR.so) ==30906== by 0x420E8F4: R_ReadConsole (in /usr/lib/R/lib/libR.so) ==30906== by 0x40FAB8A: Rf_ReplIteration (in /usr/lib/R/lib/libR.so) ==30906== by 0x40FACFD: run_Rmainloop (in /usr/lib/R/lib/libR.so) ==30906== by 0x40FAD4B: Rf_mainloop (in /usr/lib/R/lib/libR.so) ==30906== by 0x80486C5: main (in /usr/lib/R/bin/exec/R) ==30906== ==30906== ==30906== 35 bytes in 1 blocks are definitely lost in loss record 11 of 53 ==30906== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30906== by 0x41B8F55: (within /usr/lib/R/lib/libR.so) ==30906== by 0x40F9CF6: setup_Rmainloop (in /usr/lib/R/lib/libR.so) ==30906== by 0x40FAD46: Rf_mainloop (in /usr/lib/R/lib/libR.so) ==30906== by 0x80486C5: main (in /usr/lib/R/bin/exec/R) ==30906== ==30906== ==30906== 56 bytes in 14 blocks are definitely lost in loss record 13 of 53 ==30906== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30906== by 0x402353A: realloc (vg_replace_malloc.c:306) ==30906== by 0x417A5F5: (within /usr/lib/R/lib/libR.so) ==30906== by 0x417A6E6: (within /usr/lib/R/lib/libR.so) ==30906== by 0x417A860: (within /usr/lib/R/lib/libR.so) ==30906== by 0x417C071: (within /usr/lib/R/lib/libR.so) ==30906== by 0x4069995: (within /usr/lib/R/lib/libR.so) ==30906== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30906== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30906== by 0x40D76B6: (within /usr/lib/R/lib/libR.so) ==30906== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30906== by 0x40D6BF6: (within /usr/lib/R/lib/libR.so) ==30906== ==30906== ==30906== 312 (72 direct, 240 indirect) bytes in 2 blocks are definitely lost in loss record 19 of 53 ==30906== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30906== by 0x43EF967: (within /lib/i686/cmov/libc-2.5.so) ==30906== by 0x43F01B5: __nss_database_lookup (in /lib/i686/cmov/libc-2.5.so) ==30906== by 0x42FDF5B: ??? ==30906== by 0x42FF0AC: ??? ==30906== by 0x439D7A2: getpwuid_r (in /lib/i686/cmov/libc-2.5.so) ==30906== by 0x439D187: getpwuid (in /lib/i686/cmov/libc-2.5.so) ==30906== by 0x4132CF0: (within /usr/lib/R/lib/libR.so) ==30906== by 0x410BCCD: (within /usr/lib/R/lib/libR.so) ==30906== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30906== by 0x40D82B5: (within /usr/lib/R/lib/libR.so) ==30906== by 0x40D5550: Rf_eval (in /usr/lib/R/lib/libR.so) ==30906== ==30906== ==30906== 579 bytes in 23 blocks are definitely lost in loss record 26 of 53 ==30906== at 0x40234B0: malloc (vg_replace_malloc.c:149) ==30906== by 0x4045267: (within /usr/lib/R/lib/libR.so) ==30906== by 0x404569F: process_system_Renviron (in /usr/lib/R/lib/libR.so) ==30906== by 0x420EE01: Rf_initialize_R (in /usr/lib/R/lib/libR.so) ==30906== by 0x80486C0: main (in /usr/lib/R/bin/exec/R) ==30906== ==30906== LEAK SUMMARY: ==30906== definitely lost: 746 bytes in 41 blocks. ==30906== indirectly lost: 240 bytes in 20 blocks. ==30906== possibly lost: 0 bytes in 0 blocks. ==30906== still reachable: 13,183,336 bytes in 6,432 blocks. ==30906== suppressed: 0 bytes in 0 blocks. ==30906== Reachable blocks (those to which a pointer was found) are not shown. ==30906== To see them, rerun with: --leak-check=full --show-reachable=yes