[GRASS-user] r.terraflow

Francesco Mirabella mirabell at unipg.it
Wed Nov 11 06:53:26 EST 2009


Hi Markus,
I am new to code patching, yes there is space in the /tmp directory 
(about 14Gb) :
------------------------------------------------------------
francesco at terra17:~$ df -h /tmp/
Filesystem         Dimens. Usati Disp. Uso% Montato su
/dev/sdb1              33G   18G   14G  57% /
------------------------------------------------------------

I have now re-configured with both 64bit and large file support.
I get the same error however I need e clarification:

There exist two ami_sort_impl.h files, one in
/../../../grass640_rc5/dist.i686-pc-linux-gnu/include/grass/iostream/ 	
and the other in
/../../../grass640_rc5/include/iostream/

I have tried to apply the patch to the first, then to second and to 
both. However, I get very similar errors to the original error when 
using the patch for the first and for the second and for both. I attach 
four files with the errors for the original and with the patched (first, 
second and both).
Is this helpful?  any hints?

grazie
Francesco








Markus Neteler wrote:
> Hi Francesco,
> 
> On Tue, Nov 10, 2009 at 12:34 PM, Francesco Mirabella <mirabell at unipg.it> wrote:
>> Hi Markus,
>> I tried to apply the patch of r.terraflow.  I do not know if I did it fine,
>> what I did was to change the original "include/iostream/ami_sort_impl.h"
>> file with the modifications in the .diff file.
> 
> such changes can be applied automatically:
> 
> cd where/the/code/is/
> patch -p0 < difffile
> 
> Sometimes it also needs to be applied from the main GRASS source
> code directory (just check if the path is in the diff file or not).
> 
>> If this was fine, below is
>> the output of r.terraflow which to me seems to give a different error as
>> before.
>>
>> ===============================================================
>> GRASS 6.4.0RC5 (WGS84_UTM33):~ > r.terraflow elevation=dem_tagliato
>> filled=flood direction=flow swatershed=sink accumulation=accumulation
>> tci=tci d8cut=infinity memory=1600 STREAM_DIR=/tmp stats=stats.out
>> STREAM temporary files in /tmp  (THESE INTERMEDIATE STREAMS WILL NOT BE
>> DELETED IN CASE OF ABNORMAL TERMINATION OF THE PROGRAM. TO SAVE SPACE PLEASE
>> DELETE THESE FILES MANUALLY!)
>> MFD flow direction
>> D8CUT=999999986991104.000000
>> Memory size: 1.56G (1677721600) bytes
>> Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode.
>> total elements=67071935, nodata elements=61864898
>> largest temporary files:
>> FILL: 3.50G (3756028360) [67071935 elements, 56B each]
> 
> -> are you on a 64 box? If on 32bit, did you compile GRASS with
> large file support? There will be the 2GB limit if not.
> 
>> FLOW: 397.27M (416562960) [5207037 elements, 80B each]
>> Will need at least 7.00G (7512056720) space available in /tmp
> 
> -> space is there in /tmp/?
> 
>> ------------------------------
>> COMPUTING FLOW DIRECTIONS
> ...
>> generating watersheds and watershed graph
>> AMI_STREAM::write_item failed.
>> /tmp/STREAM_HHSoQw: File too large
> 
> -> /tmp full or 2GB file limit hit?
> 
> Please check if you configured GRASS with --enable-largefile before
> compilation.
> 
> Markus

