[R] R_alloc problem (Mac OSX)

Dan Kelley Dan.Kelley at Dal.Ca
Mon Mar 13 20:09:58 CET 2006


Hello.  I'm having difficulties getting R_alloc() to work.

The test platform is a 64-bit Mac running R 2.2.1 installed via  
a .dmg file obtained from the R site.  Details are given below, in a  
level of detail that I hope is appropriate.  My eye was particularly  
drawn to line #2 in the gdb 'where' output, but line #1 seems  
sensible so I may just be displaying my ignorance by drawing  
attention to this.

Q: Can anyone advise as to how I should proceed?


$ R --version
R 2.2.1 (2005-12-20).
Copyright (C) 2005 R Development Core Team

$ gcc -g -o test5 test5.c -I/library/Frameworks/R.framework/Versions/ 
2.2/Resources/include/ -L/library/Frameworks/R.framework/Versions/2.2/ 
Resources/lib/ -lR -lm
/usr/bin/ld: warning multiple definitions of symbol _signgam
/library/Frameworks/R.framework/Versions/2.2/Resources/lib//libR.dylib 
(lgamma.lo) definition of _signgam
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../libm.dylib 
(gamma9.o) definition of _signgam

$ gdb test5
GNU gdb 6.1-20040303 (Apple version gdb-413) (Wed May 18 10:17:02 GMT  
2005)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
details.
This GDB was configured as "powerpc-apple-darwin"...Reading symbols  
for shared libraries .... done

(gdb) run
Starting program: /Users/kelley/src/R-from-fortran/test5
Reading symbols for shared libraries .........+ done
about to call R_alloc(1,4)

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x0000000c
GetNewPage (node_class=1) at ../../../../R-2.2.1/src/main/memory.c:622
622     ../../../../R-2.2.1/src/main/memory.c: No such file or  
directory.
         in ../../../../R-2.2.1/src/main/memory.c
(gdb) where
#0  GetNewPage (node_class=1) at ../../../../R-2.2.1/src/main/ 
memory.c:622
#1  0x00293d38 in Rf_allocVector (type=9, length=4) at ../../../../ 
R-2.2.1/src/main/memory.c:1918
#2  0x002932e8 in R_alloc (nelem=25167368, eltsize=1996)  
at ../../../../R-2.2.1/src/main/memory.c:1604
#3  0x00002ad0 in main () at test5.c:8
(gdb) list
617     in ../../../../R-2.2.1/src/main/memory.c
(gdb) file test5
Load new symbol table from "/Users/kelley/src/R-from-fortran/test5"?  
(y or n) y
Reading symbols from /Users/kelley/src/R-from-fortran/test5...done.
(gdb) list
1       #include <stdio.h>
2       #include <R.h>
3       int main()
4       {
5               int *t;
6               long int n = 1;
7               printf("about to call R_alloc(%d,%d)\n",n,sizeof(int));
8               t = (int *) R_alloc(n, sizeof(int));
9               printf("done\n");
10              return(0);
(gdb) src/R-from-fortran/

Dan E. Kelley, Associate Professor                phone:(902)494-1694
Oceanography Department, Dalhousie University       fax:(902)494-2885
Halifax, Nova Scotia                         mailto:Dan.Kelley at Dal.CA
Canada B3H 4J1   http://www.phys.ocean.dal.ca/~kelley/Kelley_Dan.html




More information about the R-help mailing list