[Rd] help for memory problem with 64-bit machines
Vladimir Dergachev
vdergachev at rcgardis.com
Fri Jan 5 19:00:16 CET 2007
On Friday 05 January 2007 12:10 pm, Peter Dalgaard wrote:
> Hin-Tak Leung wrote:
> > I got the same error with 64-bit R 2.4.1 on FC6 x86_64, and 32-bit
> > R 2.4.1 on the same machine is okay. There is definitely something wrong
> > with your code.
> >
> > I would suggest fixing all the compier warnings - there are piles of
> > them about uninitialized variables, and about doing comparison
> > between signed and unsigned expressions, etc first. Put -Wall in
> > CFLAGS CXXFLAGS and FFLAGS and you'll see.
Also, the issue I most commonly see is the difference in size for "long" data
type. On 32 bit sizeof(long)=sizeof(int)=32, but on 64bit sizeof(long)=64
while sizeof(int)=32.
This reverses a formerly safe practice of using long for 32 bit (and insuring
the code compiles correctly on 16 bit machines).
best
Vladimir Dergachev
> >
> > good luck.
> >
> > Hin-Tak Leung
>
> Good advice. Also, the most common culprit for 64/32 problem is pointers
> stored as integers so watch out for any of those. And notice that you
> can set a breakpoint at randsk1_ and start poking around to see what is
> inside various variables and singlestep to the point of the crash (it's
> a bit painful and confusing in Fortran code, though.)
>
> -pd
>
More information about the R-devel
mailing list