-------------- next part --------------
GRASS 6.4.0RC5 (WGS84_UTM33):~ > r.terraflow elevation=dem_tagliato filled=flood direction=flow swatershed=sink accumulation=accumulation tci=tci d8cut=infinity memory=1600 STREAM_DIR=/tmp stats=stats.out
STREAM temporary files in /tmp  (THESE INTERMEDIATE STREAMS WILL NOT BE DELETED IN CASE OF ABNORMAL TERMINATION OF THE PROGRAM. TO SAVE SPACE PLEASE DELETE THESE FILES MANUALLY!)
file stats.out exists - renaming.
MFD flow direction
D8CUT=999999986991104.000000
Memory size: 1.56G (1677721600) bytes
Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode.
total elements=67071935, nodata elements=61864898
largest temporary files:
FILL: 3.50G (3756028360) [67071935 elements, 56B each]
FLOW: 397.27M (416562960) [5207037 elements, 80B each]
Will need at least 7.00G (7512056720) space available in /tmp
------------------------------
COMPUTING FLOW DIRECTIONS
classifying nodata (inner & boundary)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.93MB
EMPQUEUEADAPTIVE: desired memory: 1597.93MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675549602.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208360484
assigning preliminary directions
finding flat areas (plateaus and depressions)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.41MB
EMPQUEUEADAPTIVE: desired memory: 1597.41MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675008754.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208292878
assigning directions on plateaus
generating watersheds and watershed graph
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1598.96MB
EMPQUEUEADAPTIVE: desired memory: 1598.96MB
sz_stream: 270396 buf_arity: 200 mm_overhead: 8678784 mm_avail: 1676631202.
EMPQUEUEADAPTIVE: memory overhead set to 8.27673MB
EMPQUEUEADAPTIVE: pqsize set to 104247026
file=/tmp/STREAM_eF9XNv:cannot read!: Bad address
r.terraflow: /usr/local/svn/grass/grass640_rc5/dist.i686-pc-linux-gnu/include/grass/iostream/ami_sort_impl.h:91: size_t makeRun_Block(AMI_STREAM<T>*, T*, unsigned int, Compare*) [with T = boundaryType, Compare = waterCmpBoundaryType]: Assertion `err == AMI_ERROR_NO_ERROR || err == AMI_ERROR_END_OF_STREAM' failed.
Abortito
GRASS 6.4.0RC5 (WGS84_UTM33):~ >
-------------- next part --------------
GRASS 6.4.0RC5 (WGS84_UTM33):~ > r.terraflow elevation=dem_tagliato filled=flood direction=flow swatershed=sink accumulation=accumulation tci=tci d8cut=infinity memory=1600 STREAM_DIR=/tmp stats=stats.out
STREAM temporary files in /tmp  (THESE INTERMEDIATE STREAMS WILL NOT BE DELETED IN CASE OF ABNORMAL TERMINATION OF THE PROGRAM. TO SAVE SPACE PLEASE DELETE THESE FILES MANUALLY!)
file stats.out exists - renaming.
MFD flow direction
D8CUT=999999986991104.000000
Memory size: 1.56G (1677721600) bytes
Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode.
total elements=67071935, nodata elements=61864898
largest temporary files:
FILL: 3.50G (3756028360) [67071935 elements, 56B each]
FLOW: 397.27M (416562960) [5207037 elements, 80B each]
Will need at least 7.00G (7512056720) space available in /tmp
------------------------------
COMPUTING FLOW DIRECTIONS
classifying nodata (inner & boundary)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.93MB
EMPQUEUEADAPTIVE: desired memory: 1597.93MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675549602.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208360484
assigning preliminary directions
finding flat areas (plateaus and depressions)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.41MB
EMPQUEUEADAPTIVE: desired memory: 1597.41MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675008754.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208292878
assigning directions on plateaus
generating watersheds and watershed graph
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1598.96MB
EMPQUEUEADAPTIVE: desired memory: 1598.96MB
sz_stream: 270396 buf_arity: 200 mm_overhead: 8678784 mm_avail: 1676631202.
EMPQUEUEADAPTIVE: memory overhead set to 8.27673MB
EMPQUEUEADAPTIVE: pqsize set to 104247026
file=/tmp/STREAM_0aZb56:cannot read!: Bad address
r.terraflow: /usr/local/svn/grass/grass640_rc5/dist.i686-pc-linux-gnu/include/grass/iostream/ami_sort_impl.h:91: size_t makeRun_Block(AMI_STREAM<T>*, T*, unsigned int, Compare*) [with T = boundaryType, Compare = waterCmpBoundaryType]: Assertion `err == AMI_ERROR_NO_ERROR || err == AMI_ERROR_END_OF_STREAM' failed.
Abortito
GRASS 6.4.0RC5 (WGS84_UTM33):~ >
-------------- next part --------------
GRASS 6.4.0RC5 (WGS84_UTM33):~ > r.terraflow elevation=dem_tagliato filled=flood direction=flow swatershed=sink accumulation=accumulation tci=tci d8cut=infinity memory=1600 STREAM_DIR=/tmp stats=stats.out
STREAM temporary files in /tmp  (THESE INTERMEDIATE STREAMS WILL NOT BE DELETED IN CASE OF ABNORMAL TERMINATION OF THE PROGRAM. TO SAVE SPACE PLEASE DELETE THESE FILES MANUALLY!)
file stats.out exists - renaming.
MFD flow direction
D8CUT=999999986991104.000000
Memory size: 1.56G (1677721600) bytes
Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode.
total elements=67071935, nodata elements=61864898
largest temporary files:
FILL: 3.50G (3756028360) [67071935 elements, 56B each]
FLOW: 397.27M (416562960) [5207037 elements, 80B each]
Will need at least 7.00G (7512056720) space available in /tmp
------------------------------
COMPUTING FLOW DIRECTIONS
classifying nodata (inner & boundary)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.93MB
EMPQUEUEADAPTIVE: desired memory: 1597.93MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675549602.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208360484
assigning preliminary directions
finding flat areas (plateaus and depressions)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.41MB
EMPQUEUEADAPTIVE: desired memory: 1597.41MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675008754.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208292878
assigning directions on plateaus
generating watersheds and watershed graph
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1598.96MB
EMPQUEUEADAPTIVE: desired memory: 1598.96MB
sz_stream: 270396 buf_arity: 200 mm_overhead: 8678784 mm_avail: 1676631202.
EMPQUEUEADAPTIVE: memory overhead set to 8.27673MB
EMPQUEUEADAPTIVE: pqsize set to 104247026
file=/tmp/STREAM_rl1UgG:cannot read!: Bad address
r.terraflow: /usr/local/svn/grass/grass640_rc5/dist.i686-pc-linux-gnu/include/grass/iostream/ami_sort_impl.h:91: size_t makeRun_Block(AMI_STREAM<T>*, T*, unsigned int, Compare*) [with T = boundaryType, Compare = waterCmpBoundaryType]: Assertion `err == AMI_ERROR_NO_ERROR || err == AMI_ERROR_END_OF_STREAM' failed.
Abortito
GRASS 6.4.0RC5 (WGS84_UTM33):~ >
-------------- next part --------------
GRASS 6.4.0RC5 (WGS84_UTM33):~ > r.terraflow elevation=dem_tagliato filled=flood direction=flow swatershed=sink accumulation=accumulation tci=tci d8cut=infinity memory=1600 STREAM_DIR=/tmp stats=stats.out
STREAM temporary files in /tmp  (THESE INTERMEDIATE STREAMS WILL NOT BE DELETED IN CASE OF ABNORMAL TERMINATION OF THE PROGRAM. TO SAVE SPACE PLEASE DELETE THESE FILES MANUALLY!)
file stats.out exists - renaming.
MFD flow direction
D8CUT=999999986991104.000000
Memory size: 1.56G (1677721600) bytes
Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode.
total elements=67071935, nodata elements=61864898
largest temporary files:
FILL: 3.50G (3756028360) [67071935 elements, 56B each]
FLOW: 397.27M (416562960) [5207037 elements, 80B each]
Will need at least 7.00G (7512056720) space available in /tmp
------------------------------
COMPUTING FLOW DIRECTIONS
classifying nodata (inner & boundary)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.93MB
EMPQUEUEADAPTIVE: desired memory: 1597.93MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675549602.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208360484
assigning preliminary directions
finding flat areas (plateaus and depressions)
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1597.41MB
EMPQUEUEADAPTIVE: desired memory: 1597.41MB
sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 1675008754.
EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
EMPQUEUEADAPTIVE: pqsize set to 208292878
assigning directions on plateaus
generating watersheds and watershed graph
EMPQUEUEADAPTIVE: starting in-memory pqueue
EMPQUEUEADAPTIVE: available memory: 1598.96MB
EMPQUEUEADAPTIVE: desired memory: 1598.96MB
sz_stream: 270396 buf_arity: 200 mm_overhead: 8678784 mm_avail: 1676631202.
EMPQUEUEADAPTIVE: memory overhead set to 8.27673MB
EMPQUEUEADAPTIVE: pqsize set to 104247026
file=/tmp/STREAM_mp64Pi:cannot read!: Bad address
r.terraflow: /usr/local/svn/grass/grass640_rc5/dist.i686-pc-linux-gnu/include/grass/iostream/ami_sort_impl.h:91: size_t makeRun_Block(AMI_STREAM<T>*, T*, unsigned int, Compare*) [with T = boundaryType, Compare = waterCmpBoundaryType]: Assertion `err == AMI_ERROR_NO_ERROR || err == AMI_ERROR_END_OF_STREAM' failed.
Abortito
GRASS 6.4.0RC5 (WGS84_UTM33):~ >


More information about the grass-user mailing list