[GRASS-dev] [GRASS GIS] #1214: r.li.edgedensity: segmentation fault

Markus Neteler neteler at osgeo.org
Tue Nov 23 09:16:15 EST 2010


Hi,

does anyone have an idea why memcpy() fails below?

thanks
Markus

On Thu, Nov 11, 2010 at 9:21 AM, GRASS GIS <trac at osgeo.org> wrote:
> #1214: r.li.edgedensity: segmentation fault
> ---------------------+------------------------------------------------------
>  Reporter:  neteler  |       Owner:  grass-dev@…
>     Type:  defect   |      Status:  new
>  Priority:  normal   |   Milestone:  6.4.1
> Component:  Raster   |     Version:  svn-releasebranch64
>  Keywords:           |    Platform:  Linux
>      Cpu:  x86-64   |
> ---------------------+------------------------------------------------------
>  Running r.li.edgedensity in 6.4.svn, we obtain a segmentation fault.
>  The input map corine_1_2000_nonull contains a ring-like area surrounded by
>  -1 cells and -1 in the center (if that matters):
>
>  {{{
>  (gdb) r map=corine_1_2000_nonull conf=corine_1_2000
>  output=corine_1_2000_edge
>  Starting program: /usr/local/grass-6.4.1svn/bin/r.li.edgedensity
>  map=corine_1_2000_nonull conf=corine_1_2000 output=corine_1_2000_edge
>  Detaching after fork from child process 30690.
>  Detaching after fork from child process 30691.
>  Detaching after fork from child process 30692.
>  Detaching after fork from child process 30693.
>  Detaching after fork from child process 30694.
>  Detaching after fork from child process 30695.
>  Detaching after fork from child process 30696.
>  Detaching after fork from child process 30697.
>  Detaching after fork from child process 30698.
>  Detaching after fork from child process 30699.
>
>  Program received signal SIGSEGV, Segmentation fault.
>  0x00002aaaaaf42655 in next_Area (parsed=1, l=0x604690, g=0x6046b0,
>  m=0x7fffffffadc0) at daemon.c:651
>  651                 memcpy(&tmp, l->head->m, sizeof(msg));
>
>  (gdb) bt full
>  #0  0x00002aaaaaf42655 in next_Area (parsed=1, l=0x604690, g=0x6046b0,
>  m=0x7fffffffadc0) at daemon.c:651
>         tmp = {type = 2, f = {f_a = {aid = 2, x = 0, y = 0, rl = 147, cl =
>  295}, f_ma = {aid = 2, x = 0,
>               y = 0, rl = 147, cl = 295,
>               mask = "corine_1_2000", '\000' <repeats 191 times>"\324,
>  .\364\252\252*", '\000' <repeats 14 times>,
>  "\001\000\000\000\300\255\377\377\377\177\000\000\000\000\000\000\006",
>  '\000' <repeats 14 times>}, f_d = {aid = 2, pid = 0, res =
>  3.1193338127189503e-312}, f_e = {aid = 2, pid = 0}, f_t = {pid = 2}}}
>  #1  0x00002aaaaaf40845 in calculateIndex (file=0x604250 "corine_1_2000",
>  f=0x401238 <edgedensity>,
>     parameters=0x0, raster=0x604230 "corine_1_2000_nonull",
>  output=0x604270 "corine_1_2000_edge")
>     at daemon.c:156
>         pathSetup =
>  "/home/lucadelu/.r.li/history/corine_1_2000\000\000\000\000\000\000/grassdata/eu_laea/slovenia",
>  '\000' <repeats 77 times>, "Xڀh<", '\000' <repeats 11 times>"\250,
>  \331\363\252\252*\000\000h8\300i<\000\000\000'|\200h<", '\000' <repeats 67
>  times>, "\001", '\000' <repeats 23 times>, "\037a\200h<", '\000' <repeats
>  70 times>, "j<\000\000\000\000
>  \000j<\000\000\000\224\037\000j<\000\000\000\224\037\000j<", '\000'
>  <repeats 11 times>, "Xڀh<\000\000\000\000
>  j<\000\000\000\250\331\363\252\252*\000\000\363"...
>         out =
>  "/home/lucadelu/.r.li/output/corine_1_2000_edge\000\000\033", '\000'
>  <repeats 11 times>"\377, \377\377\377\034\036\260\252\252*", '\000'
>  <repeats 946 times>"\300,
>  \314\377\377\377\177\000\000\266\070\260\252\252*\000\000\266\070\260\252\252*\000\000\a\000\000\000\000\000\000\000?5\204i<\000\000\000\020\000\000\000\060\000\000\000@\311\377\377\377\177\000\000\200\310\377\377\377\177\000\000\266\070\260\252\252*\000\000\a\000\000\000\000\000\000\000?5\204i<\000\000\000\b\000\000\000\000\000\000\000\260\314\377\377\377\177\000\000\020\000\000\000\060\000\000\000\200\311\377\377\377\177\000\000\300\310\377\377\377\177\000\000\035\036\260\252\252*\000\000\b\000\000\000\000\000\000\000?5\204i<\000\000\000\261\070\260\252\252*\000\000'\214\200h<\000\000\000\030\036\260\252\252*\000\000\330v\024\253\252*\000\000\006\000\000\000\000\000\000\000"...
>         parsed = 1 '\001'
>         reportChannelName = 0x604710
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.0"
>         random_access_name = 0x3c68a1bbc0 ""
>         history = {mapid = '\000' <repeats 79 times>, title = '\000'
>  <repeats 79 times>,
>           mapset = '\000' <repeats 79 times>, creator = '\000' <repeats 79
>  times>,
>           maptype = '\000' <repeats 79 times>, datsrc_1 = '\000' <repeats
>  79 times>,
>           datsrc_2 = '\000' <repeats 79 times>, keywrd = '\000' <repeats
>  79 times>, edlinecnt = 0,
>           edhist = {'\000' <repeats 79 times> <repeats 45 times>,
>  "\000\000\000\000\060\307\377\377\377\177\000\000\266\070\260\252\252*\000\000\266\070\260\252\252*\000\000\a\000\000\000\000\000\000\000?5\204i<",
>  '\000' <repeats 11 times>"\360,
>  \306\377\377\377\177\000\000\000\000\000\000\000\000\000\000p\307\377\377\377\177\000\000\035\036\260\252",
>  "\252*\000\000\035\036\260\252\252*\000\000\b\000\000\000\000\000\000\000?5\204i<\000\000\000\261\070\260\252\252*\000\000\060\307\377\377\377\177\000\000\000\000\000\000\000\000\000\000P\302\377\377\377\177",
>  '\000' <repeats 18 times>"\377, \377\377\377",
>  "\377\377\377\377\240\310\377\377\377\177\000\000\030\036\260\252\252*\000\000\200\307\377\377\377\177\000\000\000\000\000\000\001",
>  '\000' <repeats 27 times>"\377,
>  \377\377\377\377\377\377\377\030\036\260\252\252*\000\000\000\000\000",
>             "\000\000\000\000\070\306\377\377\377\177\000\000
>  \000\000\000\001", '\000' <repeats 59 times>, " \000\000", '\000' <repeats
>  15 times>, "s", '\000' <repeats 60 times>, "\022\000\000"}}
>         g = 0x6046b0
>         receiveChannel = 15
>         res = 16
>         child = {{pid = 30690, pipe = 0x604750
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.1",
>             channel = 5}, {pid = 30691,
>             pipe = 0x604790
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.2", channel = 6}, {
>             pid = 30692, pipe = 0x6047d0
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.3",
>             channel = 7}, {pid = 30693,
>             pipe = 0x604810
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.4", channel = 8}, {
>             pid = 30694, pipe = 0x604850
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.5",
>             channel = 9}, {pid = 30695,
>             pipe = 0x604890
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.6", channel = 10}, {
>             pid = 30696, pipe = 0x6048d0
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.7",
>             channel = 11}, {pid = 30697,
>             pipe = 0x604910
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.8", channel = 12}, {
>             pid = 30698, pipe = 0x604950
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.9",
>             channel = 13}, {pid = 30699,
>             pipe = 0x604990
>  "/grassdata/eu_laea/slovenia/.tmp/blade06/30687.10", channel = 14}}
>         i = 2
>         mypid = 30687
>         doneDir = -1
>         withoutJob = 32767
>         mv_fd = 1753295058
>         random_access = 60
>         l = 0x604690
>         m = {type = 2, f = {f_a = {aid = 2, x = 0, y = 0, rl = 147, cl =
>  295}, f_ma = {aid = 2, x = 0,
>               y = 0, rl = 147, cl = 295, mask = "corine_1_2000", '\000'
>  <repeats 242 times>}, f_d = {
>               aid = 2, pid = 0, res = 3.1193338127189503e-312}, f_e = {aid
>  = 2, pid = 0}, f_t = {
>               pid = 2}}}
>         doneJob = {type = 0, f = {f_a = {aid = 0, x = 0, y = 0, rl = 0, cl
>  = 0}, f_ma = {aid = 0, x = 0,
>               y = 0, rl = 0, cl = 0, mask = '\000' <repeats 255 times>},
>  f_d = {aid = 0, pid = 0,
>               res = 0}, f_e = {aid = 0, pid = 0}, f_t = {pid = 0}}}
>         testpath = "/home/lucadelu/.r.li/history/", '\000' <repeats 4066
>  times>
>  #2  0x0000000000401236 in main (argc=4, argv=0x7fffffffe3c8) at
>  edgedensity.c:72
>         raster = 0x2aaaaad14ee0
>         conf = 0x604090
>         output = 0x604150
>         class = 0x604470
>         module = 0x2aaaaad14f80
>         par = 0x0
>  (gdb)
>  }}}
>
>  Any ideas what's wrong in raster/r.li/r.li.daemon/daemon.c ?
>
>  Markus
>
> --
> Ticket URL: <http://trac.osgeo.org/grass/ticket/1214>
> GRASS GIS <http://grass.osgeo.org>
>
>
> _______________________________________________
> grass-dev mailing list
> grass-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-dev
>


More information about the grass-dev mailing list