[GRASS-dev] Re: [GRASS GIS] #746: v.out.ascii with column parameter: segfault

GRASS GIS trac at osgeo.org
Wed Sep 9 19:12:34 EDT 2009


#746: v.out.ascii with column parameter: segfault
----------------------+-----------------------------------------------------
  Reporter:  neteler  |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect   |      Status:  new                      
  Priority:  normal   |   Milestone:  6.4.0                    
 Component:  Vector   |     Version:  6.4.0 RCs                
Resolution:           |    Keywords:                           
  Platform:  Linux    |         Cpu:  x86-64                   
----------------------+-----------------------------------------------------
Comment (by hamish):

 Hamish:
 > > see also v.in.ascii column wish/bug + patch in trac bug list
 > > https://trac.osgeo.org/grass/report/13

 Markus:
 > Is https://trac.osgeo.org/grass/ticket/198
 > related? I see a patch sleeping there...

 no sorry, I saw v.in.ascii not v.out.ascii. Nevermind.


 ah, I can reproduce this on 64bit + CFLAGS=-g but not on 32bit + -g
 with gras 6.5svn.

 hmph. 50% of the time it completes successfully. Sometimes I need to exit
 and restart GRASS to stir up the memory pool enough to get it to segfault
 again.

 {{{
 [...]
 D1/1: Info->size = 159, Info->mtime = 1252533415
 D1/1: coor size in head = 159, real coor file size= 159
 D1/1: Vect_open_old(): vector opened on level 1
 D1/1: Vect_read_dblinks(): map = phd_area_main_cities, mapset = markus
 D1/1: dbln file:
 /home/hamish/grassdata/utm32/markus/vector/phd_area_main_cities/dbln
 D1/1: dbln: 1 phd_area_main_cities cat
 $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/ dbf
 D1/1: field = 1 name = (null), table = phd_area_main_cities, key = cat,
 database = $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/, driver = dbf
 D1/1: Dblinks read
 D1/1: Vect_Rewind(): name = phd_area_main_cities
 D1/1: Vect_get_field(): field = 1
 D1/1: Vect_get_dblink(): link = 0
 D1/1: Vect_Rewind(): name = phd_area_main_cities
 Segmentation fault
 }}}

 ok, got it to fail with DEBUG=5:
 {{{
 [...]
 D4/5: row 3
 D4/5: eval_node node_type = 3
 D4/5: eval_node node_type = 1
 D4/5:     left = 2
 D4/5:     left_dval = 4.000000
 D4/5: eval_node node_type = 2
 D4/5:     right = 2
 D4/5:     right_dval = 1.000000
 D4/5:     operator = 11
 D4/5: condition = 0
 D4/5: row 4
 D4/5: eval_node node_type = 3
 D4/5: eval_node node_type = 1
 D4/5:     left = 2
 D4/5:     left_dval = 5.000000
 D4/5: eval_node node_type = 2
 D4/5:     right = 2
 D4/5:     right_dval = 1.000000
 D4/5:     operator = 11
 D4/5: condition = 0
 D2/5: load_table_head(): tab = 0,
 /home/hamish/grassdata/utm32/markus/dbf//phd_area_main_cities.dbf
 Segmentation fault
 }}}


 it seems to die on this in db_select_value():
 {{{
 if (count == 0)
     db_copy_value(val, value);
 }}}


 I'm guessing that *val has not been allocated any memory?


 Hamish

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/746#comment:1>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list