Opened 14 years ago

Closed 12 years ago

#1139 closed defect (fixed)

v.report has a problem (only via OSGEO4W package)

Reported by: naokiueda Owned by: grass-dev@…
Priority: critical Milestone: 6.4.2
Component: Vector Version: 6.4.2 RCs
Keywords: wingrass, v.report, osgeo4w Cc: martinl
CPU: x86-32 Platform: MSWindows Vista

Description

with version GRASS 6.4.0svn

v.report does not work. when run, it cause following error.

"Input file specified two times. There is a table connected to input vector map '*', but there are no categories present in the key column '*'. Consider using v.to.db ro correct this."

Malfunctioning on GRASS 6.4.0.SNV included in OSGEO4W version on windows7. g.version -r returned following.


RASS 6.4.0svn (2010) Revision: 37101 Date: 2009-05-10 13:35:38 +0200 (Sun, 10 May 2009)


Note that it working normally on single version of GRASS with same version. (Download from Web and install as a independent application istead of installed as a OSGEO4W package) Working version also returned same version, but different time stamp.


RASS 6.4.0svn (2010) Revision: 37101 Date: 2009-05-10 04:3538 -0700 (Sun, 10 May 2009)


Attachments (1)

debug3_log.zip (7.7 KB ) - added by hellik 12 years ago.
v.report-debug3-log

Download all attachments as: .zip

Change History (18)

comment:1 by martinl, 14 years ago

Cc: martinl added
Keywords: wingrass v.report added

