this bug's URL: http://intevation.de/rt/webrt?serial_num=3037
-------------------------------------------------------------------------
Subject: r.mapcalc segfault with mixed mapsets
GRASS 6beta2
weird one.
I've got a mapset with a "new" 3D WIND region, and if have g.mapsets listing
other mapsets using the old format I get a segfault. If I choose two (old)
mapsets in addition to the current one and PERMANENT, it works. [old/new
status of the WIND file may be red herring, thought I'd mention it]
back trace isn't very useful as the stack is corrupted, but it seems to get up
to a G_region call of some sort.
Reproducable after exiting & restarting GRASS, zooming to a small area.
only seems to happen with this one map. Maybe the range?
G6b2> r.info -r land_mask.a
min=1
max=1
G6b2> r.univar land_mask.a
total null and non-null cells: 9405
total null cells: 6396
Of the non-null cells:
----------------------
n: 3009
minimum: 1
maximum: 1
G6b2> r.mapcalc ocean_mask.a='if(isnull(land_mask.a))'
Program received signal SIGSEGV, Segmentation fault.
0x0805e90b in ?? ()
(gdb) bt -f
(More stack frames follow...)
(gdb) bt
#0 0x0805e90b in ?? ()
#1 0x0805f170 in ?? ()
#2 0x0805fb60 in ?? ()
#3 0x40016c00 in ?? () from /lib/ld-linux.so.2
#4 0x0f4d007f in ?? ()
#5 0x0805fb80 in ?? ()
#6 0x402b6e65 in ?? () from /lib/libnss_nis.so.2
#7 0x4000b491 in _dl_map_object_deps () from /lib/ld-linux.so.2
Previous frame inner to this frame (corrupt stack?)
(gdb) l
98 }
99
100
/****************************************************************************/
101
102 int
103 main(int argc, char **argv)
104 {
105 int all_ok;
106
107 G_gisinit(argv[0]);
(gdb)
?
If I add a 3rd additional mapset (so 5 in total incl home and PERM) I get:
ERROR: region for current mapset is not set
run "g.region"
Hamish
-------------------------------------------- Managed by Request Tracker