From ripley at stats.ox.ac.uk  Wed Dec 17 20:47:43 2003
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Wed Dec 17 20:46:22 2003
Subject: [Rd] negative numbers from object.size() on 64 bit systems
In-Reply-To: <3FE0AEBE.3080708@jhsph.edu>
Message-ID: <Pine.LNX.4.44.0312171943350.23005-100000@gannet.stats>

On Wed, 17 Dec 2003, Roger D. Peng wrote:

> Has anyone running R 1.8.1 on a 64 bit system gotten negative numbers 
> from object.size() on objects > 2GB or so?  For example, on 
> Solaris/Sparc I get
> 
>  > b <- numeric(131072 * 2800)
>  > object.size(b)
> [1] -1358954440
> 
> I get similar behavior on the Opteron (SuSE Linux).  I'm not sure if 
> this is an R problem or something wrong with the way it was compiled on 
> either system.
> 
> I noticed in objectsize() in size.c, the `cnt' variable is an int, which 
> I guess would max out at 2^31.  Might this be the problem?  Any hints 
> would be appreciated.

Yes, and so is objectsize, and the return type is integer.  At the time
that was written R could not use more than 2Gb.

I've modified the function but have no machine with more than 2Gb to test 
it on, so could you please try R-devel in a couple of days?

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


[Rd] negative numbers from object.size() on 64 bit systems
Prof Brian Ripley