[GRASS-user] v.net.iso - segmentation fault error

Dear all,

I am unable to use v.net.iso because of a "segmentation fault" error. I
have a script that used to work correctly in GRASS 6.4 (32 bit) but
produces this error after I switched to GRASS 7.0.4 (64 bit).

If I try to follow both examples shown in https://grass.osgeo.org/grass
70/manuals/v.net.iso.html (using the Spearfish dataset for GRASS 7) the
same error appears:

Building graph...
Registering arcs...
Segmentation fault

What I am missing?

Thanks in advance.

Greetings.

Eduardo Corbelle

--
Dr. Eduardo Corbelle Rico

Land laboratory (LaboraTe)
Department of Agricultural and Forest Engineering
Universidade de Santiago de Compostela

e-mail: eduardo.corbelle@usc.es
Tel: +34 982 823 324
Fax: +34 982 285 926
Web: http://laborate.usc.es
http://masterterra.usc.es
http://github.com/eduardocorbelle

On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

Dear all,

I am unable to use v.net.iso because of a "segmentation fault" error. I
have a script that used to work correctly in GRASS 6.4 (32 bit) but
produces this error after I switched to GRASS 7.0.4 (64 bit).

If I try to follow both examples shown in https://grass.osgeo.org/grass
70/manuals/v.net.iso.html (using the Spearfish dataset for GRASS 7) the
same error appears:

Building graph...
Registering arcs...
Segmentation fault

The segmentation fault must happen in the vector libraries. I tested
on Linux and can not reproduce the segmentation fault. Valgrind also
does not show anything that could cause a segmentation fault. Can you
provide a gdb backtrace?

Markus M

What I am missing?

Thanks in advance.

Greetings.

Eduardo Corbelle

--
Dr. Eduardo Corbelle Rico

Land laboratory (LaboraTe)
Department of Agricultural and Forest Engineering
Universidade de Santiago de Compostela

e-mail: eduardo.corbelle@usc.es
Tel: +34 982 823 324
Fax: +34 982 285 926
Web: http://laborate.usc.es
     http://masterterra.usc.es
     http://github.com/eduardocorbelle
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:

On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:
>
> Dear all,
>
> I am unable to use v.net.iso because of a "segmentation fault"
> error. I
> have a script that used to work correctly in GRASS 6.4 (32 bit)
> but
> produces this error after I switched to GRASS 7.0.4 (64 bit).
>
> If I try to follow both examples shown in https://grass.osgeo.org/g
> rass
> 70/manuals/v.net.iso.html (using the Spearfish dataset for GRASS 7)
> the
> same error appears:
>
> > Building graph...
> > Registering arcs...
> > Segmentation fault

The segmentation fault must happen in the vector libraries. I tested
on Linux and can not reproduce the segmentation fault. Valgrind also
does not show anything that could cause a segmentation fault. Can you
provide a gdb backtrace?

Markus M

Thank you Markus,

My system is debian Stretch, and the following lines describe my
attempt at generating a gdb backtrace. Please let me know if I should
do otherwise.

GRASS 7.0.5 (spearfish60_grass7):~ > gdb `which v.net.iso`
GNU gdb (Debian 7.11.1-2) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/&gt;\.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/&gt;\.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/grass70/bin/v.net.iso...(no debugging
symbols found)...done.

(gdb) run input=myroads_net output=myroads_net_iso center_cats=1-100000
costs=1000,2000,5000
Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-
gnu/libthread_db.so.1".
Building graph...
Registering arcs...

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6c64708 in tavl_probe ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so

(gdb) bt full
#0 0x00007ffff6c64708 in tavl_probe ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#1 0x00007ffff6c65717 in dglTreeNodeAdd ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#2 0x00007ffff6c5aa0c in dgl_add_edge_V1 ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#3 0x00007ffff6c58a62 in dglAddEdge ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#4 0x00007ffff7ba1d69 in Vect_net_build_graph ()
from /usr/lib/grass70/lib/libgrass_vector.7.0.5.so
No symbol table info available.
#5 0x0000000000401aa9 in main ()
No symbol table info available.

(gdb) l
1 ../sysdeps/x86_64/dl-procinfo.c: Non hai tal ficheiro ou
directorio.

>
> What I am missing?
>
> Thanks in advance.
>
> Greetings.
>
> Eduardo Corbelle
>
>
>
> --
> Dr. Eduardo Corbelle Rico
>
> Land laboratory (LaboraTe)
> Department of Agricultural and Forest Engineering
> Universidade de Santiago de Compostela
>
> e-mail: eduardo.corbelle@usc.es
> Tel: +34 982 823 324
> Fax: +34 982 285 926
> Web: http://laborate.usc.es
> http://masterterra.usc.es
> http://github.com/eduardocorbelle
> _______________________________________________
> grass-user mailing list
> grass-user@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user

On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:

On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:
>
> Dear all,
>
> I am unable to use v.net.iso because of a "segmentation fault"
> error. I
> have a script that used to work correctly in GRASS 6.4 (32 bit)
> but
> produces this error after I switched to GRASS 7.0.4 (64 bit).
>
> If I try to follow both examples shown in https://grass.osgeo.org/g
> rass
> 70/manuals/v.net.iso.html (using the Spearfish dataset for GRASS 7)
> the
> same error appears:
>
> > Building graph...
> > Registering arcs...
> > Segmentation fault

The segmentation fault must happen in the vector libraries. I tested
on Linux and can not reproduce the segmentation fault. Valgrind also
does not show anything that could cause a segmentation fault. Can you
provide a gdb backtrace?

Markus M

Thank you Markus,

My system is debian Stretch, and the following lines describe my
attempt at generating a gdb backtrace. Please let me know if I should
do otherwise.

So far so good. The module crashes in a library function that comes
from libavl without modifications, but I can still not see why it
could cause a segmentation fault. Can you recompile with the compiler
debugging option -g? gdb will then be able to provide more
information:

make distclean
CFLAGS="-g" ./configure <configure options>
make

optionally make install

Then start GRASS and use gdb for v.net.iso as before.

Markus M

GRASS 7.0.5 (spearfish60_grass7):~ > gdb `which v.net.iso`
GNU gdb (Debian 7.11.1-2) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/&gt;\.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/&gt;\.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/grass70/bin/v.net.iso...(no debugging
symbols found)...done.

(gdb) run input=myroads_net output=myroads_net_iso center_cats=1-100000
costs=1000,2000,5000
Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-
gnu/libthread_db.so.1".
Building graph...
Registering arcs...

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6c64708 in tavl_probe ()
   from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so

(gdb) bt full
#0 0x00007ffff6c64708 in tavl_probe ()
   from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#1 0x00007ffff6c65717 in dglTreeNodeAdd ()
   from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#2 0x00007ffff6c5aa0c in dgl_add_edge_V1 ()
   from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#3 0x00007ffff6c58a62 in dglAddEdge ()
   from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#4 0x00007ffff7ba1d69 in Vect_net_build_graph ()
   from /usr/lib/grass70/lib/libgrass_vector.7.0.5.so
No symbol table info available.
#5 0x0000000000401aa9 in main ()
No symbol table info available.

(gdb) l
1 ../sysdeps/x86_64/dl-procinfo.c: Non hai tal ficheiro ou
directorio.

>
> What I am missing?
>
> Thanks in advance.
>
> Greetings.
>
> Eduardo Corbelle
>
>
>
> --
> Dr. Eduardo Corbelle Rico
>
> Land laboratory (LaboraTe)
> Department of Agricultural and Forest Engineering
> Universidade de Santiago de Compostela
>
> e-mail: eduardo.corbelle@usc.es
> Tel: +34 982 823 324
> Fax: +34 982 285 926
> Web: http://laborate.usc.es
> http://masterterra.usc.es
> http://github.com/eduardocorbelle
> _______________________________________________
> grass-user mailing list
> grass-user@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user

O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:

On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:
>
> O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:
> > On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
> > <eduardo.corbelle@gmx.net> wrote:
> > >
> > > Dear all,
> > >
> > > I am unable to use v.net.iso because of a "segmentation fault"
> > > error. I
> > > have a script that used to work correctly in GRASS 6.4 (32
> > > bit)
> > > but
> > > produces this error after I switched to GRASS 7.0.4 (64 bit).
> > >
> > > If I try to follow both examples shown in https://grass.osgeo.o
> > > rg/g
> > > rass
> > > 70/manuals/v.net.iso.html (using the Spearfish dataset for
> > > GRASS 7)
> > > the
> > > same error appears:
> > >
> > > > Building graph...
> > > > Registering arcs...
> > > > Segmentation fault
> >
> > The segmentation fault must happen in the vector libraries. I
> > tested
> > on Linux and can not reproduce the segmentation fault. Valgrind
> > also
> > does not show anything that could cause a segmentation fault. Can
> > you
> > provide a gdb backtrace?
> >
> > Markus M
>
> Thank you Markus,
>
> My system is debian Stretch, and the following lines describe my
> attempt at generating a gdb backtrace. Please let me know if I
> should
> do otherwise.

So far so good. The module crashes in a library function that comes
from libavl without modifications, but I can still not see why it
could cause a segmentation fault. Can you recompile with the compiler
debugging option -g? gdb will then be able to provide more
information:

make distclean
CFLAGS="-g" ./configure <configure options>
make

optionally make install

Then start GRASS and use gdb for v.net.iso as before.

Markus M

Thank you, I'll try. Grass was installed in my system using pre-
compiled packages (via apt-get)... Forgive me if this is a silly
question: from which folder am I supposed to execute the commands? (or
should I download the source files and start all over?)

>
>
> GRASS 7.0.5 (spearfish60_grass7):~ > gdb `which v.net.iso`
> GNU gdb (Debian 7.11.1-2) 7.11.1
> Copyright (C) 2016 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses
> /gpl
> .html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/&gt;\.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/&gt;\.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /usr/lib/grass70/bin/v.net.iso...(no debugging
> symbols found)...done.
>
>
> (gdb) run input=myroads_net output=myroads_net_iso center_cats=1-
> 100000
> costs=1000,2000,5000
> Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
> output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-
> gnu/libthread_db.so.1".
> Building graph...
> Registering arcs...
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff6c64708 in tavl_probe ()
> from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
>
>
> (gdb) bt full
> #0 0x00007ffff6c64708 in tavl_probe ()
> from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
> No symbol table info available.
> #1 0x00007ffff6c65717 in dglTreeNodeAdd ()
> from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
> No symbol table info available.
> #2 0x00007ffff6c5aa0c in dgl_add_edge_V1 ()
> from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
> No symbol table info available.
> #3 0x00007ffff6c58a62 in dglAddEdge ()
> from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
> No symbol table info available.
> #4 0x00007ffff7ba1d69 in Vect_net_build_graph ()
> from /usr/lib/grass70/lib/libgrass_vector.7.0.5.so
> No symbol table info available.
> #5 0x0000000000401aa9 in main ()
> No symbol table info available.
>
>
> (gdb) l
> 1 ../sysdeps/x86_64/dl-procinfo.c: Non hai tal ficheiro ou
> directorio.
>
>
>
> >
> > >
> > > What I am missing?
> > >
> > > Thanks in advance.
> > >
> > > Greetings.
> > >
> > > Eduardo Corbelle
> > >
> > >
> > >
> > > --
> > > Dr. Eduardo Corbelle Rico
> > >
> > > Land laboratory (LaboraTe)
> > > Department of Agricultural and Forest Engineering
> > > Universidade de Santiago de Compostela
> > >
> > > e-mail: eduardo.corbelle@usc.es
> > > Tel: +34 982 823 324
> > > Fax: +34 982 285 926
> > > Web: http://laborate.usc.es
> > > http://masterterra.usc.es
> > > http://github.com/eduardocorbelle
> > > _______________________________________________
> > > grass-user mailing list
> > > grass-user@lists.osgeo.org
> > > http://lists.osgeo.org/mailman/listinfo/grass-user

On Fri, Oct 28, 2016 at 10:11 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

