I have been able to run the development version of R with valgrind on an Ubuntu (gutsy) amd64 system. I am compiling R with the 4.2.1 series of the gcc compilers.
[EMAIL PROTECTED]:~$ R-2.6 --version R version 2.6.0 Under development (unstable) (2007-08-20 r42573) Copyright (C) 2007 The R Foundation for Statistical Computing ISBN 3-900051-07-0 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under the terms of the GNU General Public License version 2. For more information about these matters see http://www.gnu.org/licenses/. [EMAIL PROTECTED]:~$ valgrind --version valgrind-3.2.3-Debian [EMAIL PROTECTED]:~$ gcc-4.2 --version gcc-4.2 (GCC) 4.2.1 (Ubuntu 4.2.1-3ubuntu2) Copyright (C) 2007 Free Software Foundation, Inc. On 8/20/07, Dirk Eddelbuettel <[EMAIL PROTECTED]> wrote: > > Hi Ben, > > Thanks for the bug report. > > On 20 August 2007 at 01:48, Ben Goodrich wrote: > | -----BEGIN PGP SIGNED MESSAGE----- > | Hash: SHA1 > | > | Package: r-base-core > | Version: 2.5.1-2 > | Severity: important > | > | Hi Dirk, > | > | To replicate this problem on a amd64 machine, do > | > | cd /tmp > | echo "log(1)" > crash.R > | R -d "valgrind --verbose --db-attach=yes" --vanilla < crash.R > > IIRC the last time I used valgrind I also didn't always get it to terminate > cleanly. I am not sure if this is necessarily R's fault. > > So let me CC Peter on this so that I can borrow from his expertise on R, > amd64 and valgrind: Pete, any thoughts as this how ? > > | The last line is adapted from > | > | http://cran.r-project.org/doc/manuals/R-exts.html#Using-valgrind > | > | I do not experience the following problem on a 32bit machine with Debian > | unstable, nor on a RHEL 64bit server (R 2.5.1 in both cases). But it > | happens on this amd64 machine whether I use r-base from unstable or > | build the source from CRAN. Anyway, it prevents using R with valgrind to > | investigate memory problems with contributed packages. > > I could of course also be a valgrind bug on Debian. Your RHEL success is a > counter example suggesting that it may not be R's fault. > > Dirk > > | > | ==16581== Memcheck, a memory error detector. > | ==16581== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. > | ==16581== Using LibVEX rev 1732, a library for dynamic binary translation. > | ==16581== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. > | ==16581== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation > | framework. > | ==16581== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. > | ==16581== > | - --16581-- Command line > | - --16581-- /usr/lib/R/bin/exec/R > | - --16581-- --vanilla > | - --16581-- Startup, with flags: > | - --16581-- --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp > | - --16581-- --verbose > | - --16581-- --db-attach=yes > | - --16581-- Contents of /proc/version: > | - --16581-- Linux version 2.6.22.2-slh64-smp-1 ([EMAIL PROTECTED]) (gcc > | version 4.1.3 20070718 > | (prerelease) (Debian 4.1.2-14)) #1 SMP PREEMPT Fri Aug 10 17:19:56 CEST 2007 > | - --16581-- Arch and hwcaps: AMD64, amd64-sse2 > | - --16581-- Page sizes: currently 4096, max supported 4096 > | - --16581-- Valgrind library directory: /usr/lib/valgrind > | - --16581-- Reading syms from /usr/lib/R/bin/exec/R (0x400000) > | - --16581-- object doesn't have a symbol table > | - --16581-- Reading syms from /lib/ld-2.6.1.so (0x4000000) > | - --16581-- Reading debug info from /lib/ld-2.6.1.so... > | - --16581-- ... CRC mismatch (computed 635CD41D wanted 1F3B7BF3) > | - --16581-- Reading debug info from /usr/lib/debug/lib/ld-2.6.1.so... > | - --16581-- Reading syms from /usr/lib/valgrind/amd64-linux/memcheck > | (0x38000000) > | - --16581-- object doesn't have a dynamic symbol table > | - --16581-- Reading suppressions file: > | /usr/lib/valgrind/debian-libc6-dbg.supp > | - --16581-- Reading suppressions file: /usr/lib/valgrind/default.supp > | vex amd64->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x66 > | ==16581== valgrind: Unrecognised instruction at address 0x4016321. > | ==16581== Your program just tried to execute an instruction that Valgrind > | ==16581== did not recognise. There are two possible reasons for this. > | ==16581== 1. Your program has a bug and erroneously jumped to a non-code > | ==16581== location. If you are running Memcheck and you just saw a > | ==16581== warning about a bad jump, it's probably your program's fault. > | ==16581== 2. The instruction is legitimate but Valgrind doesn't handle it, > | ==16581== i.e. it's Valgrind's fault. If you think this is the case or > | ==16581== you are not sure, please let us know and we'll try to fix it. > | ==16581== Either way, Valgrind will now raise a SIGILL signal which will > | ==16581== probably kill your program. > | ==16581== > | ==16581== Process terminating with default action of signal 4 (SIGILL): > | dumping core > | ==16581== Illegal opcode at address 0x4016321 > | ==16581== at 0x4016321: memcpy (in /lib/ld-2.6.1.so) > | ==16581== by 0x400466E: dl_main (in /lib/ld-2.6.1.so) > | ==16581== by 0x4014457: _dl_sysdep_start (in /lib/ld-2.6.1.so) > | ==16581== by 0x400230A: _dl_start (in /lib/ld-2.6.1.so) > | ==16581== by 0x4000A67: (within /lib/ld-2.6.1.so) > | ==16581== > | ==16581== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- > | ==16581== ---- Attach to > | debugger ? --- [Return/N/n/Y/y/C/c] ---- ==16581== ---- Attach to > | debugger ? --- > | [Return/N/n/Y/y/C/c] ---- ==16581== ---- Attach to debugger ? --- > | [Return/N/n/Y/y/C/c] ---- > | ==16581== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- > | ==16581== ---- Attach to > | debugger ? --- [Return/N/n/Y/y/C/c] ---- ==16581== ---- Attach to > | debugger ? --- > | [Return/N/n/Y/y/C/c] ---- ==16581== > | ==16581== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 1 from 1) > | - --16581-- > | - --16581-- supp: 1 strlen-not-intercepted-early-enough-HACK-5 > | ==16581== malloc/free: in use at exit: 0 bytes in 0 blocks. > | ==16581== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. > | ==16581== > | ==16581== All heap blocks were freed -- no leaks are possible. > | - --16581-- memcheck: sanity checks: 0 cheap, 1 expensive > | - --16581-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use > | - --16581-- memcheck: auxmaps: 0 searches, 0 comparisons > | - --16581-- memcheck: SMs: n_issued = 7 (112k, 0M) > | - --16581-- memcheck: SMs: n_deissued = 0 (0k, 0M) > | - --16581-- memcheck: SMs: max_noaccess = 524287 (8388592k, 8191M) > | - --16581-- memcheck: SMs: max_undefined = 0 (0k, 0M) > | - --16581-- memcheck: SMs: max_defined = 1 (16k, 0M) > | - --16581-- memcheck: SMs: max_non_DSM = 7 (112k, 0M) > | - --16581-- memcheck: max sec V bit nodes: 0 (0k, 0M) > | - --16581-- memcheck: set_sec_vbits8 calls: 0 (new: 0, updates: 0) > | - --16581-- memcheck: max shadow mem size: 4256k, 4M > | - --16581-- translate: fast SP updates identified: 149 ( 88.6%) > | - --16581-- translate: generic_known SP updates identified: 10 ( 5.9%) > | - --16581-- translate: generic_unknown SP updates identified: 9 ( 5.3%) > | - --16581-- tt/tc: 774 tt lookups requiring 773 probes > | - --16581-- tt/tc: 774 fast-cache updates, 2 flushes > | - --16581-- transtab: new 387 (8,365 -> 144,072; ratio 172:10) > | [0 scs] > | - --16581-- transtab: dumped 0 (0 -> ??) > | - --16581-- transtab: discarded 0 (0 -> ??) > | - --16581-- scheduler: 1,142 jumps (bb entries). > | - --16581-- scheduler: 0/393 major/minor sched events. > | - --16581-- sanity: 1 cheap, 1 expensive checks. > | - --16581-- exectx: 30,011 lists, 1 contexts (avg 0 per list) > | - --16581-- exectx: 1 searches, 0 full compares (0 per 1000) > | - --16581-- exectx: 0 cmp2, 0 cmp4, 0 cmpAll > | Illegal instruction > | > | > | - -- System Information: > | Debian Release: lenny/sid > | APT prefers unstable > | APT policy: (500, 'unstable') > | Architecture: amd64 (x86_64) > | > | Kernel: Linux 2.6.22.2-slh64-smp-1 (SMP w/2 CPU cores; PREEMPT) > | Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) > | Shell: /bin/sh linked to /bin/bash > | > | Versions of packages r-base-core depends on: > | ii libbz2-1.0 1.0.3-7 high-quality block-sorting > | file co > | ii libc6 2.6.1-1 GNU C Library: Shared libraries > | ii libgcc1 1:4.2.1-2 GCC support library > | ii libgfortran2 4.2.1-2 Runtime library for GNU > | Fortran ap > | ii libice6 2:1.0.3-3 X11 Inter-Client Exchange > | library > | ii libjpeg62 6b-13 The Independent JPEG > | Group's JPEG > | ii libpaper-utils 1.1.22 library for handling paper > | charact > | ii libpcre3 7.2-1 Perl 5 Compatible Regular > | Expressi > | ii libpng12-0 1.2.15~beta5-2 PNG library - runtime > | ii libreadline5 5.2-3 GNU readline and history > | libraries > | ii libsm6 2:1.0.3-1+b1 X11 Session Management library > | ii libx11-6 2:1.0.3-7 X11 client-side library > | ii libxt6 1:1.0.5-3 X11 toolkit intrinsics library > | ii perl 5.8.8-7 Larry Wall's Practical > | Extraction > | ii tcl8.4 8.4.15-1 Tcl (the Tool Command > | Language) v8 > | ii tk8.4 8.4.15-1 Tk toolkit for Tcl and X11, > | v8.4 - > | ii unzip 5.52-10 De-archiver for .zip files > | ii zip 2.32-1 Archiver for .zip files > | ii zlib1g 1:1.2.3.3.dfsg-5 compression library - runtime > | > | Versions of packages r-base-core recommends: > | ii r-base-dev 2.5.1-2 GNU R installation of > | auxiliary GN > | ii r-recommended 2.5.1-2 GNU R collection of > | recommended pa > | > | - -- no debconf information > | -----BEGIN PGP SIGNATURE----- > | Version: GnuPG v1.4.6 (GNU/Linux) > | > | iD8DBQFGySsezQDSXIcN85kRAmIUAJ9lpklhtIKrR6p6wdWfCLNCKw9W0gCfenR6 > | 532nilxJ7FsLJa16xiU9H4Y= > | =NypY > | -----END PGP SIGNATURE----- > | > > -- > Three out of two people have difficulties with fractions. > > > -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]