Tested with the latest native build (http://josef.fsv.cvut.cz/wingrass/grass64/WinGRASS-6.4.SVN-r43263-1-Setup.exe) and nc_spm_08 dataset v.report seems to work, e.g. (from wxGUI)

v.report map=bridges@PERMANENT option=length

Martin

in reply to:  description comment:2 by martinl, 14 years ago

Replying to naokiueda:

Note that it working normally on single version of GRASS with same version. (Download from Web and install as a independent application istead of installed as a OSGEO4W package) Working version also returned same version, but different time stamp.

Ah, strange.

in reply to:  description comment:3 by hellik, 13 years ago

Replying to naokiueda:

with version GRASS 6.4.0svn

v.report does not work. when run, it cause following error.

"Input file specified two times. There is a table connected to input vector map '*', but there are no categories present in the key column '*'. Consider using v.to.db ro correct this."

Malfunctioning on GRASS 6.4.0.SNV included in OSGEO4W version on windows7. g.version -r returned following.


RASS 6.4.0svn (2010) Revision: 37101 Date: 2009-05-10 13:35:38 +0200 (Sun, 10 May 2009)


Note that it working normally on single version of GRASS with same version. (Download from Web and install as a independent application istead of installed as a OSGEO4W package) Working version also returned same version, but different time stamp.


RASS 6.4.0svn (2010) Revision: 37101 Date: 2009-05-10 04:3538 -0700 (Sun, 10 May 2009)


still an issue? closing the ticket?

comment:4 by giohappy, 12 years ago

I could replicate the issue. GRASS 6.4RC1 from osgeo4w (Windows 7 OS)

comment:5 by giohappy, 12 years ago

And I confirm that it works fine with the standalone install (http://wingrass.fsv.cvut.cz/grass64/)

comment:6 by hamish, 12 years ago

Keywords: osgeo4w added
Milestone: 6.4.06.4.2

comment:7 by hellik, 12 years ago

CPU: Unspecifiedx86-32
Platform: UnspecifiedMSWindows Vista
Priority: normalcritical
Version: 6.4.0 RCs6.4.2 RCs

tested with osgeo4w-wingrass6.4.2RC3 (WinVista-32bit-box) and nc-sample-dataset:

v.report map=geology@PERMANENT option=area                                      
Zeige Typ/Name der Spalten der Datenbank des Layers 1:
Show type/name of database's columns of layer 1:
Die Eingabedatei wurde zweimal angegeben.
The input is given twice.
ERROR: There is a table connected to input vector map 'geology@PERMANENT', 
but there are no categories present in the key column 'cat'. Consider using v.to.db to correct this.
(Tue Jan 17 18:57:00 2012) Befehl ausgeführt (5 sec)
[...]
D2/3: load_table_head(): tab = 20,
C:\gisdata\grassdata\nc_spm_08\PERMANENT\dbf\\geology.dbf
D2/3:   ncols = 8
D2/3:   DBFFieldType 1
D3/3: add_column(): tab = 20, type = 2, name = cat, width =
11, decimals = 0
D2/3:   DBFFieldType 2
D3/3: add_column(): tab = 20, type = 3, name = onemap_pro,
width = 20, decimals = 6
D2/3:   DBFFieldType 2
D3/3: add_column(): tab = 20, type = 3, name = PERIMETER,
width = 20, decimals = 6
D2/3:   DBFFieldType 1
D3/3: add_column(): tab = 20, type = 2, name = GEOL250_,
width = 11, decimals = 0
D2/3:   DBFFieldType 1
D3/3: add_column(): tab = 20, type = 2, name = GEOL250_ID,
width = 11, decimals = 0
D2/3:   DBFFieldType 0
D3/3: add_column(): tab = 20, type = 1, name = GEO_NAME,
width = 6, decimals = 0
D2/3:   DBFFieldType 2
D3/3: add_column(): tab = 20, type = 3, name = SHAPE_area,
width = 20, decimals = 6
D2/3:   DBFFieldType 2
D3/3: add_column(): tab = 20, type = 3, name = SHAPE_len,
width = 20, decimals = 6
D2/3: save_table 0
D2/3: save_table 1
D2/3: save_table 2
D2/3: save_table 3
D2/3: save_table 4
D2/3: save_table 5
D2/3: save_table 6
D2/3: save_table 7
D2/3: save_table 8
D2/3: save_table 9
[...]
D2/3: save_table 42
D2/3: save_table 43
D2/3: save_table 44
D1/3: Vect_close(): name = geology, mapset = PERMANENT,
format = 0, level = 2
D1/3: close history file
Die Eingabedatei wurde zweimal angegeben.
the input is given twice.
D1/3: Vect_open_old(): name = geology@PERMANENT mapset=
PERMANENT update = 0
[...]
D2/3: Vect_cidx_open(): name = geology mapset= PERMANENT
D3/3: dig_cidx_init()
D3/3: dig_read_cidx()
D3/3: dig_cidx_init()
D3/3: Cidx header: file version 5.0 , supported from GRASS
version 5.0
D3/3:   byte order 0
D3/3:   header size 9
D1/3: V1_open_old_nat(): name = geology mapset = PERMANENT
D2/3: Coor header: file version 5.1 , supported from GRASS
version 5.1
D2/3:   byte order 0
D2/3:   header size 14
D2/3:   with_z 0
D2/3:   coor size 9016555
D1/3: get coor info:
C:\gisdata\grassdata/nc_spm_08/PERMANENT/vector/geology/coor
D1/3: Info->size = 9016555, Info->mtime = 1198040780
D1/3: coor size in head = 9016555, real coor file size=
9016555
D2/3: dig_file_load ()
D2/3:   requested mode = 2
D2/3:   size = 9016555
D2/3:   file was not loaded to the memory
D1/3: Vect_open_old(): vector opened on level 2
D1/3: Vect_read_dblinks(): map = geology, mapset = PERMANENT
D3/3: Searching for FID column in OGR DB
D1/3: dbln file:
C:\gisdata\grassdata/nc_spm_08/PERMANENT/vector/geology/dbln
D1/3: dbln: 1 geology cat
$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/ dbf
D3/3: Field number <1>, name <(null)>
D3/3: Vect_check_dblink: field 1
D1/3: field = 1 name = (null), table = geology, key = cat,
database = $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/, driver =
dbf
D1/3: Dblinks read
D1/3: Vect_Rewind(): name = geology
D1/3: Vect_get_dblink(): link = 0
D3/3: Vect_subst_var(): in =
$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/, map = geology, mapset
= PERMANENT
D3/3:   -> C:\gisdata\grassdata\nc_spm_08\PERMANENT\dbf\
D1/3: Vect_close(): name = geology, mapset = PERMANENT,
format = 0, level = 2
D1/3: close history file
D1/3: V1_close_nat(): name = geology mapset= PERMANENT
ERROR: There is a table connected to input vector map 'geology@PERMANENT', but      there are no categories present in the key column 'cat'. Consider using      v.to.db to correct this.
D1/3: ret = 1

complete debug=3-report attached.

Helmut

by hellik, 12 years ago

Attachment: debug3_log.zip added

v.report-debug3-log

in reply to:  7 ; comment:8 by hellik, 12 years ago

Replying to hellik:

tested with osgeo4w-wingrass6.4.2RC3 (WinVista-32bit-box) and nc-sample-

it's really strange, because with the standalone wingrass6.4.2RC3

v.report map=geology@PERMANENT option=area                                      
Zeige Typ/Name der Spalten der Datenbank des Layers 1:
cat|onemap_pro|PERIMETER|GEOL250_|GEOL250_ID|GEO_NAME|SHAPE_area|SHAPE_len|area
1|963738.75|4083.97998|2|1|Zml|963738.608571|4083.979839|963738.608570847
2|22189124|26628.261719|3|2|Zmf|22189123.2296|26628.261112|22189123.2295976
3|579286.875|3335.55835|4|3|Zml|579286.829631|3335.557182|579286.829630694
[...]

???

Helmut

in reply to:  8 ; comment:9 by hellik, 12 years ago

Replying to hellik:

Replying to hellik:

tested with osgeo4w-wingrass6.4.2RC3 (WinVista-32bit-box) and nc-sample-

it's really strange, because with the standalone wingrass6.4.2RC3

maybe some variable quoting issue?

Helmut

in reply to:  9 ; comment:10 by hamish, 12 years ago

Replying to hellik:

maybe some variable quoting issue?

I don't see anything obvious.

Can you edit the script and change the first line to '#!/bin/sh -x' and post the output?

thanks, Hamish

in reply to:  10 ; comment:11 by hellik, 12 years ago

Replying to hamish:

Can you edit the script and change the first line to '#!/bin/sh -x' and post the output?

first line to '#!/bin/sh -x':

GRASS 6.4.2RC3 (nc_spm_08)> v.report map=geology@PERMANENT option=area
Zeige Typ/Name der Spalten der Datenbank des Layers 1:
Die Eingabedatei wurde zweimal angegeben.
Input file specified two times.

FEHLER: There is a table connected to input vector map 'geology@PERMANENT',
        but there are no categories present in the key column 'cat'.
        Consider using v.to.db to correct this.

? Helmut

in reply to:  11 comment:12 by hellik, 12 years ago

Replying to hellik:

Replying to hamish:

Can you edit the script and change the first line to '#!/bin/sh -x' and post the output?

first line to '#!/bin/sh -x':

and additionally eliminating some >/dev/null 2>&1 in the script, tested again in a winvista32-box:

standalone wingrass6.4.2RC3-installer

v.report map=geology@PERMANENT option=area                                      
INTEGER|cat
DOUBLE PRECISION|onemap_pro
DOUBLE PRECISION|PERIMETER
INTEGER|GEOL250_
INTEGER|GEOL250_ID
CHARACTER|GEO_NAME
DOUBLE PRECISION|SHAPE_area
DOUBLE PRECISION|SHAPE_len
Zeige Typ/Name der Spalten der Datenbank des Layers 1:
Zeige Typ/Name der Spalten der Datenbank des Layers 1:
[english translation: Displaying column types/names for database connection of layer %d:]
cat|onemap_pro|PERIMETER|GEOL250_|GEOL250_ID|GEO_NAME|SHAPE_area|SHAPE_len|area
1|963738.75|4083.97998|2|1|Zml|963738.608571|4083.979839|963738.608570847
2|22189124|26628.261719|3|2|Zmf|22189123.2296|26628.261112|22189123.2295976

osgeo4w-wingrass6.4.2RC3:

v.report map=geology@PERMANENT option=area                                      
Zeige Typ/Name der Spalten der Datenbank des Layers 1:
[english translation: Displaying column types/names for database connection of layer %d:]
INTEGER|cat
DOUBLE PRECISION|onemap_pro
DOUBLE PRECISION|PERIMETER
INTEGER|GEOL250_
INTEGER|GEOL250_ID
CHARACTER|GEO_NAME
DOUBLE PRECISION|SHAPE_area
DOUBLE PRECISION|SHAPE_len
Zeige Typ/Name der Spalten der Datenbank des Layers 1:
[english translation: Displaying column types/names for database connection of layer %d:]
Die Eingabedatei wurde zweimal angegeben.
[english translation: Input file specified two times.]
ERROR: There is a table connected to input vector map 'geology@PERMANENT', but      there are no categories present in the key column 'cat'. Consider using      v.to.db to correct this.
(Thu Jan 19 19:18:50 2012) Befehl ausgeführt (7 sec)  

?

Helmut

comment:13 by hamish, 12 years ago

Apparently the '#!/bin/sh -x' has no effect here. Could you add the "set -x" somewhere near the start of the script?

could you try running this command from the osgeo4w terminal prompt:

v.db.select -c geology | sort -n -t'|' -k 1 | head

I suspect the problem is DOS's sort.exe is being used by osgeo4w instead of msys's version of sort.exe, as seen in #1553. (what does which sort at the msys prompt say? /bin/sort.exe?)

Hamish

in reply to:  13 comment:14 by hellik, 12 years ago

Replying to hamish:

(what does which sort at the msys prompt say? /bin/sort.exe?)

syringia@NADA ~
$ which sort
/bin/sort.exe

Helmut

in reply to:  13 ; comment:15 by hellik, 12 years ago

Replying to hamish:

could you try running this command from the osgeo4w terminal prompt:

 v.db.select -c geology | sort -n -t'|' -k 1 | head
Welcome to GRASS 6.4.2svn (2012) 
GRASS homepage:                          http://grass.osgeo.org/
This version running thru:               Bourne Shell (/bin/sh)
Help is available with the command:      g.manual -i
See the licence terms with:              g.version -c
If required, restart the GUI with:       g.gui wxpython
When ready to quit enter:                exit

GRASS 6.4> v.db.select -c geology | sort -n -t'|' -k 1 | head
1|963738.75|4083.97998|2|1|Zml|963738.608571|4083.979839
2|22189124|26628.261719|3|2|Zmf|22189123.2296|26628.261112
3|579286.875|3335.55835|4|3|Zml|579286.829631|3335.557182
4|20225526|33253|5|4|Zml|20225526.6368|33253.000508
5|450650720|181803.765625|6|5|Ybgg|450650731.029|181803.776199
6|6386874.5|17978.429688|7|6|Zml|6386875.00182|17978.430892
7|969311.1875|4096.096191|8|7|Ybgg|969311.720138|4096.098584
8|537840.625|3213.40625|9|8|Zmf|537840.953797|3213.407197
9|3389078.25|16346.604492|10|9|Zml|3389077.17888|16346.604884
10|906132.375|4319.162109|11|10|Zml|906132.945012|4319.163379

Helmut

in reply to:  15 ; comment:16 by hellik, 12 years ago

Replying to hellik:

Replying to hamish:

could you try running this command from the osgeo4w terminal prompt:

 v.db.select -c geology | sort -n -t'|' -k 1 | head
Welcome to GRASS 6.4.2svn (2012) 
GRASS homepage:                          http://grass.osgeo.org/
This version running thru:               Bourne Shell (/bin/sh)
Help is available with the command:      g.manual -i
See the licence terms with:              g.version -c
If required, restart the GUI with:       g.gui wxpython
When ready to quit enter:                exit

GRASS 6.4> v.db.select -c geology | sort -n -t'|' -k 1 | head
1|963738.75|4083.97998|2|1|Zml|963738.608571|4083.979839
2|22189124|26628.261719|3|2|Zmf|22189123.2296|26628.261112
3|579286.875|3335.55835|4|3|Zml|579286.829631|3335.557182
4|20225526|33253|5|4|Zml|20225526.6368|33253.000508
5|450650720|181803.765625|6|5|Ybgg|450650731.029|181803.776199
6|6386874.5|17978.429688|7|6|Zml|6386875.00182|17978.430892
7|969311.1875|4096.096191|8|7|Ybgg|969311.720138|4096.098584
8|537840.625|3213.40625|9|8|Zmf|537840.953797|3213.407197
9|3389078.25|16346.604492|10|9|Zml|3389077.17888|16346.604884
10|906132.375|4319.162109|11|10|Zml|906132.945012|4319.163379

tested above with a completely fresh downloaded osgeo4-stack (the old osgeo4-stack ,which my earlier tests above were based upon, was more than 2 years old). now also v.report invoked from the wx-gui is working.

so for the original bug-reporter, please test again with a completely fresh osgeo4w-stack/osgeo4w-wingrass.

I tend to suggest closing the ticket.

Helmut

in reply to:  16 comment:17 by hellik, 12 years ago

Resolution: fixed
Status: newclosed

Replying to hellik:

I tend to suggest closing the ticket.

Helmut

tested here with osgeo4w-wingrass6.4.3svn r52715, works fine.

closing the ticket; reopen if needed.

Helmut

Note: See TracTickets for help on using tickets.