Thank you, I'll try. Grass was installed in my system using pre-
compiled packages (via apt-get)... Forgive me if this is a silly
question: from which folder am I supposed to execute the commands? (or
should I download the source files and start all over?)

Please check the guide here:
https://grass.osgeo.org/development/compiling-grass-gis/

If it is not sufficient, let us know and we can improve it!

cheers
markusN

O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:

On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:
>
> O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:
> > On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
> > <eduardo.corbelle@gmx.net> wrote:
> > >
> > > Dear all,
> > >
> > > I am unable to use v.net.iso because of a "segmentation fault"
> > > error. I
> > > have a script that used to work correctly in GRASS 6.4 (32
> > > bit)
> > > but
> > > produces this error after I switched to GRASS 7.0.4 (64 bit).
> > >
> > > If I try to follow both examples shown in https://grass.osgeo.o
> > > rg/g
> > > rass
> > > 70/manuals/v.net.iso.html (using the Spearfish dataset for
> > > GRASS 7)
> > > the
> > > same error appears:
> > >
> > > > Building graph...
> > > > Registering arcs...
> > > > Segmentation fault
> >
> > The segmentation fault must happen in the vector libraries. I
> > tested
> > on Linux and can not reproduce the segmentation fault. Valgrind
> > also
> > does not show anything that could cause a segmentation fault. Can
> > you
> > provide a gdb backtrace?
> >
> > Markus M
>
> Thank you Markus,
>
> My system is debian Stretch, and the following lines describe my
> attempt at generating a gdb backtrace. Please let me know if I
> should
> do otherwise.

So far so good. The module crashes in a library function that comes
from libavl without modifications, but I can still not see why it
could cause a segmentation fault. Can you recompile with the compiler
debugging option -g? gdb will then be able to provide more
information:

make distclean
CFLAGS="-g" ./configure <configure options>
make

optionally make install

Then start GRASS and use gdb for v.net.iso as before.

Markus M

Dear Markus,

Following those instructions does not seem to have changed the
resulting backtrace info (copied below). Maybe I missed something along
the way?

---------------------
make distclean
CFLAGS="-g" ./configure --with-freetype-includes=/usr/include/freetype2
make
sudo make install

GRASS 7.0.5 (spearfish60_grass7):~ > gdb `which v.net.iso`
GNU gdb (Debian 7.11.1-2+b1) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/&gt;\.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/&gt;\.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/grass70/bin/v.net.iso...(no debugging
symbols found)...done.

(gdb) run input=myroads_net output=myroads_net_iso center_cats=1-100000
costs=1000,2000,5000
Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-
gnu/libthread_db.so.1".
Building graph...
Registering arcs...

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6c64708 in tavl_probe ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so

(gdb) bt full
#0 0x00007ffff6c64708 in tavl_probe ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#1 0x00007ffff6c65717 in dglTreeNodeAdd ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#2 0x00007ffff6c5aa0c in dgl_add_edge_V1 ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#3 0x00007ffff6c58a62 in dglAddEdge ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#4 0x00007ffff7ba1d69 in Vect_net_build_graph ()
from /usr/lib/grass70/lib/libgrass_vector.7.0.5.so
No symbol table info available.
#5 0x0000555555555b08 in main ()
No symbol table info available.

(gdb) l
1 ../sysdeps/x86_64/dl-procinfo.c: Non hai tal ficheiro ou
directorio.

>
> >
> > >
> > > What I am missing?
> > >
> > > Thanks in advance.
> > >
> > > Greetings.
> > >
> > > Eduardo Corbelle
> > >
> > >
> > >
> > > --
> > > Dr. Eduardo Corbelle Rico
> > >
> > > Land laboratory (LaboraTe)
> > > Department of Agricultural and Forest Engineering
> > > Universidade de Santiago de Compostela
> > >
> > > e-mail: eduardo.corbelle@usc.es
> > > Tel: +34 982 823 324
> > > Fax: +34 982 285 926
> > > Web: http://laborate.usc.es
> > > http://masterterra.usc.es
> > > http://github.com/eduardocorbelle
> > > _______________________________________________
> > > grass-user mailing list
> > > grass-user@lists.osgeo.org
> > > http://lists.osgeo.org/mailman/listinfo/grass-user

On Wed, Nov 16, 2016 at 11:44 AM, Eduardo Corbelle Rico <eduardo.corbelle@gmx.net> wrote:

O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:

On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:

On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

Dear all,

I am unable to use v.net.iso because of a “segmentation fault”
error. I
have a script that used to work correctly in GRASS 6.4 (32
bit)
but
produces this error after I switched to GRASS 7.0.4 (64 bit).

If I try to follow both examples shown in https://grass.osgeo.o
rg/g
rass
70/manuals/v.net.iso.html (using the Spearfish dataset for
GRASS 7)
the
same error appears:

Building graph…
Registering arcs…
Segmentation fault

The segmentation fault must happen in the vector libraries. I
tested
on Linux and can not reproduce the segmentation fault. Valgrind
also
does not show anything that could cause a segmentation fault. Can
you
provide a gdb backtrace?

Markus M

Thank you Markus,

My system is debian Stretch, and the following lines describe my
attempt at generating a gdb backtrace. Please let me know if I
should
do otherwise.

So far so good. The module crashes in a library function that comes
from libavl without modifications, but I can still not see why it
could cause a segmentation fault. Can you recompile with the compiler
debugging option -g? gdb will then be able to provide more
information:

make distclean
CFLAGS=“-g” ./configure
make

optionally make install

Then start GRASS and use gdb for v.net.iso as before.

Markus M

Dear Markus,

Following those instructions does not seem to have changed the
resulting backtrace info (copied below). Maybe I missed something along
the way?


make distclean
CFLAGS=“-g” ./configure --with-freetype-includes=/usr/include/freetype2
make
sudo make install

GRASS 7.0.5 (spearfish60_grass7):~ > gdb which v.net.iso
GNU gdb (Debian 7.11.1-2+b1) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show
copying”
and “show warranty” for details.
This GDB was configured as “x86_64-linux-gnu”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type “help”.
Type “apropos word” to search for commands related to “word”…

This is the problem:

Reading symbols from /usr/lib/grass70/bin/v.net.iso…(no debugging
symbols found)…done.

It should be

Reading symbols from /usr/lib/grass70/bin/v.net.iso…done.

For testing purposes I introduced a bug in my local copy to trigger a segmentation fault. The backtrace shows:

(gdb) bt
#0 tavl_probe (tree=tree@entry=0x827d30, item=item@entry=0x82fb20) at tavl.c:131
#1 0x00007ffff6c3d3e7 in dglTreeNodeAdd (pavl=0x827d30, nKey=nKey@entry=1) at tree.c:73
#2 0x00007ffff6c32d17 in dgl_add_edge_V1 (pgraph=0x7fffffffccf8, nHead=, nTail=, nCost=1231014,
nEdge=1, pvHeadAttr=pvHeadAttr@entry=0x0, pvTailAttr=0x0, pvEdgeAttr=0x0, nFlags=0) at edgemgmt-template.c:59
#3 0x00007ffff6c30ea2 in dglAddEdge (pGraph=pGraph@entry=0x7fffffffccf8, nHead=, nTail=,
nCost=, nEdge=nEdge@entry=1) at graph.c:624
#4 0x00007ffff7bb5d09 in Vect_net_build_graph (Map=Map@entry=0x7fffffffc920, ltype=ltype@entry=6, afield=afield@entry=1,
nfield=nfield@entry=2, afcol=0x0, abcol=0x0, ncol=0x0, geo=0, version=1) at net_build.c:918
#5 0x00000000004029e1 in main (argc=, argv=) at main.c:224

Note that file and line are given where the segfault occured.

Is this something Debian specific that debugging symbols must be explicitly activated? Are you using GCC or another compiler?

Alternatively, you can also try valgrind:

CMD=“v.net.iso input=myroads_net output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000 --o”
valgrind --tool=memcheck --log-file=v.net.iso.vg.log $CMD

Markus M

(gdb) run input=myroads_net output=myroads_net_iso center_cats=1-100000
costs=1000,2000,5000
Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
[Thread debugging using libthread_db enabled]
Using host libthread_db library “/lib/x86_64-linux-
gnu/libthread_db.so.1”.
Building graph…
Registering arcs…

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6c64708 in tavl_probe ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so

(gdb) bt full
#0 0x00007ffff6c64708 in tavl_probe ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#1 0x00007ffff6c65717 in dglTreeNodeAdd ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#2 0x00007ffff6c5aa0c in dgl_add_edge_V1 ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#3 0x00007ffff6c58a62 in dglAddEdge ()
from /usr/lib/grass70/lib/libgrass_dgl.7.0.5.so
No symbol table info available.
#4 0x00007ffff7ba1d69 in Vect_net_build_graph ()
from /usr/lib/grass70/lib/libgrass_vector.7.0.5.so
No symbol table info available.
#5 0x0000555555555b08 in main ()
No symbol table info available.

(gdb) l
1 …/sysdeps/x86_64/dl-procinfo.c: Non hai tal ficheiro ou
directorio.

What I am missing?

Thanks in advance.

Greetings.

Eduardo Corbelle


Dr. Eduardo Corbelle Rico

Land laboratory (LaboraTe)
Department of Agricultural and Forest Engineering
Universidade de Santiago de Compostela

e-mail: eduardo.corbelle@usc.es
Tel: +34 982 823 324
Fax: +34 982 285 926
Web: http://laborate.usc.es
http://masterterra.usc.es
http://github.com/eduardocorbelle


grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

O Mér, 16-11-2016 ás 15:22 +0100, Markus Metz escribiu:

On Wed, Nov 16, 2016 at 11:44 AM, Eduardo Corbelle Rico <eduardo.corb
elle@gmx.net> wrote:
>
> O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:
> > On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
> > <eduardo.corbelle@gmx.net> wrote:
> > >
> > > O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:
> > > > On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
> > > > <eduardo.corbelle@gmx.net> wrote:
> > > > >
> > > > > Dear all,
> > > > >
> > > > > I am unable to use v.net.iso because of a "segmentation
fault"
> > > > > error. I
> > > > > have a script that used to work correctly in GRASS 6.4 (32
> > > > > bit)
> > > > > but
> > > > > produces this error after I switched to GRASS 7.0.4 (64
bit).
> > > > >
> > > > > If I try to follow both examples shown in https://grass.osg
eo.o
> > > > > rg/g
> > > > > rass
> > > > > 70/manuals/v.net.iso.html (using the Spearfish dataset for
> > > > > GRASS 7)
> > > > > the
> > > > > same error appears:
> > > > >
> > > > > > Building graph...
> > > > > > Registering arcs...
> > > > > > Segmentation fault
> > > >
> > > > The segmentation fault must happen in the vector libraries. I
> > > > tested
> > > > on Linux and can not reproduce the segmentation fault.
Valgrind
> > > > also
> > > > does not show anything that could cause a segmentation fault.
Can
> > > > you
> > > > provide a gdb backtrace?
> > > >
> > > > Markus M
> > >
> > > Thank you Markus,
> > >
> > > My system is debian Stretch, and the following lines describe
my
> > > attempt at generating a gdb backtrace. Please let me know if I
> > > should
> > > do otherwise.
> >
> > So far so good. The module crashes in a library function that
comes
> > from libavl without modifications, but I can still not see why it
> > could cause a segmentation fault. Can you recompile with the
compiler
> > debugging option -g? gdb will then be able to provide more
> > information:
> >
> > make distclean
> > CFLAGS="-g" ./configure <configure options>
> > make
> >
> > optionally make install
> >
> > Then start GRASS and use gdb for v.net.iso as before.
> >
> > Markus M
> >
>
> Dear Markus,
>
> Following those instructions does not seem to have changed the
> resulting backtrace info (copied below). Maybe I missed something
along
> the way?
>
> ---------------------

Is this something Debian specific that debugging symbols must be
explicitly activated? Are you using GCC or another compiler?

Alternatively, you can also try valgrind:

