[GRASS-dev] Re: [GRASS GIS] #477: d.vect: segfault if zcolor= does not exist

GRASS GIS trac at osgeo.org
Thu Feb 5 03:21:46 EST 2009


#477: d.vect: segfault if zcolor= does not exist
----------------------+-----------------------------------------------------
  Reporter:  hamish   |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect   |      Status:  new                      
  Priority:  major    |   Milestone:  6.4.0                    
 Component:  default  |     Version:  svn-develbranch6         
Resolution:           |    Keywords:  d.vect                   
  Platform:  Linux    |         Cpu:  x86-32                   
----------------------+-----------------------------------------------------
Comment (by neteler):

 Same here:

 {{{
 GRASS 6.5.svn (spearfish60):~ > gdb d.vect
 GNU gdb 6.8-2mdv2009.0 (Mandriva Linux release 2009.0)
 This GDB was configured as "x86_64-mandriva-linux-gnu"...
 (gdb) r -z rand2k zcolor=bcry
 Starting program: /home/neteler/grass64/dist.x86_64-unknown-linux-
 gnu/bin/d.vect -z rand2k zcolor=bcry

 Program received signal SIGSEGV, Segmentation fault.
 0x00007f0f1a91d045 in G__lookup_colors (raster=0x7fff22f94d88,
 red=0x7fff22f94bbf "",
     grn=0x7fff22f94bbe "", blu=0x7fff22f94bbd "\177", set=0x7fff22f94bbc
 "", n=0,
     colors=0x7fff22f94c50, mod=0, rules_only=0, data_type=2) at
 color_look.c:416
 416                     if (rule->low.value <= val && val <=
 rule->high.value)



 (gdb) bt full
 #0  0x00007f0f1a91d045 in G__lookup_colors (raster=0x7fff22f94d88,
     red=0x7fff22f94bbf "", grn=0x7fff22f94bbe "", blu=0x7fff22f94bbd
 "\177",
     set=0x7fff22f94bbc "", n=0, colors=0x7fff22f94c50, mod=0,
 rules_only=0, data_type=2)
     at color_look.c:416
         cp = (struct _Color_Info_ *) 0x7fff22f94c78
         rule = (struct _Color_Rule_ *) 0x4
         dmin = 0
         dmax = 4.9406564584124654e-324
         val = 760.15708444647362
         dmod = 0
         shift = 6.9022378534570414e-310
         cat = 760
         min = 0
         max = 1
         ptr = (const void *) 0x7fff22f94d88
         last_ptr = (const void *) 0x7fff22f94d88
         invert = 0
         found = 0
         r = 1075052544
         g = 0
         b = 0
         cell_type = 0
         lookup = 32527
         max_ind = 32767
         min_ind = 1
         try = 0
         lower = (int (*)()) 0x7f0f1af94000
 #1  0x00007f0f1a91c7e3 in G_lookup_raster_colors (raster=0x7fff22f94d88,
     red=0x7fff22f94bbf "", grn=0x7fff22f94bbe "", blu=0x7fff22f94bbd
 "\177",
     set=0x7fff22f94bbc "", n=1, colors=0x7fff22f94c50, map_type=2) at
 color_look.c:129
 No locals.
 #2  0x00007f0f1a91b7be in G_get_raster_color (rast=0x7fff22f94d88,
 red=0x7fff22f94d9c,
     grn=0x7fff22f94d98, blu=0x7fff22f94d94, colors=0x7fff22f94c50,
 map_type=2)
     at color_get.c:73
         r = 0 '\0'
         g = 0 '\0'
         b = 127 '\177'
         set = 0 '\0'
 #3  0x0000000000408eba in plot1 (Map=0x7fff22f950a0, type=31, area=1,
 Clist=0x16f1d00,
     color=0x7fff22f95790, fcolor=0x7fff22f95780, chcat=0, Symb=0x16f1950,
 size=5,
     id_flag=0, table_colors_flag=0, cats_color_flag=0, rgb_column=0x40b06f
 "GRASSRGB",
     default_width=0, width_column=0x0, width_scale=1, z_color_flag=1,
     style=0x16f0100 "bcry") at plot1.c:352
         box = {N = 4927995.8685351424, S = 4914025.9408193855, E =
 608987.78504378523,
   W = 590020.3261818412, T = 999.87120460712879, B = 0.27088681248523611}
         zval = 760.15708444647362
         colors = {version = 439190624, shift = 6.9022378534570414e-310,
 invert = 0,
   is_float = 1, null_set = 128, null_red = 1 '\001', null_grn = 0 '\0',
   null_blu = 0 '\0', undef_set = 452548376, undef_red = 15 '\017',
   undef_grn = 127 '\177', undef_blu = 0 '\0', fixed = {rules =
 0x7f0f1af95a70,
     n_rules = 586763760, lookup = {red = 0x7fff22f94db8 "",
       grn = 0xc8bfb91d <Address 0xc8bfb91d out of bounds>,
       blu = 0x7fff22f94da0 "�t-\032\017\177", set = 0x0, nalloc =
 450388310,
       active = 32527}, fp_lookup = {vals = 0x0, rules = 0x0, nalloc = 1,
 active = 0},
     min = 0, max = 4.9406564584124654e-324}, modular = {rules =
 0x7f0f1ad86156,
     n_rules = 0, lookup = {red = 0x0,
       grn = 0x100000001 <Address 0x100000001 out of bounds>, blu = 0x0,
       set = 0x7f0f1af95a70 "�b�\032\017\177", nalloc = 586763808,
 active = 32767},
     fp_lookup = {vals = 0x7f0f1af95718, rules = 0x7f0f1ab71aac, nalloc =
 448205368,
       active = 1}, min = 0, max = 6.9022380682882465e-310},
   cmin = 6.9531725982422549e-310, cmax = 6.9022380682459545e-310}
         i = 0
         ltype = 1
         nlines = 2000
         line = 1
         cat = -1
         x = (double *) 0x7fff00000001
         y = (double *) 0x7f0f1a2ddc1a
         Points = (struct line_pnts *) 0x1778530
         PPoints = (struct line_pnts *) 0x1778500
         Cats = (struct line_cats *) 0x16f3870
         msize = 148.359375
         x0 = 439212960
         y0 = 32767
         fi = (struct field_info *) 0x0
         driver = (dbDriver *) 0x0
         cvarr_rgb = {n_values = 0, alloc = 0, ctype = 0, value =
 0x7f0f1ab70000}
         cvarr_width = {n_values = 0, alloc = 0, ctype = 0, value = 0x0}
         cv_rgb = (dbCatVal *) 0x0
         cv_width = (dbCatVal *) 0x0
         nrec_rgb = 0
         nrec_width = 0
         nerror_rgb = 0
         open_db = 0
         custom_rgb = 1
         colorstring = "�t-\032\017\177\000\000\000��\032"
         red = 32527
         grn = 452542464
         blu = 32527
         line_color = (RGBA_Color *) 0x16ec510
         fill_color = (RGBA_Color *) 0x1778560
         primary_color = (RGBA_Color *) 0x1778580
         which = 0 '\0'
         width = 0
 #4  0x0000000000407fc6 in main (argc=4, argv=0x7fff22f95a38) at main.c:687
         mapset = 0x16f1bc0 "neteler"
         ret = 1
         level = 2
         i = 1
         stat = 0
         type = 31
         area = 1
         display = 1
         chcat = 0
         r = 255
         g = 0
         b = 0
         has_color = 1
         has_fcolor = 1
         color = {r = 0 '\0', g = 0 '\0', b = 0 '\0'}
         fcolor = {r = 200 '�', g = 200 '�', b = 200 '�'}
         size = 5
         default_width = 0
         width_scale = 1
         verbose = 0
         minreg = 2.0739729580117178e-317
         maxreg = 2.1219957909652723e-314
         reg = 16485
         map_name =
 "rand2k\000\000$_�\032\017\177\000\000�e�\027\017\177\000\000\016\000\000\000\017\177\000\000\214�>\003\000\000\000\000 at W�\"�\177\000\000�X�\"�\177\000\000\b��\027\017\177",
 '\0' <repeats 18 times>,
 "0��\032\017\177\000\000�Z�\032\017\177\000\000X?�\027\017\177\000\000\230\t�\032\017\177\000\000\025\000\000\000\000\000\000\0002\000\000\000\000\000\000"
         module = (struct GModule *) 0x7f0f1ab6af40
         map_opt = (struct Option *) 0x7f0f1ab6aea0
         color_opt = (struct Option *) 0x16ee730
         fcolor_opt = (struct Option *) 0x16ee800
         rgbcol_opt = (struct Option *) 0x16ee8d0
         zcol_opt = (struct Option *) 0x16ee9a0
         type_opt = (struct Option *) 0x16ee3f0
         display_opt = (struct Option *) 0x16ee320
         icon_opt = (struct Option *) 0x16eece0
         size_opt = (struct Option *) 0x16eedb0
         where_opt = (struct Option *) 0x16ee660
         field_opt = (struct Option *) 0x16ee4c0
         cat_opt = (struct Option *) 0x16ee590
         lfield_opt = (struct Option *) 0x16eee80
         lcolor_opt = (struct Option *) 0x16ef020
         bgcolor_opt = (struct Option *) 0x16ef0f0
         bcolor_opt = (struct Option *) 0x16ef1c0
         lsize_opt = (struct Option *) 0x16ef290
         font_opt = (struct Option *) 0x16ef360
         xref_opt = (struct Option *) 0x16ef430
         yref_opt = (struct Option *) 0x16ef500
         attrcol_opt = (struct Option *) 0x16eef50
         maxreg_opt = (struct Option *) 0x16ef6a0
         minreg_opt = (struct Option *) 0x16ef5d0
         width_opt = (struct Option *) 0x16eea70
         wcolumn_opt = (struct Option *) 0x16eeb40
         wscale_opt = (struct Option *) 0x16eec10
         render_opt = (struct Option *) 0x16ef770
         verbose_flag = (struct Flag *) 0x7f0f1ab6ae60
         id_flag = (struct Flag *) 0x16ef950
         table_acolors_flag = (struct Flag *) 0x16ef870
         cats_acolors_flag = (struct Flag *) 0x16ef8e0
         x_flag = (struct Flag *) 0x16ef9c0
         zcol_flag = (struct Flag *) 0x16efa30
         Clist = (struct cat_list *) 0x16f1d00
         cats = (int *) 0x32
         ncat = 0
         lattr = {field = 1, has_bgcolor = 0, has_bcolor = 0, color = {R =
 255 '�',
     G = 0 '\0', B = 0 '\0'}, bgcolor = {R = 0 '\0', G = 25 '\031', B = 0
 '\0'},
   bcolor = {R = 0 '\0', G = 0 '\0', B = 0 '\0'}, size = 8, font = 0x0,
 xref = 1,
   yref = 0}
         Map = {format = 0, temporary = 32527, dblnk = 0x16f3650, plus = {
     Version_Major = 5, Version_Minor = 0, Back_Major = 5, Back_Minor = 0,
     spidx_Version_Major = 1146486784, spidx_Version_Minor = -31574607,
     spidx_Back_Major = 537133092, spidx_Back_Minor = 1477443664,
 cidx_Version_Major = 5,
     cidx_Version_Minor = 0, cidx_Back_Major = 5, cidx_Back_Minor = 0,
 with_z = 1,
     spidx_with_z = 1065098, head_size = 142, spidx_head_size =
 -4025935812351719360,
     cidx_head_size = 9, release_support = 0, port = {byte_order = 0,
       dbl_cnvrt = "\000\001\002\003\004\005\006\a", flt_cnvrt =
 "\000\001\002\003",
       lng_cnvrt = "\000\001\002\003", int_cnvrt = "\000\001\002\003",
       shrt_cnvrt = "\000\001", dbl_quick = 1, flt_quick = 1, lng_quick =
 1,
       int_quick = 1, shrt_quick = 1}, spidx_port = {byte_order = 0,
       dbl_cnvrt = "\220W�\"�\177\000", flt_cnvrt = "\000X�\"",
 lng_cnvrt = "�\177\000",
       int_cnvrt = "\000\000\000", shrt_cnvrt = "\000", dbl_quick =
 6341968,
       flt_quick = 0, lng_quick = 0, int_quick = 0, shrt_quick =
 452372992}, cidx_port = {
       byte_order = 0, dbl_cnvrt = "\000\001\002\003\004\005\006\a",
       flt_cnvrt = "\000\001\002\003", lng_cnvrt = "\000\001\002\003",
       int_cnvrt = "\000\001\002\003", shrt_cnvrt = "\000\001", dbl_quick =
 1,
       flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick = 1}, mode =
 0, built = 4,
     box = {N = 4927995.8685351424, S = 4914025.9408193855, E =
 608987.78504378523,
       W = 590020.3261818412, T = 999.87120460712879, B =
 0.27088681248523611},
     Node = 0x16f4340, Line = 0x1736980, Area = 0x1769620, Isle =
 0x1769640,
     n_nodes = 2000, n_edges = 0, n_lines = 2000, n_areas = 0, n_isles = 0,
     n_volumes = 0, n_holes = 0, n_plines = 2000, n_llines = 0, n_blines =
 0,
     n_clines = 0, n_flines = 0, n_klines = 0, alloc_nodes = 2000,
 alloc_edges = 0,
     alloc_lines = 2000, alloc_areas = 0, alloc_isles = 0, alloc_volumes =
 0,
     alloc_holes = 0, Node_offset = 142, Edge_offset = 0, Line_offset =
 80142,
     Area_offset = 98142, Isle_offset = 98142, Volume_offset = 0,
 Hole_offset = 0,
     Spidx_built = 0, Node_spidx_offset = 0, Edge_spidx_offset = 0,
     Line_spidx_offset = 0, Area_spidx_offset = 0, Isle_spidx_offset = 0,
     Volume_spidx_offset = 0, Hole_spidx_offset = 0, Node_spidx =
 0x16f3910,
     Line_spidx = 0x16f3b20, Area_spidx = 0x16f3d30, Isle_spidx =
 0x16f3f40,
     update_cidx = 0, n_cidx = 1, a_cidx = 1, cidx = 0x1769aa0,
 cidx_up_to_date = 1,
     coor_size = 74014, coor_mtime = 140733780153024, do_uplist = 0,
 uplines = 0x401cf6,
     alloc_uplines = 450398823, n_uplines = 32527, upnodes =
 0x7f0f00000001,
     alloc_upnodes = 452375856, n_upnodes = 32527}, graph_line_type =
 586765040, graph = {
     iErrno = 0, Version = 0 '\0', Endian = 0 '\0', NodeAttrSize = 4201700,
     EdgeAttrSize = 139702851635815, aOpaqueSet = {139702401236993,
 139702853611520,
       140733780153120, 0, 4201682, 139702851635815, 139702401236993,
 139702853618248,
       140733780153168, 0, 4201665, 139702851635815, 139702401236993,
 139702853616936,
       140733780153216, 0}, cNode = 4201649, cHead = 139702851635815,
     cTail = 139702401236993, cAlone = 139702853615616, cEdge =
 140733780153264,
     nnCost = 0, Flags = 4201538, nFamily = 139702851635815, nOptions =
 139702401236993,
     pNodeTree = 0x7f0f1af6da60, pEdgeTree = 0x7fff22f953e0, pNodeBuffer =
 0x0,
     iNodeBuffer = 4201417,
     pEdgeBuffer = 0x7f0f1ad88a67
 "H\213]�A\211�H\205�\017\205�\006",
     iEdgeBuffer = 139702401236993, edgePrioritizer = {cEdge = 452384048,
 iEdge = 32527,
       pEdgePri32Item = 0x7fff22f95410, pvAVL = 0x0}, nodePrioritizer = {
       pvAVL = 0x4017fa}}, spCache = {nStartNode = 139702851635815,
 NodeHeap = {
       index = 139702401236993, count = 139702853619712, block =
 140733780153408,
       pnode = 0x0}, pvVisited = 0x4017e5, pvPredist = 0x7f0f1ad88a67},
   edge_fcosts = 0x7f0f00000001, edge_bcosts = 0x7f0f1af6e990,
   node_costs = 0x7fff22f95470, cost_multip = 0, open = 1428335138, mode =
 0, level = 2,
   head_only = 0, support_updated = 0, next_line = 1, name = 0x16f3510
 "rand2k",
   mapset = 0x16f35a0 "neteler", location = 0x16f35c0 "spearfish60",
   gisdbase = 0x16f3550 "/home/neteler/grassdata", Constraint_region_flag =
 0,
   Constraint_type_flag = 0, Constraint_N = 6.902235187052339e-310,
   Constraint_S = 6.9022157092730871e-310, Constraint_E = 1.
 6136390512615074e-316,
   Constraint_W = 6.9531725983292104e-310, Constraint_T = 6.
 9531725983485778e-310,
   Constraint_B = 6.9022351870551057e-310, Constraint_type = 0, proj = 0,
 dig_fp = {
     file = 0x1769660, start = 0x0, current = 0x0, end = 0x0, size = 0,
 alloc = 0,
     loaded = 0}, head = {organization = 0x16f1d30 "", date = 0x16f1d50 "",
     your_name = 0x16f1d70 "neteler", map_name = 0x16f1d90 "",
     source_date = 0x16f23e0 "Thu Feb  5 09:16:03 2009", orig_scale = 1,
     line_3 = 0x16f3630 "", plani_zone = 0, digit_thresh = 0, Version_Major
 = 5,
     Version_Minor = 1, Back_Major = 5, Back_Minor = 1, with_z = 1, size =
 74014,
     head_size = 14, port = {byte_order = 0,
       dbl_cnvrt = "\000\001\002\003\004\005\006\a", flt_cnvrt =
 "\000\001\002\003",
       lng_cnvrt = "\000\001\002\003", int_cnvrt = "\000\001\002\003",
       shrt_cnvrt = "\000\001", dbl_quick = 1, flt_quick = 1, lng_quick =
 1,
       int_quick = 1, shrt_quick = 1}, last_offset = 14, recycle =
 0x7f0f0000002e,
     Map = 0x16bbcde}, fInfo = {i = 586765888, ogr = {dsn = 0x7fff22f957c8
 "\001",
       layer_name = 0x7f0f1ad85aa8
 "\205�t\036A\213D$\f\205�u\023\205�\220u\016fE\205�f\220y\bf\017\037D",
 ds = 0x0, layer = 0x7f0f1ad85aa8, lines = 0x22,
       lines_types = 0x7f0f1ad85aa8, lines_alloc = 34, lines_num = 0,
       lines_next = 452332032, feature_cache = 0x22, feature_cache_id =
 452331976,
       offset = 0x1b, offset_num = 50, offset_alloc = 0, next_line =
 -1245593804}},
   hist_fp = 0x176f8e0, site_att = 0x1b, n_site_att = 452331992, n_site_dbl
 = 32527,
   n_site_str = 29}
         fi = (struct field_info *) 0x4
         driver = (dbDriver *) 0x40a6b5
         handle = {dbName = {string = 0x7f0f1af94a18 "", nalloc =
 452543776}, dbSchema = {
     string = 0x7f0f1af6e990 "", nalloc = 452373112}}
         window = {format = 0, compressed = -1, rows = 1398, rows3 = 1398,
 cols = 1899,
   cols3 = 1899, depths = 1, proj = 1, zone = 13, ew_res = 10, ew_res3 =
 10, ns_res = 10,
   ns_res3 = 10, tb_res = 1, north = 4928000, south = 4914020, east =
 609000,
   west = 590010, top = 1, bottom = 0}
         box = {N = 4927995.8685351424, S = 4914025.9408193855, E =
 608987.78504378523,
   W = 590020.3261818412, T = 999.87120460712879, B = 0.27088681248523611}
         overlap = 1
         Symb = (SYMBOL *) 0x16f1950
 }}}

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


More information about the grass-dev mailing list