[GRASS-user] r.viewshed build

Glynn Clements glynn at gclements.plus.com
Tue Oct 11 06:49:09 EDT 2011


Markus Metz wrote:

> >> > This has (hopefully) been fixed in 7.0 with r38702, but the problem
> >> > remains in 6.x.
> >> >
> >> > The fix involves changing line 443 of lib/iostream/mm.cc from:
> >> >
> >> >     MM_mode MM_register::register_new = MM_ABORT_ON_MEMORY_EXCEEDED;
> >> > to:
> >> >     MM_mode MM_register::register_new = MM_IGNORE_MEMORY_EXCEEDED;
> >>
> >> I assume that means 1)  the only way to fix this is to recompile the
> >> grass iostream static library?  (I have been using the binary of grass).
> >
> > Yes. Or wait until someone back-ports the fix. Filing a bug report on
> > the tracker may help.
> 
> Done in r48704,5. This line 443 is (was) a bit mysterious because the
> default has been and still is MM_IGNORE_MEMORY_EXCEEDED, set in
> unchanged line 47.

Right. MM_register::register_new is statically initialised at line 443
then modified at line 47 the first (and only) time that the
constructor is invoked (for the instance created at line 440).

The problem is that it's undefined as to when the constructor is
invoked relative to constructors for other statically-allocated
objects.

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


More information about the grass-user mailing list