CMD="v.net.iso input=myroads_net output=myroads_net_iso
center_cats=1-100000 costs=1000,2000,5000 --o"
valgrind --tool=memcheck --log-file=v.net.iso.vg.log $CMD

Markus M

You were right: it was my fault not having grass-core-dbgsym and grass-
dev-dbgsym packages installed. I copied below the results of the
debugging commands:

================
GRASS 7.0.5 (spearfish60_grass7):~ > gdb `which v.net.iso`
GNU gdb (Debian 7.11.1-2+b1) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/&gt;\.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/&gt;\.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/grass70/bin/v.net.iso...Reading symbols
from /usr/lib/debug/.build-
id/5a/060fc6c3da41153d82601e3fa37ba6d88e9c6c.debug...done.
done.

(gdb) run input=myroads_net output=myroads_net_iso center_cats=1-100000
costs=1000,2000,5000
Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-
gnu/libthread_db.so.1".
Building graph...
Registering arcs...

Program received signal SIGSEGV, Segmentation fault.
tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x55555599f
7b0)
at tavl.c:146
146 tavl.c: Non hai tal ficheiro ou directorio.
(gdb) bt full
#0 tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x55555
599f7b0)
at tavl.c:146
y = 0x0
z = 0x55555599b6c0
p = 0x0
q = <optimized out>
n = 0x55555599f7d0
w = <optimized out>
dir = <optimized out>
da =
"\023\000\000\000\000\000\000\000\000\vb\367\377\177\000\000\300\266\23
1UUU\000\000\030\000\000\000\000\000\000"
k = 0
__PRETTY_FUNCTION__ = "tavl_probe"
#1 0x00007ffff6c65717 in dglTreeNodeAdd (pavl=0x55555599b6c0,
nKey=nKey@entry=1) at tree.c:73
pnode = 0x55555599f7b0
ppvret = <optimized out>
#2 0x00007ffff6c5aa0c in dgl_add_edge_V1 (pgraph=0x7fffffffd078,
nHead=<optimized out>, nTail=<optimized out>, nCost=1231014,
nEdge=1,
pvHeadAttr=pvHeadAttr@entry=0x0, pvTailAttr=0x0, pvEdgeAttr=0x0,
nFlags=0)
at edgemgmt-template.c:59
pHead = <optimized out>
pTail = <optimized out>

    pEdgeset = &lt;optimized out&gt;
    pEdge = &lt;optimized out&gt;
    pHeadNodeItem = &lt;optimized out&gt;
    pTailNodeItem = &lt;optimized out&gt;

#3 0x00007ffff6c58a62 in dglAddEdge (pGraph=pGraph@entry=0x7fffffffd07
8,
nHead=<optimized out>, nTail=<optimized out>, nCost=<optimized
out>,
nEdge=nEdge@entry=1) at graph.c:624
nRet = <optimized out>
#4 0x00007ffff7ba1d69 in Vect_net_build_graph (Map=0x7fffffffcca0,
ltype=<optimized out>, afield=1, nfield=2, afcol=0x0, abcol=0x0,
ncol=0x0,
geo=0, version=1) at net.c:303
i = 1
j = <optimized out>
from = 1
to = 2
line = <optimized out>
nlines = <optimized out>
nnodes = <optimized out>
ret = <optimized out>
type = <optimized out>
cat = 48
skipped = 0
cfound = <optimized out>

    dofw = &lt;optimized out&gt;
    dobw = 1
    Points = &lt;optimized out&gt;
    Cats = 0x5555557602f0
    dcost = 1231\.0148500818718
    bdcost = 1231\.0148500818718
    ll = &lt;optimized out&gt;
    cost = 1231014
    bcost = 0
    gr = 0x7fffffffd078
    dgl\_cost = 0
    opaqueset = \{360000, 0 &lt;repeats 15 times&gt;\}
    Fi = &lt;optimized out&gt;
    driver = &lt;optimized out&gt;
    handle = \{dbName = \{string = 0x0, nalloc = 0\}, dbSchema = \{
        string = 0x0, nalloc = 0\}\}
    stmt = \{string = 0x0, nalloc = 0\}
    Column = 0x0
    fvarr = \{n\_values = \-13424, alloc = 32767, ctype = \-148152984, 
      value = 0x53455f0043\}
    bvarr = \{n\_values = 0, alloc = 0, ctype = \-148153640, 
      value = 0x415353454d5f434c\}
    fctype = &lt;optimized out&gt;

    bctype = &lt;optimized out&gt;
    nrec = &lt;optimized out&gt;

