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 <[email protected]> _______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
