Christophe,

I saw your post on r-devel. It really belongs there.  We add nothing by
discussing / hiding this in the Debian BTS.

On 23 July 2011 at 21:05, Christophe Rhodes wrote:
| Package: r-base-core
| Version: 2.13.1-1
| Severity: normal
| Tags: patch
| 
| Hi,
| 
| On my system, I need for various reasons to use the --max-vsize argument to 
have
| R impose its own limit on its heap (rather than using ulimits).  However, the
| --max-vsize handling is off by a factor of 8, as can be seen by running R with
| e.g. --max-vsize=100M and then executing gc() at the R prompt; the limit will 
be
| displayed as 800Mb (where that "b" really does mean bytes -- i.e. I'm 
confident this
| isn't intentional; for evidence try allocating a large vector of doubles with
| x <- double(10000000) -- which should take up 80MB of heap -- and running gc()
| again).
| 
| The reason this happens is a bug in the memory initialization, in particular: 
when
| vsfac is set, R_VSize is adjusted appropriately but not R_MaxVSize.  I attach 
a 
| patch to fix this, which I have also sent to r-devel at
|   <http://permalink.gmane.org/gmane.comp.lang.r.devel/28532>
| 
| Please let me know if there's anything else I can do.

No, we need to engage R Core to pick it up there. I do not like our R engine
to differ from what you'd get elsewhere so I am *not* in favour of patches
changing behaviour.  Let;s change this upstream, and close it here.

Dirk
 
| Christophe
| 
| -- System Information:
| Debian Release: wheezy/sid
|   APT prefers testing
|   APT policy: (500, 'testing')
| Architecture: amd64 (x86_64)
| 
| Kernel: Linux 2.6.39-2-amd64 (SMP w/4 CPU cores)
| Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
| Shell: /bin/sh linked to /bin/dash
| 
| Versions of packages r-base-core depends on:
| ii  libblas3gf [libblas.so. 1.2-8            Basic Linear Algebra Reference 
imp
| ii  libbz2-1.0              1.0.5-6          high-quality block-sorting file 
co
| ii  libc6                   2.13-7           Embedded GNU C Library: Shared 
lib
| ii  libcairo2               1.10.2-6         The Cairo 2D vector graphics 
libra
| ii  libgfortran3            4.6.1-4          Runtime library for GNU Fortran 
ap
| ii  libglib2.0-0            2.28.6-1         The GLib library of C routines
| ii  libgomp1                4.6.1-4          GCC OpenMP (GOMP) support library
| ii  libice6                 2:1.0.7-2        X11 Inter-Client Exchange library
| ii  libjpeg62               6b1-1            The Independent JPEG Group's 
JPEG 
| ii  liblapack3gf [liblapack 3.2.1-8          library of linear algebra 
routines
| ii  liblzma2                5.0.0-2          XZ-format compression library
| ii  libpango1.0-0           1.28.4-1         Layout and rendering of 
internatio
| ii  libpaper-utils          1.1.24+nmu1      library for handling paper 
charact
| ii  libpcre3                8.12-3           Perl 5 Compatible Regular 
Expressi
| ii  libpng12-0              1.2.46-1         PNG library - runtime
| ii  libquadmath0            4.6.1-4          GCC Quad-Precision Math Library
| ii  libreadline6            6.2-2            GNU readline and history 
libraries
| ii  libsm6                  2:1.2.0-2        X11 Session Management library
| ii  libtiff4                3.9.5-1          Tag Image File Format (TIFF) 
libra
| ii  libx11-6                2:1.4.3-2        X11 client-side library
| ii  libxext6                2:1.3.0-3        X11 miscellaneous extension 
librar
| ii  libxss1                 1:1.2.1-1        X11 Screen Saver extension 
library
| ii  libxt6                  1:1.1.1-2        X11 toolkit intrinsics library
| ii  tcl8.5                  8.5.10-1         Tcl (the Tool Command Language) 
v8
| ii  tk8.5                   8.5.10-1         Tk toolkit for Tcl and X11, v8.5 
-
| ii  ucf                     3.0025+nmu2      Update Configuration File: 
preserv
| ii  unzip                   6.0-5            De-archiver for .zip files
| ii  xdg-utils               1.1.0~rc1-2      desktop integration utilities 
from
| ii  zip                     3.0-4            Archiver for .zip files
| ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime
| 
| Versions of packages r-base-core recommends:
| ii  r-base-dev                    2.13.1-1   GNU R installation of auxiliary 
GN
| ii  r-doc-html                    2.13.1-1   GNU R html manuals for 
statistical
| ii  r-recommended                 2.13.1-1   GNU R collection of recommended 
pa
| 
| Versions of packages r-base-core suggests:
| ii  ess                           5.13-1     Emacs mode for statistical 
program
| ii  r-base-html                   2.13.1-1   GNU R html docs for statistical 
co
| pn  r-doc-info | r-doc-pdf        <none>     (no description available)
| pn  r-mathlib                     <none>     (no description available)
| 
| -- no debconf information
| 
| ----------------------------------------------------------------------
| >From 933ab0cfca4657eba217edc99094fd509223e657 Mon Sep 17 00:00:00 2001
| From: Christophe Rhodes <cs...@cantab.net>
| Date: Thu, 21 Jul 2011 14:40:34 +0100
| Subject: [PATCH] src/main/memory.c: set R_MaxVSize when assigning to vsfac
| 
| Fixes --max-vsize command-line option (previously generated a
| limit too great by a factor of 8 on my machines)
| ---
|  src/main/memory.c |    2 +-
|  1 files changed, 1 insertions(+), 1 deletions(-)
| 
| diff --git a/src/main/memory.c b/src/main/memory.c
| index f514ffd..46b5d44 100644
| --- a/src/main/memory.c
| +++ b/src/main/memory.c
| @@ -1877,7 +1877,7 @@ void attribute_hidden InitMemory()
|  #endif
|      vsfac = sizeof(VECREC);
|      R_VSize = (((R_VSize + 1)/ vsfac));
| -
| +    R_SetMaxVSize(R_MaxVSize);
|      UNMARK_NODE(&UnmarkedNodeTemplate);
|  
|      for (i = 0; i < NUM_NODE_CLASSES; i++) {
| -- 
| 1.7.5.4
| 

-- 
Gauss once played himself in a zero-sum game and won $50.
                      -- #11 at http://www.gaussfacts.com



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to