#5 0x0000555555555b08 in main (argc=<optimized out>, argv=<optimized
out>)
at main.c:190
i = <optimized out>
ret = <optimized out>
centre = <optimized out>
line = <optimized out>
centre1 = <optimized out>
centre2 = <optimized out>
nlines = <optimized out>
nnodes = <optimized out>
type = 6
ltype = <optimized out>
geo = 0
cat = 32767
node = <optimized out>
node1 = -13264
node2 = 32767
cost = -nan(0xfefbd28e20000)
e1cost = 6.9533475197415044e-310
e2cost = 6.9533490679313337e-310
n1cost = 6.9531436082559572e-310

    n2cost = 6\.953349164098692e\-310
    s1cost = &lt;optimized out&gt;
    s2cost = &lt;optimized out&gt;
    l = &lt;optimized out&gt;
    l1 = &lt;optimized out&gt;
    map = 0x7ffff7b67888 &lt;state\+136&gt;
    output = 0x555555790a10
    afield\_opt = &lt;optimized out&gt;
    nfield\_opt = &lt;optimized out&gt;
    afcol = 0x555555790cd0
    abcol = 0x555555790d70
    ncol = 0x555555790e10
    type\_opt = &lt;optimized out&gt;
    term\_opt = &lt;optimized out&gt;
    cost\_opt = &lt;optimized out&gt;
    geo\_f = 0x7ffff7b67858 &lt;state\+88&gt;
    module = &lt;optimized out&gt;
    Map = \{format = 0, temporary = 0, dblnk = 0x5555557919b0, plus

= {
version = {topo = {major = 5, minor = 1, back_major = 5,
back_minor = 1}, spidx = {major = 5, minor = 1,
back_major = 5, back_minor = 1}, cidx = {major = 5,
minor = 0,
back_major = 5, back_minor = 0}}, with_z = 0,
spidx_with_z = 0, off_t_size = 4, head_size = 142,

        spidx\_head\_size = 113, cidx\_head\_size = 9, release\_support

= 0,
port = {byte_order = 0, off_t_size = 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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, spidx_port = {byte_order = 0,
off_t_size = 4,
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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, cidx_port = {byte_order = 0, off_t_size
= 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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, mode = 0, built = 4, box = {
N = 4928063.3980146097, S = 4914006.3378370199,
E = 609527.21021496004, W = 589434.85646865005, T = 0, B
= 0},
Node = 0x555555797d50, Line = 0x5555557aa880,

        Area = 0x5555557b9150, Isle = 0x5555557b9170, n\_plines =

1,
n_llines = 827, n_blines = 0, n_clines = 0, n_flines = 0,
n_klines = 0, n_vfaces = 0, n_hfaces = 0, n_nodes = 678,
n_edges = 0, n_lines = 828, n_areas = 0, n_isles = 0,
n_faces = 0,
n_volumes = 0, n_holes = 0, alloc_nodes = 678, alloc_edges
= 0,
alloc_lines = 828, alloc_areas = 0, alloc_isles = 0,
alloc_faces = 0, alloc_volumes = 0, alloc_holes = 0,
Node_offset = 142, Edge_offset = 0, Line_offset = 26934,
Area_offset = 37690, Isle_offset = 37690, Volume_offset =
0,
Hole_offset = 0, Spidx_built = 1, Spidx_new = 0, Spidx_file
= 1,
spidx_fp = {file = 0x555555796d40, start = 0x0, current =
0x0,
end = 0x0, size = 0, alloc = 0, loaded = 0},
Node_spidx_offset = 61041, Line_spidx_offset = 131013,
Area_spidx_offset = 131489, Isle_spidx_offset = 131965,
Face_spidx_offset = 0, Volume_spidx_offset = 0,
Hole_spidx_offset = 0, Node_spidx = 0x555555792880,
Line_spidx = 0x55555582e8a0, Area_spidx = 0x5555558a7d80,
Isle_spidx = 0x555555921260, Face_spidx = 0x0, Volume_spidx
= 0x0,
Hole_spidx = 0x0, update_cidx = 0, n_cidx = 2, a_cidx = 5,
cidx = 0x555555795d70, cidx_up_to_date = 1, coor_size =
101723,
coor_mtime = 0, uplist = {do_uplist = 0, uplines = 0x0,
uplines_offset = 0x0, alloc_uplines = 0, n_uplines = 0,
upnodes = 0x0, alloc_upnodes = 0, n_upnodes = 0}},

      open = 1428335138, mode = 0, level = 2, head\_only = 0, 
      support\_updated = 0, name = 0x555555760170 &quot;myroads\_net&quot;, 
      mapset = 0x555555760470 &quot;user1&quot;, 
      location = 0x555555760530 &quot;spearfish60\_grass7&quot;, 
      gisdbase = 0x5555557605f0 &quot;/home/eduardo/GRASSDATA&quot;,

next_line = 1,
constraint = {region_flag = 0, box = {N = 0, S = 0, E = 0, W
= 0,
T = 0, B = 0}, type_flag = 0, type = 0, field_flag = 0,
field = 0}, proj = 0, hist_fp = 0x55555599f010, dgraph = {
line_type = 6, graph_s = {iErrno = 0, Version = 1 '\001',
Endian = 1 '\001', NodeAttrSize = 0, EdgeAttrSize = 0,
aOpaqueSet = {360000, 0 <repeats 15 times>}, cNode = 0,
cHead = 0, cTail = 0, cAlone = 0, cEdge = 0, nnCost = 0,
Flags = 0, nFamily = 0, nOptions = 0,
pNodeTree = 0x55555599b6c0, pEdgeTree = 0x0, pNodeBuffer
= 0x0,
iNodeBuffer = 0, pEdgeBuffer = 0x0, iEdgeBuffer = 0,
edgePrioritizer = {cEdge = 0, iEdge = 0, pEdgePri32Item =
0x0,
pvAVL = 0x0}, nodePrioritizer = {pvAVL = 0x0}}, spCache
= {
nStartNode = 0, NodeHeap = {index = 0, count = 0, block =
0,
pnode = 0x0}, pvVisited = 0x0, pvPredist = 0x0},
edge_fcosts = 0x5555559a0490, edge_bcosts =
0x5555559a1e80,
node_costs = 0x5555559a3870, cost_multip = 1000}, head = {
organization = 0x555555795a50 "US Army Const. Eng. Rsch.
Lab",
date = 0x555555760770 "5/26/90",

        user\_name = 0x555555760850 &quot;youngs&quot;, 
        map\_name = 0x555555760910 &quot;Output from Vpatch&quot;, 
        source\_date = 0x5555557606b0 &quot;1961&quot;, orig\_scale = 24000, 
        comment = 0x555555796d00 &quot;new roads at 1:24000 for

Spearfish database", proj = 1, plani_zone = 13, digit_thresh = 18.288,
coor_version = {
major = 5, minor = 1, back_major = 5, back_minor = 1},
with_z = 0, size = 101723, head_size = 18, port =
{byte_order = 0,
off_t_size = 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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, last_offset = 18, recycle = 0x0},
dig_fp = {
file = 0x55555599b700, start = 0x0, current = 0x0, end =
0x0,
size = 0, alloc = 0, loaded = 0}, fInfo = {i = 0, ogr = {
driver_name = 0x0, dsn = 0x0, layer_name = 0x0, driver =
0x0,
ds = 0x0, layer = 0x0, dbdriver = 0x0, dsn_options =
0x0,
layer_options = 0x0, cache = {lines = 0x0, lines_types =
0x0,
lines_cats = 0x0, lines_alloc = 0, lines_num = 0,
lines_next = 0, fid = 0, sf_type = SF_GEOMETRY, ctype =
0},
feature_cache = 0x0, offset = {array = 0x0, array_num =
0,
array_alloc = 0}, next_line = 0}, pg = {conninfo =
0x0,
db_name = 0x0, schema_name = 0x0, table_name = 0x0,

          fid\_column = 0x0, geom\_column = 0x0, feature\_type =

SF_GEOMETRY,
coor_dim = 0, srid = 0, dbdriver = 0x0, fi = 0x0,
inTransaction = 0, conn = 0x0, res = 0x0, cursor_name =
0x0,
cursor_fid = 0, next_line = 0, cache = {lines = 0x0,
lines_types = 0x0, lines_cats = 0x0, lines_alloc = 0,
lines_num = 0, lines_next = 0, fid = 0, sf_type =
SF_GEOMETRY,
ctype = 0}, offset = {array = 0x0, array_num = 0,
array_alloc = 0}, topogeom_column = 0x0,
toposchema_name = 0x0, toposchema_id = 0, topo_geo_only =
0}},
site_att = 0x0, n_site_att = 0, n_site_dbl = 0, n_site_str =
0}
Out = {format = -1478492160, temporary = -1,
dblnk = 0xffffefbd28e20000, plus = {version = {topo = {
major = -165154152, minor = 32767, back_major =
-136416591,
back_minor = 32767}, spidx = {major = 1, minor =
32767,
back_major = -134430384, back_minor = 32767}, cidx = {
major = -11776, minor = 32767, back_major = 685899776,
back_minor = -4163}}, with_z = -161323944,
spidx_with_z = 32767, off_t_size = -136417169,
head_size = 140733193388033, spidx_head_size =
140737353923672,
cidx_head_size = 140737488344240, release_support =
685899776,
port = {byte_order = -4163, off_t_size = -161323992,
dbl_cnvrt = "\377\177\000\000op\336", <incomplete
sequence \367>, flt_cnvrt = "\377\177\000", lng_cnvrt =
"\001\000\000",

          int\_cnvrt = &quot;\\377\\177\\000&quot;, 
          shrt\_cnvrt = &quot;\\330&quot;, &lt;incomplete sequence \\331&gt;, 
          off\_t\_cnvrt = &quot;\\377\\367\\377\\177\\000\\000\\340&quot;, &lt;incomplete

sequence \324>, dbl_quick = 32767, flt_quick = 685899776, lng_quick =
-4163,
int_quick = -141390440, shrt_quick = 32767,
off_t_quick = -136417169}, spidx_port = {byte_order =
32767,
off_t_size = 1,
dbl_cnvrt = "\377\177\000\000\000\265\374", <incomplete
sequence \367>, flt_cnvrt = "\377\177\000", lng_cnvrt =
"\020\325\377\377",
int_cnvrt = "\377\177\000", shrt_cnvrt = "\000",
off_t_cnvrt = "\342(\275\357\377\377pb", dbl_quick =
32767,
flt_quick = -136417169, lng_quick = 32767, int_quick =
1,
shrt_quick = 32767, off_t_quick = -134434816}, cidx_port
= {
byte_order = 32767, off_t_size = -10944,
dbl_cnvrt = "\377\177\000\000\000\000\342(",
flt_cnvrt = "\275\357\377\377",
lng_cnvrt = "`b\266", <incomplete sequence \367>,
int_cnvrt = "\377\177\000", shrt_cnvrt = "op",
off_t_cnvrt = "\336\367\377\177\000\000\001", dbl_quick =
32767,
flt_quick = -134420240, lng_quick = 32767, int_quick =
-10896,
shrt_quick = 32767, off_t_quick = 685899776}, mode =
-4163,
built = -136480704, box = {N = 6.9533490679313337e-310,
S = 6.9531436082559572e-310, E = 6.9533491665290997e-
310,

          W = 6\.9533558072990419e\-310, T = \-nan\(0xfefbd28e20000\), 
          B = 6\.9533490647914972e\-310\}, 
        Node = 0x7ffff7de706f &lt;\_dl\_map\_object\_deps\+607&gt;, 
        Line = 0x7fff00000001, Area = 0x7ffff7fcdee0, 
        Isle = 0x7fffffffd5d0, n\_plines = 685899776, n\_llines =

-4163,
n_blines = -136480736, n_clines = 32767, n_flines =
-136417169,
n_klines = 32767, n_vfaces = 1, n_hfaces = 32767,
n_nodes = -134424112, n_edges = 32767, n_lines = -10752,
n_areas = 32767, n_isles = 685899776, n_faces = -4163,
n_volumes = -136480752, n_holes = 32767, alloc_nodes =
-136417169,
alloc_edges = 32767, alloc_lines = 1, alloc_areas = 32767,
alloc_isles = -134425368, alloc_faces = 32767,
alloc_volumes = -10704, alloc_holes = 32767,
Node_offset = -17879262953472, Edge_offset =
140737351874544,
Line_offset = 140737351938159, Area_offset =
140733193388033,
Isle_offset = 140737353928704, Volume_offset =
140737488344672,
Hole_offset = -17879262953472, Spidx_built = -136480800,
Spidx_new = 32767, Spidx_file = -136417169, spidx_fp = {
file = 0x7fff00000001, start = 0x7ffff7fd0930 "",
current = 0x7fffffffd690 "\001",
end = 0x7ffff7de3114 <check_match+324>
"\205\300\017\205m\377\377\377\351z\377\377\377\017\037\200", size =
140737351874512, alloc = 302,
loaded = -134545704}, Node_spidx_offset =
140736985276032,

        Line\_spidx\_offset = 140736985286208, 
        Area\_spidx\_offset = 140737351924051, Isle\_spidx\_offset =

302,
Face_spidx_offset = 140736985286208,
Volume_spidx_offset = 140737353809624,
Hole_spidx_offset = 140737488345016, Node_spidx =
0x7fffffffd7b4,
Line_spidx = 0xffffefbd28e20000, Area_spidx =
0x7fffe203c70d,
Isle_spidx = 0x7fffe203bad0, Face_spidx = 0x7fffffffd7b8,
Volume_spidx = 0x97a26e6c, Hole_spidx = 0x25e89b9,
update_cidx = -503069120, n_cidx = 32767, a_cidx = -10096,
cidx = 0x7fffe2039e80, cidx_up_to_date = -10316,
coor_size = 140737488345216, coor_mtime = 140737353776784,
uplist = {do_uplist = -136433388, uplines = 0xf7dd7780,
uplines_offset = 0x197, alloc_uplines = -134253520,
n_uplines = 32767, upnodes = 0x7ffff728bd90,
alloc_upnodes = -148271048, n_upnodes = 32767}},
open = -136433388, mode = 32767, level = 407, head_only = 0,
support_updated = -136433388, name = 0x7ffff7fcbc58 "",
mapset = 0x83a <error: Cannot access memory at address
0x83a>,
location = 0x7ffff7ff7430 "", gisdbase = 0x7ffff728bd90 "",
next_line = -148271048, constraint = {region_flag =
-136431277,
box = {N = 1.0405022501416652e-320, S =
6.9533484822718954e-310,
E = 6.9533491748297978e-310, W = 6.9533558073381719e-
310,
T = 6.9533558073379743e-310, B = 6.9533490671516982e-
310},

        type\_flag = \-201603917, type = 32767, field\_flag =

-201740488,
field = 32767}, proj = -10056, hist_fp = 0x1c93965e, dgraph
= {
line_type = 7491161, graph_s = {iErrno = -136433388,
Version = 255 '\377', Endian = 127 '\177',
NodeAttrSize = 140737488345488, EdgeAttrSize = 990,
aOpaqueSet = {140737354101808, 140737340030352,
140737340084280,
140737351924051, 990, 140737340084280,
140737354101808,
140737488345416, 140737488345412, 140737351922379,
140737278937163, 140737278684160, 140737488345416,
2822930839,
44108294, 140737340084280}, cNode = 140737488345632,
cHead = 140737340030352, cTail = 140737488345412,
cAlone = 140737488345616, cEdge = 140737353776784, nnCost
= 120,
Flags = 4294957648, nFamily = 7426, nOptions =
4160538376,
pNodeTree = 0x0, pEdgeTree = 0x7ffff383b200,
pNodeBuffer = 0x7ffff7fcca60 " \344\377\367\377\177",
iNodeBuffer = 140737488345776,
pEdgeBuffer = 0x7ffff7fa5fd8 "\256\266\215\363\377\177",
iEdgeBuffer = 0, edgePrioritizer = {cEdge = -136433388,
iEdge = 32767, pEdgePri32Item = 0x7ffff72bb040
<__restore_rt>,
pvAVL = 0xa50}, nodePrioritizer = {pvAVL =
0x7ffff7fcbc58}},
spCache = {nStartNode = 140737286612536, NodeHeap = {
index = 140737286745064, count = 140737351924051,
block = 2640, pnode = 0x7ffff3fbabe8},

          pvVisited = 0x7ffff7fcbc58, pvPredist = 0x7fffffffda58\}, 
        edge\_fcosts = 0x7fffffffda54, 
        edge\_bcosts = 0x7ffff7de32cb &lt;do\_lookup\_x\+347&gt;, 
        node\_costs = 0x7ffff387b022, cost\_multip = \-209671024\},

head = {
organization = 0x7fffffffda58 "",
date = 0x4cd4b8c7 <error: Cannot access memory at address
0x4cd4b8c7>, user_name = 0x13352e3 <error: Cannot access memory at
address 0x13352e3>,
map_name = 0x7ffff3fbabe8 "",
source_date = 0x7fffffffdb30 "\270\235\372\363\377\177",
orig_scale = 140737286612536, comment = 0x7fffffffda54 "",
proj = -9440, plani_zone = 32767,
digit_thresh = 6.9533491587714785e-310, coor_version = {
major = 120, minor = 0, back_major = -9320, back_minor =
0},
with_z = -136429983, size = 23, head_size = 0, port = {
byte_order = 1, off_t_size = 0,
dbl_cnvrt = "`\312\374\367\377\177\000",
flt_cnvrt = "\300\333\377\377", lng_cnvrt =
"\377\177\000",
int_cnvrt = "\250_\372", <incomplete sequence \367>,
shrt_cnvrt = "\377\177",
off_t_cnvrt = "\000\000\001\000\000\000\000", dbl_quick =
0,
flt_quick = 0, lng_quick = -9240, int_quick = 32767,
shrt_quick = -136429983, off_t_quick = 32767},
last_offset = 21,
recycle = 0x7ffff7fa5fa8}, dig_fp = {file = 0x1, start =
0x0,

        current = 0x1 &lt;error: Cannot access memory at address

0x1>,
end = 0x7ffff7fcc708 "", size = 0, alloc = 0, loaded = 0},
fInfo = {i = -134428064, ogr = {
driver_name = 0x7fffffffdb30 "\270\235\372\363\377\177",
dsn = 0x100000000 <error: Cannot access memory at address
0x100000000>, layer_name = 0x7ffff7fcc708 "", driver = 0x7fffffffdb20,
ds = 0x7ffff387b022, layer = 0x4cd4b8c7, dbdriver =
0xffffffff,
dsn_options = 0x0, layer_options = 0x7ffff3fa9db8, cache
= {
lines = 0x7ffff7fcbc58, lines_types = 0x0,
lines_cats = 0x28206e6f10000000, lines_alloc =
1952531488,
lines_num = 1396982881, lines_next = 1145315372,
fid = 140737280262720, sf_type = 8, ctype = 0},
feature_cache = 0x1, offset = {array = 0x0, array_num =
-9320,
array_alloc = 32767}, next_line = -136429983}, pg = {
conninfo = 0x17 <error: Cannot access memory at address
0x17>,
db_name = 0x7ffff3d74a60 "\300\024\003\364\377\177",
schema_name = 0x7fffffffdda8 "v\341\377\377\377\177",
table_name = 0x7fffffffddd8 "\350\341\377\377\377\177",
fid_column = 0x7ffff3d38ef0 "pa\227\363\377\177",
geom_column = 0x0, feature_type = SF_MULTILINESTRING,
coor_dim = 0, srid = -136410668, dbdriver = 0x1, fi =
0x0,
inTransaction = -204239120, conn = 0x7ffff3fa9db8,
res = 0x7fffffffdd00,

          cursor\_name = 0x7ffff7df006f

<_dl_runtime_resolve_sse+159> "I\211\303f\017\032\234$\260", cursor_fid
= 0, next_line = 0, cache = {lines = 0x0,
lines_types = 0x0, lines_cats = 0x40, lines_alloc =
1040,
lines_num = 0, lines_next = 64, fid = 1040, sf_type =
1088,
ctype = 0}, offset = {array = 0x10, array_num = 66,
array_alloc = 64},
topogeom_column = 0x2 <error: Cannot access memory at
address 0x2>, toposchema_name = 0x0, toposchema_id = 93, topo_geo_only
= 110}},
site_att = 0x0, n_site_att = 0, n_site_dbl = 0, n_site_str =
119}
catlist = 0x555555791380
Centers = 0x0
acentres = 0
ncentres = 0
Nodes = <optimized out>
Cats = 0x55555575efc0
Points = 0x555555791020
SPoints = 0x555555791350
niso = <optimized out>
aiso = <optimized out>
iso = 0x5555557913b0
npnts1 = <optimized out>
apnts1 = 0
npnts2 = <optimized out>

    apnts2 = 0
    pnts1 = 0x0
    pnts2 = 0x0
    next\_iso = &lt;optimized out&gt;

(gdb) bt full
#0 tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x55555
599f7b0)
at tavl.c:146
y = 0x0
z = 0x55555599b6c0
p = 0x0
q = <optimized out>
n = 0x55555599f7d0
w = <optimized out>
dir = <optimized out>
da =
"\023\000\000\000\000\000\000\000\000\vb\367\377\177\000\000\300\266\23
1UUU\000\000\030\000\000\000\000\000\000"
k = 0
__PRETTY_FUNCTION__ = "tavl_probe"
#1 0x00007ffff6c65717 in dglTreeNodeAdd (pavl=0x55555599b6c0,
nKey=nKey@entry=1) at tree.c:73
pnode = 0x55555599f7b0
ppvret = <optimized out>
#2 0x00007ffff6c5aa0c in dgl_add_edge_V1 (pgraph=0x7fffffffd078,
nHead=<optimized out>, nTail=<optimized out>, nCost=1231014,
nEdge=1,
pvHeadAttr=pvHeadAttr@entry=0x0, pvTailAttr=0x0, pvEdgeAttr=0x0,
nFlags=0)
at edgemgmt-template.c:59
pHead = <optimized out>
pTail = <optimized out>

    pEdgeset = &lt;optimized out&gt;
    pEdge = &lt;optimized out&gt;
    pHeadNodeItem = &lt;optimized out&gt;
    pTailNodeItem = &lt;optimized out&gt;

#3 0x00007ffff6c58a62 in dglAddEdge (pGraph=pGraph@entry=0x7fffffffd07
8,
nHead=<optimized out>, nTail=<optimized out>, nCost=<optimized
out>,
nEdge=nEdge@entry=1) at graph.c:624
nRet = <optimized out>
#4 0x00007ffff7ba1d69 in Vect_net_build_graph (Map=0x7fffffffcca0,
ltype=<optimized out>, afield=1, nfield=2, afcol=0x0, abcol=0x0,
ncol=0x0,
geo=0, version=1) at net.c:303
i = 1
j = <optimized out>
from = 1
to = 2
line = <optimized out>
nlines = <optimized out>
nnodes = <optimized out>
ret = <optimized out>
type = <optimized out>
cat = 48
skipped = 0
cfound = <optimized out>

    dofw = &lt;optimized out&gt;
    dobw = 1
    Points = &lt;optimized out&gt;
    Cats = 0x5555557602f0
    dcost = 1231\.0148500818718
    bdcost = 1231\.0148500818718
    ll = &lt;optimized out&gt;
    cost = 1231014
    bcost = 0
    gr = 0x7fffffffd078
    dgl\_cost = 0
    opaqueset = \{360000, 0 &lt;repeats 15 times&gt;\}
    Fi = &lt;optimized out&gt;
    driver = &lt;optimized out&gt;
    handle = \{dbName = \{string = 0x0, nalloc = 0\}, dbSchema = \{
        string = 0x0, nalloc = 0\}\}
    stmt = \{string = 0x0, nalloc = 0\}
    Column = 0x0
    fvarr = \{n\_values = \-13424, alloc = 32767, ctype = \-148152984, 
      value = 0x53455f0043\}
    bvarr = \{n\_values = 0, alloc = 0, ctype = \-148153640, 
      value = 0x415353454d5f434c\}
    fctype = &lt;optimized out&gt;

    bctype = &lt;optimized out&gt;
    nrec = &lt;optimized out&gt;

