[GRASS-dev] [GRASS GIS] #3330: t.rast.to.rast3 error: Argument list too long

#3330: t.rast.to.rast3 error: Argument list too long
----------------------+-------------------------
Reporter: richardc | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 7.2.1
Component: Temporal | Version: 7.2.0
Keywords: | CPU: x86-64
Platform: Linux |
----------------------+-------------------------
The following error is output from t.rast.to.rast3 when more than 5000
raster layers in a STRDS and used.

'AFAICT, the issue is not with the number of open files, but with a list
of map names (arguments) that is too long for the run_command call that
calls r.to.rast3. A solution to this could be to allow as input to
r.to.rast3 a file with map names (such as for r.series).

You should create a bug report for this.

Moritz'

Error:
t.rast.to.rast3 --overwrite --verbose input=capha_test_5@cahpa
output=cahpa_test_5_3d
Traceback (most recent call last):
   File "/usr/local/grass-7.2.0/scripts/t.rast.to.rast3",
line 194, in <module>
     main()
   File "/usr/local/grass-7.2.0/scripts/t.rast.to.rast3",
line 152, in main
     output=output, overwrite=grass.overwrite())
   File
"/usr/local/grass-7.2.0/etc/python/grass/script/core.py",
line 408, in run_command
     ps = start_command(*args, **kwargs)
   File
"/usr/local/grass-7.2.0/etc/python/grass/script/core.py",
line 377, in start_command
     return Popen(args, **popts)
   File
"/usr/local/grass-7.2.0/etc/python/grass/script/core.py",
line 74, in __init__
     subprocess.Popen.__init__(self, args, **kwargs)
   File "/usr/lib/python2.7/subprocess.py", line 710, in
__init__
     errread, errwrite)
   File "/usr/lib/python2.7/subprocess.py", line 1327, in
_execute_child
     raise child_exception
OSError: [Errno 7] Argument list too long
(Fri Apr 7 17:30:33 2017) Command finished (2 sec)

System Info
GRASS version: 7.2.0
GRASS SVN revision: exported
Build date: 2017-04-07
Build platform: x86_64-pc-linux-gnu
GDAL: 1.11.2
PROJ.4: 4.9.0
GEOS: 3.4.2
SQLite: 3.8.2
Python: 2.7.6
wxPython: 2.8.12.1
Platform: Linux-3.13.0-95-generic-x86_64-with-LinuxMint-17.1-rebecca

More details here: http://osgeo-org.1560.x6.nabble.com/Temporal-framework-
calculating-annual-5-day-extremes-td5316014.html#a5316295

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3330&gt;
GRASS GIS <https://grass.osgeo.org>

#3330: t.rast.to.rast3 error: Argument list too long
-----------------------+-------------------------
  Reporter: richardc | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: major | Milestone: 7.2.1
Component: Temporal | Version: 7.2.0
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
-----------------------+-------------------------

Comment (by richardc):

Here is the error log again (sorry for the formatting above):

{{{
t.rast.to.rast3 --overwrite --verbose input=capha_test_5@cahpa
output=cahpa_test_5_3d
Traceback (most recent call last):
   File "/usr/local/grass-7.2.0/scripts/t.rast.to.rast3",
line 194, in <module>
     main()
   File "/usr/local/grass-7.2.0/scripts/t.rast.to.rast3",
line 152, in main
     output=output, overwrite=grass.overwrite())
   File
"/usr/local/grass-7.2.0/etc/python/grass/script/core.py",
line 408, in run_command
     ps = start_command(*args, **kwargs)
   File
"/usr/local/grass-7.2.0/etc/python/grass/script/core.py",
line 377, in start_command
     return Popen(args, **popts)
   File
"/usr/local/grass-7.2.0/etc/python/grass/script/core.py",
line 74, in __init__
     subprocess.Popen.__init__(self, args, **kwargs)
   File "/usr/lib/python2.7/subprocess.py", line 710, in
__init__
     errread, errwrite)
   File "/usr/lib/python2.7/subprocess.py", line 1327, in
_execute_child
     raise child_exception
OSError: [Errno 7] Argument list too long
(Fri Apr 7 17:30:33 2017) Command finished (2 sec)
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3330#comment:1&gt;
GRASS GIS <https://grass.osgeo.org>

#3330: t.rast.to.rast3 error: Argument list too long
-----------------------+-------------------------
  Reporter: richardc | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: major | Milestone: 7.2.4
Component: Temporal | Version: 7.2.0
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
-----------------------+-------------------------

Comment (by martinl):

Still relevant?

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3330#comment:6&gt;
GRASS GIS <https://grass.osgeo.org>

#3330: t.rast.to.rast3 error: Argument list too long
--------------------------+-------------------------
  Reporter: richardc | Owner: grass-dev@…
      Type: enhancement | Status: new
  Priority: major | Milestone: 7.8.0
Component: Temporal | Version: 7.2.0
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
--------------------------+-------------------------
Changes (by sbl):

* type: defect => enhancement
* milestone: 7.2.4 => 7.8.0

Comment:

This is a OS limitation.
However a workaround could be added, I guess.
See also #2418

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3330#comment:7&gt;
GRASS GIS <https://grass.osgeo.org>