Well actually there is a very simple question. Now if you are new to GRASS, I'm guessing that you know something about classification algorithms and you have a bit of hands on experience with GIS technologies. Now the solution is pretty simple.
First look at your data, mainly the group that you want to classify. The easiest way is to create a group with a few bands (MORE THAN 2) using the i.group
command like so:
i.group -r group='maingroup' subgroup='subgroup'
i.group group='maingroup' subgroup='subgroup' input=band1,band2,band3,...
(visit:https://grass.osgeo.org/grass70/manuals/i.group.html)
After that you are going to check your shapefile or your signatures (BEFORE USING i.gensig
or i.gesigset
) so you are sure you did not use "varchar" instead of "attr" for example.
Now if anything went according to plan and your data can be used, you should be able to continue with your supervised classification.
P.S this answer is based on that post(Empty signature file after i.gensig in GRASS) and MY personal issue