Rich Shepard wrote:
> ERROR: G_malloc: unable to allocate 18446744070980740804 bytes at ...
^^^^^^^^^^^^^^^^^^^^
> Any idea what I'm doing wrong?Kurt,
Look at the amount of memory your file wants to be allocated: several
Petabytes. How much area is covered by that DEM and at what resolution? Even
with GRASS compiled for large file support your file is _way_ too large.
> '%x' % 18446744070980740804
'ffffffff5d59a6c4'
which is -2728810812
The error:
ERROR: G_malloc: unable to allocate 18446744070980740804 bytes at
init_vars.c:133
refers to:
alt =
(CELL *) G_malloc(sizeof(CELL) * size_array(&alt_seg, nrows, ncols));
size_array() takes its arguments as "int", returns an "int", and
performs all calculations using "int". It appears that the result
exceeds the signed 32-bit range (2^31-1) and wraps to a negative
value, which is then promoted to 64 bits (sizeof(size_t)) before being
multiplied by 4 (sizeof(CELL)).
So while the array is large (possibly too large, depending upon the
amount of RAM available and the expected computation time), it's not
quite as insanely large as the error message appears to suggest.
--
Glynn Clements <glynn@gclements.plus.com>