#5 0x0000555555555b08 in main (argc=<optimized out>, argv=<optimized
out>)
at main.c:190
i = <optimized out>
ret = <optimized out>
centre = <optimized out>
line = <optimized out>
centre1 = <optimized out>
centre2 = <optimized out>
nlines = <optimized out>
nnodes = <optimized out>
type = 6
ltype = <optimized out>
geo = 0
cat = 32767
node = <optimized out>
node1 = -13264
node2 = 32767
cost = -nan(0xfefbd28e20000)
e1cost = 6.9533475197415044e-310
e2cost = 6.9533490679313337e-310
n1cost = 6.9531436082559572e-310

    n2cost = 6\.953349164098692e\-310
    s1cost = &lt;optimized out&gt;
    s2cost = &lt;optimized out&gt;
    l = &lt;optimized out&gt;
    l1 = &lt;optimized out&gt;
    map = 0x7ffff7b67888 &lt;state\+136&gt;
    output = 0x555555790a10
    afield\_opt = &lt;optimized out&gt;
    nfield\_opt = &lt;optimized out&gt;
    afcol = 0x555555790cd0
    abcol = 0x555555790d70
    ncol = 0x555555790e10
    type\_opt = &lt;optimized out&gt;
    term\_opt = &lt;optimized out&gt;
    cost\_opt = &lt;optimized out&gt;
    geo\_f = 0x7ffff7b67858 &lt;state\+88&gt;
    module = &lt;optimized out&gt;
    Map = \{format = 0, temporary = 0, dblnk = 0x5555557919b0, plus

= {
version = {topo = {major = 5, minor = 1, back_major = 5,
back_minor = 1}, spidx = {major = 5, minor = 1,
back_major = 5, back_minor = 1}, cidx = {major = 5,
minor = 0,
back_major = 5, back_minor = 0}}, with_z = 0,
spidx_with_z = 0, off_t_size = 4, head_size = 142,

        spidx\_head\_size = 113, cidx\_head\_size = 9, release\_support

= 0,
port = {byte_order = 0, off_t_size = 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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, spidx_port = {byte_order = 0,
off_t_size = 4,
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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, cidx_port = {byte_order = 0, off_t_size
= 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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, mode = 0, built = 4, box = {
N = 4928063.3980146097, S = 4914006.3378370199,
E = 609527.21021496004, W = 589434.85646865005, T = 0, B
= 0},
Node = 0x555555797d50, Line = 0x5555557aa880,

        Area = 0x5555557b9150, Isle = 0x5555557b9170, n\_plines =

1,
n_llines = 827, n_blines = 0, n_clines = 0, n_flines = 0,
n_klines = 0, n_vfaces = 0, n_hfaces = 0, n_nodes = 678,
n_edges = 0, n_lines = 828, n_areas = 0, n_isles = 0,
n_faces = 0,
n_volumes = 0, n_holes = 0, alloc_nodes = 678, alloc_edges
= 0,
alloc_lines = 828, alloc_areas = 0, alloc_isles = 0,
alloc_faces = 0, alloc_volumes = 0, alloc_holes = 0,
Node_offset = 142, Edge_offset = 0, Line_offset = 26934,
Area_offset = 37690, Isle_offset = 37690, Volume_offset =
0,
Hole_offset = 0, Spidx_built = 1, Spidx_new = 0, Spidx_file
= 1,
spidx_fp = {file = 0x555555796d40, start = 0x0, current =
0x0,
end = 0x0, size = 0, alloc = 0, loaded = 0},
Node_spidx_offset = 61041, Line_spidx_offset = 131013,
Area_spidx_offset = 131489, Isle_spidx_offset = 131965,
Face_spidx_offset = 0, Volume_spidx_offset = 0,
Hole_spidx_offset = 0, Node_spidx = 0x555555792880,
Line_spidx = 0x55555582e8a0, Area_spidx = 0x5555558a7d80,
Isle_spidx = 0x555555921260, Face_spidx = 0x0, Volume_spidx
= 0x0,
Hole_spidx = 0x0, update_cidx = 0, n_cidx = 2, a_cidx = 5,
cidx = 0x555555795d70, cidx_up_to_date = 1, coor_size =
101723,
coor_mtime = 0, uplist = {do_uplist = 0, uplines = 0x0,
uplines_offset = 0x0, alloc_uplines = 0, n_uplines = 0,
upnodes = 0x0, alloc_upnodes = 0, n_upnodes = 0}},

      open = 1428335138, mode = 0, level = 2, head\_only = 0, 
      support\_updated = 0, name = 0x555555760170 &quot;myroads\_net&quot;, 
      mapset = 0x555555760470 &quot;user1&quot;, 
      location = 0x555555760530 &quot;spearfish60\_grass7&quot;, 
      gisdbase = 0x5555557605f0 &quot;/home/eduardo/GRASSDATA&quot;,

next_line = 1,
constraint = {region_flag = 0, box = {N = 0, S = 0, E = 0, W
= 0,
T = 0, B = 0}, type_flag = 0, type = 0, field_flag = 0,
field = 0}, proj = 0, hist_fp = 0x55555599f010, dgraph = {
line_type = 6, graph_s = {iErrno = 0, Version = 1 '\001',
Endian = 1 '\001', NodeAttrSize = 0, EdgeAttrSize = 0,
aOpaqueSet = {360000, 0 <repeats 15 times>}, cNode = 0,
cHead = 0, cTail = 0, cAlone = 0, cEdge = 0, nnCost = 0,
Flags = 0, nFamily = 0, nOptions = 0,
pNodeTree = 0x55555599b6c0, pEdgeTree = 0x0, pNodeBuffer
= 0x0,
iNodeBuffer = 0, pEdgeBuffer = 0x0, iEdgeBuffer = 0,
edgePrioritizer = {cEdge = 0, iEdge = 0, pEdgePri32Item =
0x0,
pvAVL = 0x0}, nodePrioritizer = {pvAVL = 0x0}}, spCache
= {
nStartNode = 0, NodeHeap = {index = 0, count = 0, block =
0,
pnode = 0x0}, pvVisited = 0x0, pvPredist = 0x0},
edge_fcosts = 0x5555559a0490, edge_bcosts =
0x5555559a1e80,
node_costs = 0x5555559a3870, cost_multip = 1000}, head = {
organization = 0x555555795a50 "US Army Const. Eng. Rsch.
Lab",
date = 0x555555760770 "5/26/90",

        user\_name = 0x555555760850 &quot;youngs&quot;, 
        map\_name = 0x555555760910 &quot;Output from Vpatch&quot;, 
        source\_date = 0x5555557606b0 &quot;1961&quot;, orig\_scale = 24000, 
        comment = 0x555555796d00 &quot;new roads at 1:24000 for

Spearfish database", proj = 1, plani_zone = 13, digit_thresh = 18.288,
coor_version = {
major = 5, minor = 1, back_major = 5, back_minor = 1},
with_z = 0, size = 101723, head_size = 18, port =
{byte_order = 0,
off_t_size = 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",
off_t_cnvrt = "\000\001\002\003\004\005\006\a", dbl_quick
= 1,
flt_quick = 1, lng_quick = 1, int_quick = 1, shrt_quick =
1,
off_t_quick = 1}, last_offset = 18, recycle = 0x0},
dig_fp = {
file = 0x55555599b700, start = 0x0, current = 0x0, end =
0x0,
size = 0, alloc = 0, loaded = 0}, fInfo = {i = 0, ogr = {
driver_name = 0x0, dsn = 0x0, layer_name = 0x0, driver =
0x0,
ds = 0x0, layer = 0x0, dbdriver = 0x0, dsn_options =
0x0,
layer_options = 0x0, cache = {lines = 0x0, lines_types =
0x0,
lines_cats = 0x0, lines_alloc = 0, lines_num = 0,
lines_next = 0, fid = 0, sf_type = SF_GEOMETRY, ctype =
0},
feature_cache = 0x0, offset = {array = 0x0, array_num =
0,
array_alloc = 0}, next_line = 0}, pg = {conninfo =
0x0,
db_name = 0x0, schema_name = 0x0, table_name = 0x0,

          fid\_column = 0x0, geom\_column = 0x0, feature\_type =

SF_GEOMETRY,
coor_dim = 0, srid = 0, dbdriver = 0x0, fi = 0x0,
inTransaction = 0, conn = 0x0, res = 0x0, cursor_name =
0x0,
cursor_fid = 0, next_line = 0, cache = {lines = 0x0,
lines_types = 0x0, lines_cats = 0x0, lines_alloc = 0,
lines_num = 0, lines_next = 0, fid = 0, sf_type =
SF_GEOMETRY,
ctype = 0}, offset = {array = 0x0, array_num = 0,
array_alloc = 0}, topogeom_column = 0x0,
toposchema_name = 0x0, toposchema_id = 0, topo_geo_only =
0}},
site_att = 0x0, n_site_att = 0, n_site_dbl = 0, n_site_str =
0}
Out = {format = -1478492160, temporary = -1,
dblnk = 0xffffefbd28e20000, plus = {version = {topo = {
major = -165154152, minor = 32767, back_major =
-136416591,
back_minor = 32767}, spidx = {major = 1, minor =
32767,
back_major = -134430384, back_minor = 32767}, cidx = {
major = -11776, minor = 32767, back_major = 685899776,
back_minor = -4163}}, with_z = -161323944,
spidx_with_z = 32767, off_t_size = -136417169,
head_size = 140733193388033, spidx_head_size =
140737353923672,
cidx_head_size = 140737488344240, release_support =
685899776,
port = {byte_order = -4163, off_t_size = -161323992,
dbl_cnvrt = "\377\177\000\000op\336", <incomplete
sequence \367>, flt_cnvrt = "\377\177\000", lng_cnvrt =
"\001\000\000",

          int\_cnvrt = &quot;\\377\\177\\000&quot;, 
          shrt\_cnvrt = &quot;\\330&quot;, &lt;incomplete sequence \\331&gt;, 
          off\_t\_cnvrt = &quot;\\377\\367\\377\\177\\000\\000\\340&quot;, &lt;incomplete

sequence \324>, dbl_quick = 32767, flt_quick = 685899776, lng_quick =
-4163,
int_quick = -141390440, shrt_quick = 32767,
off_t_quick = -136417169}, spidx_port = {byte_order =
32767,
off_t_size = 1,
dbl_cnvrt = "\377\177\000\000\000\265\374", <incomplete
sequence \367>, flt_cnvrt = "\377\177\000", lng_cnvrt =
"\020\325\377\377",
int_cnvrt = "\377\177\000", shrt_cnvrt = "\000",
off_t_cnvrt = "\342(\275\357\377\377pb", dbl_quick =
32767,
flt_quick = -136417169, lng_quick = 32767, int_quick =
1,
shrt_quick = 32767, off_t_quick = -134434816}, cidx_port
= {
byte_order = 32767, off_t_size = -10944,
dbl_cnvrt = "\377\177\000\000\000\000\342(",
flt_cnvrt = "\275\357\377\377",
lng_cnvrt = "`b\266", <incomplete sequence \367>,
int_cnvrt = "\377\177\000", shrt_cnvrt = "op",
off_t_cnvrt = "\336\367\377\177\000\000\001", dbl_quick =
32767,
flt_quick = -134420240, lng_quick = 32767, int_quick =
-10896,
shrt_quick = 32767, off_t_quick = 685899776}, mode =
-4163,
built = -136480704, box = {N = 6.9533490679313337e-310,
S = 6.9531436082559572e-310, E = 6.9533491665290997e-
310,

          W = 6\.9533558072990419e\-310, T = \-nan\(0xfefbd28e20000\), 
          B = 6\.9533490647914972e\-310\}, 
        Node = 0x7ffff7de706f &lt;\_dl\_map\_object\_deps\+607&gt;, 
        Line = 0x7fff00000001, Area = 0x7ffff7fcdee0, 
        Isle = 0x7fffffffd5d0, n\_plines = 685899776, n\_llines =

-4163,
n_blines = -136480736, n_clines = 32767, n_flines =
-136417169,
n_klines = 32767, n_vfaces = 1, n_hfaces = 32767,
n_nodes = -134424112, n_edges = 32767, n_lines = -10752,
n_areas = 32767, n_isles = 685899776, n_faces = -4163,
n_volumes = -136480752, n_holes = 32767, alloc_nodes =
-136417169,
alloc_edges = 32767, alloc_lines = 1, alloc_areas = 32767,
alloc_isles = -134425368, alloc_faces = 32767,
alloc_volumes = -10704, alloc_holes = 32767,
Node_offset = -17879262953472, Edge_offset =
140737351874544,
Line_offset = 140737351938159, Area_offset =
140733193388033,
Isle_offset = 140737353928704, Volume_offset =
140737488344672,
Hole_offset = -17879262953472, Spidx_built = -136480800,
Spidx_new = 32767, Spidx_file = -136417169, spidx_fp = {
file = 0x7fff00000001, start = 0x7ffff7fd0930 "",
current = 0x7fffffffd690 "\001",
end = 0x7ffff7de3114 <check_match+324>
"\205\300\017\205m\377\377\377\351z\377\377\377\017\037\200", size =
140737351874512, alloc = 302,
loaded = -134545704}, Node_spidx_offset =
140736985276032,

        Line\_spidx\_offset = 140736985286208, 
        Area\_spidx\_offset = 140737351924051, Isle\_spidx\_offset =

302,
Face_spidx_offset = 140736985286208,
Volume_spidx_offset = 140737353809624,
Hole_spidx_offset = 140737488345016, Node_spidx =
0x7fffffffd7b4,
Line_spidx = 0xffffefbd28e20000, Area_spidx =
0x7fffe203c70d,
Isle_spidx = 0x7fffe203bad0, Face_spidx = 0x7fffffffd7b8,
Volume_spidx = 0x97a26e6c, Hole_spidx = 0x25e89b9,
update_cidx = -503069120, n_cidx = 32767, a_cidx = -10096,
cidx = 0x7fffe2039e80, cidx_up_to_date = -10316,
coor_size = 140737488345216, coor_mtime = 140737353776784,
uplist = {do_uplist = -136433388, uplines = 0xf7dd7780,
uplines_offset = 0x197, alloc_uplines = -134253520,
n_uplines = 32767, upnodes = 0x7ffff728bd90,
alloc_upnodes = -148271048, n_upnodes = 32767}},
open = -136433388, mode = 32767, level = 407, head_only = 0,
support_updated = -136433388, name = 0x7ffff7fcbc58 "",
mapset = 0x83a <error: Cannot access memory at address
0x83a>,
location = 0x7ffff7ff7430 "", gisdbase = 0x7ffff728bd90 "",
next_line = -148271048, constraint = {region_flag =
-136431277,
box = {N = 1.0405022501416652e-320, S =
6.9533484822718954e-310,
E = 6.9533491748297978e-310, W = 6.9533558073381719e-
310,
T = 6.9533558073379743e-310, B = 6.9533490671516982e-
310},

        type\_flag = \-201603917, type = 32767, field\_flag =

-201740488,
field = 32767}, proj = -10056, hist_fp = 0x1c93965e, dgraph
= {
line_type = 7491161, graph_s = {iErrno = -136433388,
Version = 255 '\377', Endian = 127 '\177',
NodeAttrSize = 140737488345488, EdgeAttrSize = 990,
aOpaqueSet = {140737354101808, 140737340030352,
140737340084280,
140737351924051, 990, 140737340084280,
140737354101808,
140737488345416, 140737488345412, 140737351922379,
140737278937163, 140737278684160, 140737488345416,
2822930839,
44108294, 140737340084280}, cNode = 140737488345632,
cHead = 140737340030352, cTail = 140737488345412,
cAlone = 140737488345616, cEdge = 140737353776784, nnCost
= 120,
Flags = 4294957648, nFamily = 7426, nOptions =
4160538376,
pNodeTree = 0x0, pEdgeTree = 0x7ffff383b200,
pNodeBuffer = 0x7ffff7fcca60 " \344\377\367\377\177",
iNodeBuffer = 140737488345776,
pEdgeBuffer = 0x7ffff7fa5fd8 "\256\266\215\363\377\177",
iEdgeBuffer = 0, edgePrioritizer = {cEdge = -136433388,
iEdge = 32767, pEdgePri32Item = 0x7ffff72bb040
<__restore_rt>,
pvAVL = 0xa50}, nodePrioritizer = {pvAVL =
0x7ffff7fcbc58}},
spCache = {nStartNode = 140737286612536, NodeHeap = {
index = 140737286745064, count = 140737351924051,
block = 2640, pnode = 0x7ffff3fbabe8},

          pvVisited = 0x7ffff7fcbc58, pvPredist = 0x7fffffffda58\}, 
        edge\_fcosts = 0x7fffffffda54, 
        edge\_bcosts = 0x7ffff7de32cb &lt;do\_lookup\_x\+347&gt;, 
        node\_costs = 0x7ffff387b022, cost\_multip = \-209671024\},

head = {
organization = 0x7fffffffda58 "",
date = 0x4cd4b8c7 <error: Cannot access memory at address
0x4cd4b8c7>, user_name = 0x13352e3 <error: Cannot access memory at
address 0x13352e3>,
map_name = 0x7ffff3fbabe8 "",
source_date = 0x7fffffffdb30 "\270\235\372\363\377\177",
orig_scale = 140737286612536, comment = 0x7fffffffda54 "",
proj = -9440, plani_zone = 32767,
digit_thresh = 6.9533491587714785e-310, coor_version = {
major = 120, minor = 0, back_major = -9320, back_minor =
0},
with_z = -136429983, size = 23, head_size = 0, port = {
byte_order = 1, off_t_size = 0,
dbl_cnvrt = "`\312\374\367\377\177\000",
flt_cnvrt = "\300\333\377\377", lng_cnvrt =
"\377\177\000",
int_cnvrt = "\250_\372", <incomplete sequence \367>,
shrt_cnvrt = "\377\177",
off_t_cnvrt = "\000\000\001\000\000\000\000", dbl_quick =
0,
flt_quick = 0, lng_quick = -9240, int_quick = 32767,
shrt_quick = -136429983, off_t_quick = 32767},
last_offset = 21,
recycle = 0x7ffff7fa5fa8}, dig_fp = {file = 0x1, start =
0x0,

        current = 0x1 &lt;error: Cannot access memory at address

0x1>,
end = 0x7ffff7fcc708 "", size = 0, alloc = 0, loaded = 0},
fInfo = {i = -134428064, ogr = {
driver_name = 0x7fffffffdb30 "\270\235\372\363\377\177",
dsn = 0x100000000 <error: Cannot access memory at address
0x100000000>, layer_name = 0x7ffff7fcc708 "", driver = 0x7fffffffdb20,
ds = 0x7ffff387b022, layer = 0x4cd4b8c7, dbdriver =
0xffffffff,
dsn_options = 0x0, layer_options = 0x7ffff3fa9db8, cache
= {
lines = 0x7ffff7fcbc58, lines_types = 0x0,
lines_cats = 0x28206e6f10000000, lines_alloc =
1952531488,
lines_num = 1396982881, lines_next = 1145315372,
fid = 140737280262720, sf_type = 8, ctype = 0},
feature_cache = 0x1, offset = {array = 0x0, array_num =
-9320,
array_alloc = 32767}, next_line = -136429983}, pg = {
conninfo = 0x17 <error: Cannot access memory at address
0x17>,
db_name = 0x7ffff3d74a60 "\300\024\003\364\377\177",
schema_name = 0x7fffffffdda8 "v\341\377\377\377\177",
table_name = 0x7fffffffddd8 "\350\341\377\377\377\177",
fid_column = 0x7ffff3d38ef0 "pa\227\363\377\177",
geom_column = 0x0, feature_type = SF_MULTILINESTRING,
coor_dim = 0, srid = -136410668, dbdriver = 0x1, fi =
0x0,
inTransaction = -204239120, conn = 0x7ffff3fa9db8,
res = 0x7fffffffdd00,

          cursor\_name = 0x7ffff7df006f

<_dl_runtime_resolve_sse+159> "I\211\303f\017\032\234$\260", cursor_fid
= 0, next_line = 0, cache = {lines = 0x0,
lines_types = 0x0, lines_cats = 0x40, lines_alloc =
1040,
lines_num = 0, lines_next = 64, fid = 1040, sf_type =
1088,
ctype = 0}, offset = {array = 0x10, array_num = 66,
array_alloc = 64},
topogeom_column = 0x2 <error: Cannot access memory at
address 0x2>, toposchema_name = 0x0, toposchema_id = 93, topo_geo_only
= 110}},
site_att = 0x0, n_site_att = 0, n_site_dbl = 0, n_site_str =
119}
catlist = 0x555555791380
Centers = 0x0
acentres = 0
ncentres = 0
Nodes = <optimized out>
Cats = 0x55555575efc0
Points = 0x555555791020
SPoints = 0x555555791350
niso = <optimized out>
aiso = <optimized out>
iso = 0x5555557913b0
npnts1 = <optimized out>
apnts1 = 0
npnts2 = <optimized out>

    apnts2 = 0
    pnts1 = 0x0
    pnts2 = 0x0
    next\_iso = &lt;optimized out&gt;

(gdb) l
141 in tavl.c

On Wed, Nov 16, 2016 at 7:14 PM, Eduardo Corbelle Rico <eduardo.corbelle@gmx.net> wrote:

O Mér, 16-11-2016 ás 15:22 +0100, Markus Metz escribiu:

On Wed, Nov 16, 2016 at 11:44 AM, Eduardo Corbelle Rico <eduardo.corb
elle@gmx.net> wrote:

O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:

On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:

On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

Dear all,

I am unable to use v.net.iso because of a “segmentation
fault”
error. I
have a script that used to work correctly in GRASS 6.4 (32
bit)
but
produces this error after I switched to GRASS 7.0.4 (64
bit).

If I try to follow both examples shown in https://grass.osg
eo.o
rg/g
rass
70/manuals/v.net.iso.html (using the Spearfish dataset for
GRASS 7)
the
same error appears:

Building graph…
Registering arcs…
Segmentation fault

The segmentation fault must happen in the vector libraries. I
tested
on Linux and can not reproduce the segmentation fault.
Valgrind
also
does not show anything that could cause a segmentation fault.
Can
you
provide a gdb backtrace?

Markus M

Thank you Markus,

My system is debian Stretch, and the following lines describe
my
attempt at generating a gdb backtrace. Please let me know if I
should
do otherwise.

So far so good. The module crashes in a library function that
comes
from libavl without modifications, but I can still not see why it
could cause a segmentation fault. Can you recompile with the
compiler
debugging option -g? gdb will then be able to provide more
information:

make distclean
CFLAGS=“-g” ./configure
make

optionally make install

Then start GRASS and use gdb for v.net.iso as before.

Markus M

Dear Markus,

Following those instructions does not seem to have changed the
resulting backtrace info (copied below). Maybe I missed something
along
the way?


Is this something Debian specific that debugging symbols must be
explicitly activated? Are you using GCC or another compiler?

Alternatively, you can also try valgrind:

CMD=“v.net.iso input=myroads_net output=myroads_net_iso
center_cats=1-100000 costs=1000,2000,5000 --o”
valgrind --tool=memcheck --log-file=v.net.iso.vg.log $CMD

Markus M

You were right: it was my fault not having grass-core-dbgsym and grass-
dev-dbgsym packages installed.

You do not need these packages when you compile from source.

I copied below the results of the
debugging commands:

================
GRASS 7.0.5 (spearfish60_grass7):~ > gdb which v.net.iso
GNU gdb (Debian 7.11.1-2+b1) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show
copying”
and “show warranty” for details.
This GDB was configured as “x86_64-linux-gnu”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type “help”.
Type “apropos word” to search for commands related to “word”…
Reading symbols from /usr/lib/grass70/bin/v.net.iso…Reading symbols
from /usr/lib/debug/.build-
id/5a/060fc6c3da41153d82601e3fa37ba6d88e9c6c.debug…done.
done.

(gdb) run input=myroads_net output=myroads_net_iso center_cats=1-100000
costs=1000,2000,5000

This seems to be the GRASS version installed with your package manager because make install installs by default to /usr/local/:

Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
[Thread debugging using libthread_db enabled]
Using host libthread_db library “/lib/x86_64-linux-
gnu/libthread_db.so.1”.
Building graph…
Registering arcs…

Program received signal SIGSEGV, Segmentation fault.
tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x55555599f
7b0)
at tavl.c:146
146 tavl.c: Non hai tal ficheiro ou directorio.
(gdb) bt full
#0 tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x55555
599f7b0)
at tavl.c:146
y = 0x0
z = 0x55555599b6c0
p = 0x0

At this stage (tavl.c:146), p should be equal to z, and p has been accessed previously, i.e. the segmentation fault should occur earlier. Therefore I suspect changes in tavl.c introduced when creating the package. You would need to remove all GRASS 7 packages from your system, then compile from source again.

Markus M

O Xov, 17-11-2016 ás 08:52 +0100, Markus Metz escribiu:

On Wed, Nov 16, 2016 at 7:14 PM, Eduardo Corbelle Rico <eduardo.corbe
lle@gmx.net> wrote:
>
> O Mér, 16-11-2016 ás 15:22 +0100, Markus Metz escribiu:
> >
> > On Wed, Nov 16, 2016 at 11:44 AM, Eduardo Corbelle Rico
<eduardo.corb
> > elle@gmx.net> wrote:
> > >
> > > O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:
> > > > On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
> > > > <eduardo.corbelle@gmx.net> wrote:
> > > > >
> > > > > O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:
> > > > > > On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
> > > > > > <eduardo.corbelle@gmx.net> wrote:
> > > > > > >
> > > > > > > Dear all,
> > > > > > >
> > > > > > > I am unable to use v.net.iso because of a "segmentation
> > fault"
> > > > > > > error. I
> > > > > > > have a script that used to work correctly in GRASS 6.4
(32
> > > > > > > bit)
> > > > > > > but
> > > > > > > produces this error after I switched to GRASS 7.0.4 (64
> > bit).
> > > > > > >
> > > > > > > If I try to follow both examples shown in https://grass
.osg
> > eo.o
> > > > > > > rg/g
> > > > > > > rass
> > > > > > > 70/manuals/v.net.iso.html (using the Spearfish dataset
for
> > > > > > > GRASS 7)
> > > > > > > the
> > > > > > > same error appears:
> > > > > > >
> > > > > > > > Building graph...
> > > > > > > > Registering arcs...
> > > > > > > > Segmentation fault
> > > > > >
> > > > > > The segmentation fault must happen in the vector
libraries. I
> > > > > > tested
> > > > > > on Linux and can not reproduce the segmentation fault.
> > Valgrind
> > > > > > also
> > > > > > does not show anything that could cause a segmentation
fault.
> > Can
> > > > > > you
> > > > > > provide a gdb backtrace?
> > > > > >
> > > > > > Markus M
> > > > >
> > > > > Thank you Markus,
> > > > >
> > > > > My system is debian Stretch, and the following lines
describe
> > my
> > > > > attempt at generating a gdb backtrace. Please let me know
if I
> > > > > should
> > > > > do otherwise.
> > > >
> > > > So far so good. The module crashes in a library function that
> > comes
> > > > from libavl without modifications, but I can still not see
why it
> > > > could cause a segmentation fault. Can you recompile with the
> > compiler
> > > > debugging option -g? gdb will then be able to provide more
> > > > information:
> > > >
> > > > make distclean
> > > > CFLAGS="-g" ./configure <configure options>
> > > > make
> > > >
> > > > optionally make install
> > > >
> > > > Then start GRASS and use gdb for v.net.iso as before.
> > > >
> > > > Markus M
> > > >
> > >
> > > Dear Markus,
> > >
> > > Following those instructions does not seem to have changed the
> > > resulting backtrace info (copied below). Maybe I missed
something
> > along
> > > the way?
> > >
> > > ---------------------
> >
> >
> > Is this something Debian specific that debugging symbols must be
> > explicitly activated? Are you using GCC or another compiler?
> >
> > Alternatively, you can also try valgrind:
> >
> > CMD="v.net.iso input=myroads_net output=myroads_net_iso
> > center_cats=1-100000 costs=1000,2000,5000 --o"
> > valgrind --tool=memcheck --log-file=v.net.iso.vg.log $CMD
> >
> > Markus M
> >
>
> You were right: it was my fault not having grass-core-dbgsym and
grass-
> dev-dbgsym packages installed.

You do not need these packages when you compile from source.

> I copied below the results of the
> debugging commands:
>
> ================
> GRASS 7.0.5 (spearfish60_grass7):~ > gdb `which v.net.iso`
> GNU gdb (Debian 7.11.1-2+b1) 7.11.1
> Copyright (C) 2016 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses
/gpl
> .html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/&gt;\.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/&gt;\.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from /usr/lib/grass70/bin/v.net.iso...Reading
symbols
> from /usr/lib/debug/.build-
> id/5a/060fc6c3da41153d82601e3fa37ba6d88e9c6c.debug...done.
> done.
>
>
> (gdb) run input=myroads_net output=myroads_net_iso center_cats=1-
100000
> costs=1000,2000,5000

This seems to be the GRASS version installed with your package
manager because make install installs by default to /usr/local/:
> Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
> output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-
> gnu/libthread_db.so.1".
> Building graph...
> Registering arcs...
>
> Program received signal SIGSEGV, Segmentation fault.
> tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x55555
599f
> 7b0)
> at tavl.c:146
> 146 tavl.c: Non hai tal ficheiro ou directorio.
> (gdb) bt full
> #0 tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x5
5555
> 599f7b0)
> at tavl.c:146
> y = 0x0
> z = 0x55555599b6c0
> p = 0x0

