[GRASS5] r.fill.dir segfaults

Dear developers,
can anybody confirm the segfault during operation of r.fill.dir ? After
the third wtershed-pass it exits with segfault.

The DEM is a 1000x1000 GRID which results from the s.surf.rst-command.
Thanks for any possible solution.

--
Stephan Holl

GnuPG Key-ID: 11946A09

On Thu, Jun 26, 2003 at 08:39:47AM +0200, Stephan Holl wrote:

Dear developers,
can anybody confirm the segfault during operation of r.fill.dir ? After
the third wtershed-pass it exits with segfault.

I was able to reproduce the bug:

Spearfish:
g.region rast=elevation.dem
r.mapcalc "elev.float = elevation.dem * 1.0"
r.fill.dir in=elev.float elev=blah dir=dir

The bug appears in get_min() which is called in
raster/r.fill.dir/ppupdate.c
row 134

The second parameter to get_min() seems to be empty when
it crashes.

However, I don't know how to fix it.

Markus

Hello Markus,

At Thu, 26 Jun 2003 11:14:18 +0200 Markus Neteler wrote:

On Thu, Jun 26, 2003 at 08:39:47AM +0200, Stephan Holl wrote:
> Dear developers,
> can anybody confirm the segfault during operation of r.fill.dir ?
> After the third wtershed-pass it exits with segfault.

I was able to reproduce the bug:

Spearfish:
g.region rast=elevation.dem
r.mapcalc "elev.float = elevation.dem * 1.0"
r.fill.dir in=elev.float elev=blah dir=dir

The bug appears in get_min() which is called in
raster/r.fill.dir/ppupdate.c
row 134

The second parameter to get_min() seems to be empty when
it crashes.

However, I don't know how to fix it.

well, hopefully someone else will fix this. I cannot fix this ether.

cheers
  Stephan

--
Stephan Holl

GnuPG Key-ID: 11946A09

11:45:52 up 4:30, 1 user, load average: 1.39, 0.81, 0.62

Have just fixed the older hack in
cyrillic font. The fonts used in R_font (R_text) had
all but 96 characters at maximum while we should be
able to use 2x26 + other (non-ascii) encoding upper
chars. This could be achieved by just extending the
range of accepted chars (see the patch code).

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

Markus Neteler wrote:

> can anybody confirm the segfault during operation of r.fill.dir ? After
> the third wtershed-pass it exits with segfault.

I was able to reproduce the bug:

Spearfish:
g.region rast=elevation.dem
r.mapcalc "elev.float = elevation.dem * 1.0"
r.fill.dir in=elev.float elev=blah dir=dir

This works fine for me (at least, it doesn't segfault), with both
5.0.2 and a recent build from HEAD.

--
Glynn Clements <glynn.clements@virgin.net>

> I was able to reproduce the bug:

[...]

> r.mapcalc "elev.float = elevation.dem * 1.0"
> r.fill.dir in=elev.float elev=blah dir=dir

[...]

This works fine for me (at least, it doesn't segfault), with both
5.0.2 and a recent build from HEAD.

segfaults for me for both a DCELL and CELL maps on 5.0.2.
(same map, second is round(x) the first)

The integer map (output below) didn't segfault until the second run of
the program.

note: the module doesn't work correctly on maps with negative elevation,
had to shift so entire map was positive.

Hamish

====================================================
GRASS:~ > r.fill.dir in=bf elev=bfo dir=BFdirn
Reading map...
Filling sinks...
Determining flow directions for ambiguous cases...
Downward pass 1
Upward pass 1

Downward pass 2
Found 547 unresolved areas
wtrshed pass 1
wtrshed pass 2
wtrshed pass 3
wtrshed pass 4
wtrshed pass 5
wtrshed pass 6

Repeat to get the final directions...
Downward pass 1
Upward pass 1

Downward pass 2
Upward pass 2
Found 84 unresolved areas

GRASS:~ > r.fill.dir in=bfo elev=bfo2 dir=BFdirn
Reading map...
Filling sinks...
Determining flow directions for ambiguous cases...
Downward pass 1
Upward pass 1

Downward pass 2
Upward pass 2
Found 84 unresolved areas
wtrshed pass 1
wtrshed pass 2
wtrshed pass 3
wtrshed pass 4
wtrshed pass 5
wtrshed pass 6
wtrshed pass 7
Segmentation fault