[GRASS-dev] r.sim.water buffer overflow

Hanlie Pretorius hanlie.pretorius at gmail.com
Wed Aug 18 02:31:06 EDT 2010


Hi,

I'm posting here because I had no reaction on the users email list.

I'm using GRASS64 RC6 on Linux 10.04 (64-bit) and I'm trying to run
r.sim.water on a catchment about 5000 km2 in size.

I started with a very fine resolution in my region (00:00:00.18) and
got the following:
-----
GRASS 6.4.0RC6 (world_wgs84):~ > r.sim.water
elevin=lieb_dem_25m_clipped dxin=lieb_dem_25m_clipped_dx
dyin=lieb_dem_25m_clipped_dy  rain_val=2.0 manin_val=0.1
infil_val=13.0 depth=rsimwater.depth.18s disch=rsimwater.disch.18s
default nwalk=600505650, rwalk=600505650.000000
Killed
GRASS 6.4.0RC6 (world_wgs84):~ >
(python:1572): Pango-CRITICAL **: pango_layout_get_cursor_pos:
assertion `index >= 0 && index <= layout->length' failed
^C
----

Since this resolution gives about 300 million cells in the region, I
progressively coarsened the resolution, but I get buffer overflows
even with just 2736 cells in the region (resolution = 00:01:00)

Below is an example of the error I got at a resolution of 1 minute.
The output at all resolutions (except 00:00:00.18) is similar:
-----
GRASS 6.4.0RC6 (world_wgs84):~ >  r.sim.water
elevin=lieb_dem_25m_clipped dxin=lieb_dem_25m_clipped_dx
dyin=lieb_dem_25m_clipped_dy  rain_val=50.0 manin_val=0.1
infil_val=13.0 depth=rsimwater.depth_1min disch=rsimwater.disch_1min
--overwrite
default nwalk=5472, rwalk=5472.000000

Min elevation = 1500.00 m
Max elevation = 2351.17 m
Mean Source Rate (rainf. excess or sediment) = 0.000006 m/s or kg/m2s
Mean flow velocity = 1.135392 m/s
Mean Mannings = 0.170467
Number of iterations = 41128 cells
Time step = 0.00 s
*** buffer overflow detected ***: r.sim.water terminated
======= Backtrace: =========
/lib/libc.so.6(__fortify_fail+0x37)[0x7ffab34e7207]
/lib/libc.so.6(+0xfe0c0)[0x7ffab34e60c0]
/lib/libc.so.6(+0xfd529)[0x7ffab34e5529]
/lib/libc.so.6(_IO_default_xsputn+0xcc)[0x7ffab345dd1c]
/lib/libc.so.6(_IO_vfprintf+0x3d34)[0x7ffab34310d4]
/lib/libc.so.6(__vsprintf_chk+0x99)[0x7ffab34e55c9]
/lib/libc.so.6(__sprintf_chk+0x7f)[0x7ffab34e550f]
/usr/lib/grass64/lib/libgrass_sim.so(output_data+0x1b1a)[0x7ffab5f32d35]
r.sim.water(main+0x1041)[0x4037e5]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7ffab3406c4d]
r.sim.water[0x4026e9]
======= Memory map: ========
00400000-00405000 r-xp 00000000 08:05 545723
 /usr/lib/grass64/bin/r.sim.water
00604000-00605000 r--p 00004000 08:05 545723
 /usr/lib/grass64/bin/r.sim.water
00605000-00606000 rw-p 00005000 08:05 545723
 /usr/lib/grass64/bin/r.sim.water
00606000-12bc4000 rw-p 00000000 00:00 0
14a19000-14ab6000 rw-p 00000000 00:00 0                                  [heap]
7ffaaa3c1000-7ffaaa3cd000 r-xp 00000000 08:05 262845
 /lib/libnss_files-2.11.1.so
7ffaaa3cd000-7ffaaa5cc000 ---p 0000c000 08:05 262845
 /lib/libnss_files-2.11.1.so
7ffaaa5cc000-7ffaaa5cd000 r--p 0000b000 08:05 262845
 /lib/libnss_files-2.11.1.so
7ffaaa5cd000-7ffaaa5ce000 rw-p 0000c000 08:05 262845
 /lib/libnss_files-2.11.1.so
7ffaaa5ce000-7ffaaa5d8000 r-xp 00000000 08:05 263050
 /lib/libnss_nis-2.11.1.so
7ffaaa5d8000-7ffaaa7d7000 ---p 0000a000 08:05 263050
 /lib/libnss_nis-2.11.1.so
7ffaaa7d7000-7ffaaa7d8000 r--p 00009000 08:05 263050
 /lib/libnss_nis-2.11.1.so
7ffaaa7d8000-7ffaaa7d9000 rw-p 0000a000 08:05 263050
 /lib/libnss_nis-2.11.1.so
7ffaaa7d9000-7ffaaa7e1000 r-xp 00000000 08:05 262840
 /lib/libnss_compat-2.11.1.so
7ffaaa7e1000-7ffaaa9e0000 ---p 00008000 08:05 262840
 /lib/libnss_compat-2.11.1.so
7ffaaa9e0000-7ffaaa9e1000 r--p 00007000 08:05 262840
 /lib/libnss_compat-2.11.1.so
7ffaaa9e1000-7ffaaa9e2000 rw-p 00008000 08:05 262840
 /lib/libnss_compat-2.11.1.so
7ffaaa9e2000-7ffaaa9e5000 r-xp 00000000 08:05 261719
 /lib/libgpg-error.so.0.4.0
7ffaaa9e5000-7ffaaabe4000 ---p 00003000 08:05 261719
 /lib/libgpg-error.so.0.4.0
7ffaaabe4000-7ffaaabe5000 r--p 00002000 08:05 261719
 /lib/libgpg-error.so.0.4.0
7ffaaabe5000-7ffaaabe6000 rw-p 00003000 08:05 261719
 /lib/libgpg-error.so.0.4.0
7ffaaabe6000-7ffaaabf6000 r-xp 00000000 08:05 137210
 /usr/lib/libtasn1.so.3.1.7
7ffaaabf6000-7ffaaadf5000 ---p 00010000 08:05 137210
 /usr/lib/libtasn1.so.3.1.7
7ffaaadf5000-7ffaaadf6000 r--p 0000f000 08:05 137210
 /usr/lib/libtasn1.so.3.1.7
7ffaaadf6000-7ffaaadf7000 rw-p 00010000 08:05 137210
 /usr/lib/libtasn1.so.3.1.7
7ffaaadf7000-7ffaaae10000 r-xp 00000000 08:05 137156
 /usr/lib/libsasl2.so.2.0.23
7ffaaae10000-7ffaab00f000 ---p 00019000 08:05 137156
 /usr/lib/libsasl2.so.2.0.23
7ffaab00f000-7ffaab010000 r--p 00018000 08:05 137156
 /usr/lib/libsasl2.so.2.0.23
7ffaab010000-7ffaab011000 rw-p 00019000 08:05 137156
 /usr/lib/libsasl2.so.2.0.23
7ffaab011000-7ffaab027000 r-xp 00000000 08:05 263380
 /lib/libresolv-2.11.1.so
7ffaab027000-7ffaab226000 ---p 00016000 08:05 263380
 /lib/libresolv-2.11.1.so
7ffaab226000-7ffaab227000 r--p 00015000 08:05 263380
 /lib/libresolv-2.11.1.so
7ffaab227000-7ffaab228000 rw-p 00016000 08:05 263380
 /lib/libresolv-2.11.1.so
7ffaab228000-7ffaab22a000 rw-p 00000000 00:00 0
7ffaab22a000-7ffaab22c000 r-xp 00000000 08:05 261726
 /lib/libkeyutils-1.2.so
7ffaab22c000-7ffaab42b000 ---p 00002000 08:05 261726
 /lib/libkeyutils-1.2.so
7ffaab42b000-7ffaab42c000 r--p 00001000 08:05 261726
 /lib/libkeyutils-1.2.so
7ffaab42c000-7ffaab42d000 rw-p 00002000 08:05 261726
 /lib/libkeyutils-1.2.so
7ffaab42d000-7ffaab434000 r-xp 00000000 08:05 135716
 /usr/lib/libkrb5support.so.0.1
7ffaab434000-7ffaab633000 ---p 00007000 08:05 135716
 /usr/lib/libkrb5support.so.0.1
7ffaab633000-7ffaab634000 r--p 00006000 08:05 135716
 /usr/lib/libkrb5support.so.0.1
7ffaab634000-7ffaab635000 rw-p 00007000 08:05 135716
 /usr/lib/libkrb5support.so.0.1
7ffaab635000-7ffaab659000 r-xp 00000000 08:05 132573
 /usr/lib/libk5crypto.so.3.1
7ffaab659000-7ffaab859000 ---p 00024000 08:05 132573
 /usr/lib/libk5crypto.so.3.1
7ffaab859000-7ffaab85a000 r--p 00024000 08:05 132573
 /usr/lib/libk5crypto.so.3.1
7ffaab85a000-7ffaab85b000 rw-p 00025000 08:05 132573
 /usr/lib/libk5crypto.so.3.1
7ffaab85b000-7ffaab872000 r-xp 00000000 08:05 262839
 /lib/libnsl-2.11.1.so
7ffaab872000-7ffaaba71000 ---p 00017000 08:05 262839
 /lib/libnsl-2.11.1.so
7ffaaba71000-7ffaaba72000 r--p 00016000 08:05 262839
 /lib/libnsl-2.11.1.so
7ffaaba72000-7ffaaba73000 rw-p 00017000 08:05 262839
 /lib/libnsl-2.11.1.so
7ffaaba73000-7ffaaba75000 rw-p 00000000 00:00 0
7ffaaba75000-7ffaabaea000 r-xp 00000000 08:05 261715
 /lib/libgcrypt.so.11.5.2
7ffaabaea000-7ffaabce9000 ---p 00075000 08:05 261715
 /lib/libgcrypt.so.11.5.2
7ffaabce9000-7ffaabcea000 r--p 00074000 08:05 261715
 /lib/libgcrypt.so.11.5.2
7ffaabcea000-7ffaabced000 rw-p 00075000 08:05 261715
 /lib/libgcrypt.so.11.5.2
7ffaabced000-7ffaabd89000 r-xp 00000000 08:05 136704
 /usr/lib/libgnutls.so.26.14.12
7ffaabd89000-7ffaabf88000 ---p 0009c000 08:05 136704
 /usr/lib/libgnutls.so.26.14.12
7ffaabf88000-7ffaabf8e000 r--p 0009b000 08:05 136704
 /usr/lib/libgnutls.so.26.14.12
7ffaabf8e000-7ffaabf8f000 rw-p 000a1000 08:05 136704
 /usr/lib/libgnutls.so.26.14.12
7ffaabf8f000-7ffaabf9c000 r-xp 00000000 08:05 133966
 /usr/lib/liblber-2.4.so.2.5.4Aborted
-----

I can run the Spearfish example as shown in the r.sim.water manual
page and that region contains 2654802 cells.

My DEM is not rectangular and I'm setting the region to a vector file
that is an irregular boundary. So, the DEM has NULL values outside the
vector boundary but inside the region. Could this be a problem?

Or can someone perhaps spot another problem?

Thanks
Hanlie


More information about the grass-dev mailing list