At this stage (tavl.c:146), p should be equal to z, and p has been
accessed previously, i.e. the segmentation fault should occur
earlier. Therefore I suspect changes in tavl.c introduced when
creating the package. You would need to remove all GRASS 7 packages
from your system, then compile from source again.

Markus M

Ok. It seems that I was still running the version installed with the
package manager. When using the version compiled from source, the
segmentation error does not appear at all.

Thank you very much.

Eduardo

On Fri, Nov 18, 2016 at 4:48 PM, Eduardo Corbelle Rico <eduardo.corbelle@gmx.net> wrote:

O Xov, 17-11-2016 ás 08:52 +0100, Markus Metz escribiu:

On Wed, Nov 16, 2016 at 7:14 PM, Eduardo Corbelle Rico <eduardo.corbe
lle@gmx.net> wrote:

O Mér, 16-11-2016 ás 15:22 +0100, Markus Metz escribiu:

On Wed, Nov 16, 2016 at 11:44 AM, Eduardo Corbelle Rico
<eduardo.corb
elle@gmx.net> wrote:

O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:

On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:

On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle Rico
<eduardo.corbelle@gmx.net> wrote:

Dear all,

I am unable to use v.net.iso because of a “segmentation
fault”
error. I
have a script that used to work correctly in GRASS 6.4
(32
bit)
but
produces this error after I switched to GRASS 7.0.4 (64
bit).

