[GRASS5] [bug #3469] (grass) about i.class
Markus Neteler
neteler at itc.it
Mon Aug 8 09:28:57 EDT 2005
On Sun, Aug 07, 2005 at 09:19:01PM -0700, Brad Douglas wrote:
> On Sun, 2005-07-31 at 09:46 +0200, Request Tracker wrote:
> > this bug's URL: http://intevation.de/rt/webrt?serial_num=3469
> > -------------------------------------------------------------------------
> >
> > Subject: about i.class
> >
> > Platform: GNU/Linux/i386
> > grass obtained from: CVS
> > grass binary for platform: Compiled from Sources
> >
> > I am working with GRASS61, I try with i.class for supervised classification. After drawing the region on image I click to the Analyze region Menu, I get this error message WARNING:PREPARE_SIGNATURE: DATA ERROR (CLICK MOUSE TO CONTINUE). It seem that all the regions that I chose before now disappear. I try again with GRASS57, the result is also the same. Can you solve this problem for me? Thank you very much,
> > Best regards,
> > Tran Van Anh
>
> I traced this back to INAME_LEN being changed from 30 to 256 in
> include/imagery.h.
>
> This makes lib/vask/V_ques.c: V_ques() bomb out starting at line:
>
> if ((length <= 0) || ((length + col) > 80)) ...
>
> where the variable 'length' is passed in as INAME_LEN.
>
> The program keeps running until it dies with a floating point exception.
Brad,
the bug discovered by you is probably a new bug.
Miss Van Anh reports that GRASS57 also failed.
For testing, the LANDSAT-7 scene prepared for the Spearfish location
http://mpa.itc.it/grasstutor/data_menu2nd.phtml
-> p033r029_20000712_NAD27_small.tar.gz
may be used.
for i in p033*.tif ; do
NAME=`echo $i | cut -d'_' -f4`
r.in.gdal $i out=$NAME
done
i.group gr=lsat subgroup=lsat in=nn10,nn20,nn30,nn40,nn50,nn70
i.class
i.class
V_ask error: Length out of bounds in call to V_ques
V_ask error: Length out of bounds in call to V_ques
Now I see the new bug, coming from
lib/imagery/
vask_group.c: V_ques (group, 's', line++, 10, INAME_LEN);
Attached patch cures *this* problem. Apply to CVS?
Then I made a quick test using i.class.
For me the reported error "prepare_signature: data error." doesn't happen.
Markus
-------------- next part --------------
Index: lib/imagery/vask_group.c
===================================================================
RCS file: /grassrepository/grass6/lib/imagery/vask_group.c,v
retrieving revision 2.0
diff -u -r2.0 vask_group.c
--- lib/imagery/vask_group.c 9 Nov 2004 12:28:44 -0000 2.0
+++ lib/imagery/vask_group.c 8 Aug 2005 13:27:44 -0000
@@ -5,6 +5,8 @@
#define OLD 1
#define NEW 2
+#define MYINAME_LEN 30 /* this contradicts long file name support */
+
static int ask ( char **, char *,char *, int , int, char *);
int I_vask_group_new (
@@ -86,17 +88,17 @@
if (both)
{
V_line (line, "GROUP: (list will show available groups)");
- V_ques (group, 's', line++, 10, INAME_LEN);
+ V_ques (group, 's', line++, 10, MYINAME_LEN);
}
else
{
V_line (line, "GROUP:");
- V_const (group, 's', line++, 10, INAME_LEN);
+ V_const (group, 's', line++, 10, MYINAME_LEN);
}
if (subgroup != NULL)
{
V_line (line, "SUBGROUP: (list will show available subgroups)");
- V_ques (subgroup, 's', line++, 10, INAME_LEN);
+ V_ques (subgroup, 's', line++, 10, MYINAME_LEN);
}
More information about the grass-dev
mailing list