[GRASS-dev] G_open_cell_old: unable to open raster map

Glynn Clements glynn at gclements.plus.com
Wed Aug 18 22:11:38 EDT 2010


James McCreight wrote:

> I've been forced in to development by this bug (ie i have a only a vague
> idea of what I'm doing). Help greatly appreciated (need to work on thesis
> not bugs).
> 
> Summary:
> 
> I've generated a location and a mapset, in this mapset I have files named
> input_file.0001, ... , input_file.nnnn, ... , input_file.3313
> 
> I'm running  r.hydro.CASC2 (used to be in GRASS), which i've built from gipe
> add-on package.
> When it gets to approximately nnnn=1016, i get (i'll use the real rast and
> mapset names, in case they are relevant):
> 
> WARNING: Unable to open raster map
> <SBB_runoff_lumped_05.1016 at lumped_05_9930>

If it's happening after ~1000 files, I strongly suspect you're hitting
an OS limit on the number of open file descriptors. It's common to
have a limit of 1024 open files per process.

Run "ulimit -n" in the shell to determine the soft limit. If this is
too low, use "ulimit -Hn" to determine the hard limit. The soft limit
is what the OS actually checks against; you can change the soft limit
with e.g. "ulimit -n 5000", but you cannot increase it above the hard
limit, and a non-root user cannot increase the hard limit.

On systems which use PAM, these limits are set in the file
/etc/security/limits.conf and any files in the directory
/etc/security/limits.d. This file is read by PAM (specifically, the
pam_limits.so module) at login, which sets the limits before dropping
root privilege and switching to the logged in user.

If you have the ability to change that file, a line such as:

	*               hard    nofile             5000

will increase the hard limit to 5000. The limit will take effect for
subsequent logins (you can run "login" in an xterm to get a shell with
the new limits if you don't want to quit your current desktop
session).

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list