If I try to follow both examples shown in https://grass
.osg
eo.o
rg/g
rass
70/manuals/v.net.iso.html (using the Spearfish dataset
for
GRASS 7)
the
same error appears:

Building graph…
Registering arcs…
Segmentation fault

The segmentation fault must happen in the vector
libraries. I
tested
on Linux and can not reproduce the segmentation fault.
Valgrind
also
does not show anything that could cause a segmentation
fault.
Can
you
provide a gdb backtrace?

Markus M

Thank you Markus,

My system is debian Stretch, and the following lines
describe
my
attempt at generating a gdb backtrace. Please let me know
if I
should
do otherwise.

So far so good. The module crashes in a library function that
comes
from libavl without modifications, but I can still not see
why it
could cause a segmentation fault. Can you recompile with the
compiler
debugging option -g? gdb will then be able to provide more
information:

make distclean
CFLAGS=“-g” ./configure
make

optionally make install

Then start GRASS and use gdb for v.net.iso as before.

Markus M

Dear Markus,

Following those instructions does not seem to have changed the
resulting backtrace info (copied below). Maybe I missed
something
along
the way?


Is this something Debian specific that debugging symbols must be
explicitly activated? Are you using GCC or another compiler?

Alternatively, you can also try valgrind:

CMD=“v.net.iso input=myroads_net output=myroads_net_iso
center_cats=1-100000 costs=1000,2000,5000 --o”
valgrind --tool=memcheck --log-file=v.net.iso.vg.log $CMD

Markus M

You were right: it was my fault not having grass-core-dbgsym and
grass-
dev-dbgsym packages installed.

You do not need these packages when you compile from source.

I copied below the results of the
debugging commands:

================
GRASS 7.0.5 (spearfish60_grass7):~ > gdb which v.net.iso
GNU gdb (Debian 7.11.1-2+b1) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses
/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show
copying”
and “show warranty” for details.
This GDB was configured as “x86_64-linux-gnu”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type “help”.
Type “apropos word” to search for commands related to “word”…
Reading symbols from /usr/lib/grass70/bin/v.net.iso…Reading
symbols
from /usr/lib/debug/.build-
id/5a/060fc6c3da41153d82601e3fa37ba6d88e9c6c.debug…done.
done.

(gdb) run input=myroads_net output=myroads_net_iso center_cats=1-
100000
costs=1000,2000,5000

This seems to be the GRASS version installed with your package
manager because make install installs by default to /usr/local/:

Starting program: /usr/lib/grass70/bin/v.net.iso input=myroads_net
output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
[Thread debugging using libthread_db enabled]
Using host libthread_db library “/lib/x86_64-linux-
gnu/libthread_db.so.1”.
Building graph…
Registering arcs…

Program received signal SIGSEGV, Segmentation fault.
tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x55555
599f
7b0)
at tavl.c:146
146 tavl.c: Non hai tal ficheiro ou directorio.
(gdb) bt full
#0 tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x5
5555
599f7b0)
at tavl.c:146
y = 0x0
z = 0x55555599b6c0
p = 0x0

At this stage (tavl.c:146), p should be equal to z, and p has been
accessed previously, i.e. the segmentation fault should occur
earlier. Therefore I suspect changes in tavl.c introduced when
creating the package. You would need to remove all GRASS 7 packages
from your system, then compile from source again.

Markus M

Ok. It seems that I was still running the version installed with the
package manager. When using the version compiled from source, the
segmentation error does not appear at all.

Thank you very much.

Can you please report to the responsible Debian package manager that the GRASS 7.0.5 package produces a segmentation fault while the original source code works fine? You would do a big favour to other GRASS users on Debian.

Thanks,

Markus M

O Ven, 18-11-2016 ás 22:45 +0100, Markus Metz escribiu:

On Fri, Nov 18, 2016 at 4:48 PM, Eduardo Corbelle Rico <eduardo.corbe
lle@gmx.net> wrote:
>
>
> O Xov, 17-11-2016 ás 08:52 +0100, Markus Metz escribiu:
> >
> > On Wed, Nov 16, 2016 at 7:14 PM, Eduardo Corbelle Rico
<eduardo.corbe
> > lle@gmx.net> wrote:
> > >
> > > O Mér, 16-11-2016 ás 15:22 +0100, Markus Metz escribiu:
> > > >
> > > > On Wed, Nov 16, 2016 at 11:44 AM, Eduardo Corbelle Rico
> > <eduardo.corb
> > > > elle@gmx.net> wrote:
> > > > >
> > > > > O Xov, 27-10-2016 ás 14:56 +0200, Markus Metz escribiu:
> > > > > > On Thu, Oct 27, 2016 at 11:16 AM, Eduardo Corbelle Rico
> > > > > > <eduardo.corbelle@gmx.net> wrote:
> > > > > > >
> > > > > > > O Mér, 26-10-2016 ás 23:18 +0200, Markus Metz escribiu:
> > > > > > > > On Thu, Oct 13, 2016 at 9:55 AM, Eduardo Corbelle
Rico
> > > > > > > > <eduardo.corbelle@gmx.net> wrote:
> > > > > > > > >
> > > > > > > > > Dear all,
> > > > > > > > >
> > > > > > > > > I am unable to use v.net.iso because of a
"segmentation
> > > > fault"
> > > > > > > > > error. I
> > > > > > > > > have a script that used to work correctly in GRASS
6.4
> > (32
> > > > > > > > > bit)
> > > > > > > > > but
> > > > > > > > > produces this error after I switched to GRASS 7.0.4
(64
> > > > bit).
> > > > > > > > >
> > > > > > > > > If I try to follow both examples shown in https://g
rass
> > .osg
> > > > eo.o
> > > > > > > > > rg/g
> > > > > > > > > rass
> > > > > > > > > 70/manuals/v.net.iso.html (using the Spearfish
dataset
> > for
> > > > > > > > > GRASS 7)
> > > > > > > > > the
> > > > > > > > > same error appears:
> > > > > > > > >
> > > > > > > > > > Building graph...
> > > > > > > > > > Registering arcs...
> > > > > > > > > > Segmentation fault
> > > > > > > >
> > > > > > > > The segmentation fault must happen in the vector
> > libraries. I
> > > > > > > > tested
> > > > > > > > on Linux and can not reproduce the segmentation
fault.
> > > > Valgrind
> > > > > > > > also
> > > > > > > > does not show anything that could cause a
segmentation
> > fault.
> > > > Can
> > > > > > > > you
> > > > > > > > provide a gdb backtrace?
> > > > > > > >
> > > > > > > > Markus M
> > > > > > >
> > > > > > > Thank you Markus,
> > > > > > >
> > > > > > > My system is debian Stretch, and the following lines
> > describe
> > > > my
> > > > > > > attempt at generating a gdb backtrace. Please let me
know
> > if I
> > > > > > > should
> > > > > > > do otherwise.
> > > > > >
> > > > > > So far so good. The module crashes in a library function
that
> > > > comes
> > > > > > from libavl without modifications, but I can still not
see
> > why it
> > > > > > could cause a segmentation fault. Can you recompile with
the
> > > > compiler
> > > > > > debugging option -g? gdb will then be able to provide
more
> > > > > > information:
> > > > > >
> > > > > > make distclean
> > > > > > CFLAGS="-g" ./configure <configure options>
> > > > > > make
> > > > > >
> > > > > > optionally make install
> > > > > >
> > > > > > Then start GRASS and use gdb for v.net.iso as before.
> > > > > >
> > > > > > Markus M
> > > > > >
> > > > >
> > > > > Dear Markus,
> > > > >
> > > > > Following those instructions does not seem to have changed
the
> > > > > resulting backtrace info (copied below). Maybe I missed
> > something
> > > > along
> > > > > the way?
> > > > >
> > > > > ---------------------
> > > >
> > > >
> > > > Is this something Debian specific that debugging symbols must
be
> > > > explicitly activated? Are you using GCC or another compiler?
> > > >
> > > > Alternatively, you can also try valgrind:
> > > >
> > > > CMD="v.net.iso input=myroads_net output=myroads_net_iso
> > > > center_cats=1-100000 costs=1000,2000,5000 --o"
> > > > valgrind --tool=memcheck --log-file=v.net.iso.vg.log $CMD
> > > >
> > > > Markus M
> > > >
> > >
> > > You were right: it was my fault not having grass-core-dbgsym
and
> > grass-
> > > dev-dbgsym packages installed.
> >
> > You do not need these packages when you compile from source.
> >
> > > I copied below the results of the
> > > debugging commands:
> > >
> > > ================
> > > GRASS 7.0.5 (spearfish60_grass7):~ > gdb `which v.net.iso`
> > > GNU gdb (Debian 7.11.1-2+b1) 7.11.1
> > > Copyright (C) 2016 Free Software Foundation, Inc.
> > > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/lice
nses
> > /gpl
> > > .html>
> > > This is free software: you are free to change and redistribute
it.
> > > There is NO WARRANTY, to the extent permitted by law. Type
"show
> > > copying"
> > > and "show warranty" for details.
> > > This GDB was configured as "x86_64-linux-gnu".
> > > Type "show configuration" for configuration details.
> > > For bug reporting instructions, please see:
> > > <http://www.gnu.org/software/gdb/bugs/&gt;\.
> > > Find the GDB manual and other documentation resources online
at:
> > > <http://www.gnu.org/software/gdb/documentation/&gt;\.
> > > For help, type "help".
> > > Type "apropos word" to search for commands related to "word"...
> > > Reading symbols from /usr/lib/grass70/bin/v.net.iso...Reading
> > symbols
> > > from /usr/lib/debug/.build-
> > > id/5a/060fc6c3da41153d82601e3fa37ba6d88e9c6c.debug...done.
> > > done.
> > >
> > >
> > > (gdb) run input=myroads_net output=myroads_net_iso
center_cats=1-
> > 100000
> > > costs=1000,2000,5000
> >
> > This seems to be the GRASS version installed with your package
> > manager because make install installs by default to /usr/local/:
> > > Starting program: /usr/lib/grass70/bin/v.net.iso
input=myroads_net
> > > output=myroads_net_iso center_cats=1-100000
costs=1000,2000,5000
> > > [Thread debugging using libthread_db enabled]
> > > Using host libthread_db library "/lib/x86_64-linux-
> > > gnu/libthread_db.so.1".
> > > Building graph...
> > > Registering arcs...
> > >
> > > Program received signal SIGSEGV, Segmentation fault.
> > > tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry=0x5
5555
> > 599f
> > > 7b0)
> > > at tavl.c:146
> > > 146 tavl.c: Non hai tal ficheiro ou directorio.
> > > (gdb) bt full
> > > #0 tavl_probe (tree=tree@entry=0x55555599b6c0, item=item@entry
=0x5
> > 5555
> > > 599f7b0)
> > > at tavl.c:146
> > > y = 0x0
> > > z = 0x55555599b6c0
> > > p = 0x0
> >
> > At this stage (tavl.c:146), p should be equal to z, and p has
been
> > accessed previously, i.e. the segmentation fault should occur
> > earlier. Therefore I suspect changes in tavl.c introduced when
> > creating the package. You would need to remove all GRASS 7
packages
> > from your system, then compile from source again.
> >
> > Markus M
>
>
> Ok. It seems that I was still running the version installed with
the
> package manager. When using the version compiled from source, the
> segmentation error does not appear at all.
>
> Thank you very much.

Can you please report to the responsible Debian package manager that
the GRASS 7.0.5 package produces a segmentation fault while the
original source code works fine? You would do a big favour to other
GRASS users on Debian.

Thanks,

Markus M

Done. Thank you for your time.

Greetings,

Eduardo