[GRASS-dev] frequent segfaults of tcl/tk windows on a 64bit box

Hi

Does anyone experience frequent segfaults of the autogenerated tcl/tk
windows on 64bit GNU/Linux machines like me?

On several 32bit machines it never happens, but on the 64bit one it
happens very often, both in GRASS 6.3 and 6.2, built and running
against tcl/tk 8.4.12 on Ubuntu Dapper. It's been so for few months
now. No matter what command. The crash has random nature. Sometimes the
same command works few times in a row, sometimes it crashes right after
I press the "Run" button.

For example, the following command run from tcl/tk GUI inside gdb:

v.overlay ainput="lulc_obszar_mestichblatt@lulc_dhdn" atype="area"
alayer=1 binput="lulc_obszar_utm25k@lulc_utm25k" btype="area" blayer=1
output="union" operator="and" olayer=1,0,0

crashed like this:

$ gdb v.overlay
(gdb) run
Starting program: /usr/local/grass-6.3.cvs/bin/v.overlay
[Thread debugging using libthread_db enabled]
[New Thread 46912562427840 (LWP 18035)]
warning: Lowest section in /usr/lib/libicudata.so.34 is .hash at
00000000000000e8

Program exited with code 01.
(gdb) bt
No stack.

Core was dumped, so I run:

$ gdb -c core.16726
This GDB was configured as "x86_64-linux-gnu".
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `wish'.
Program terminated with signal 11, Segmentation fault.
#0 0x00002aaaaac11768 in ?? ()
(gdb) bt
#0 0x00002aaaaac11768 in ?? ()
(gdb)

Not much information here I guess. The output vector is broken:

$ v.info union
ERROR: Cannot open existing vector <union@oir> on level [2]

$ v.build union
WARNING: coor files of vector 'union@oir' is larger than it should be
         (36730 bytes excess).
Building topology ...
0 primitives registered
0 areas built
0 isles built
Attaching islands:
Attaching centroids: Topology was built.
Number of nodes : 0
Number of primitives: 0
Number of points : 0
Number of lines : 0
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0

So it's empty. There should be one area instead. Moreover, the v.build
run takes surprisingly long I guess - about 5 seconds, on an Intel Core
Duo E6600 2,4 GHz running 2.6.15-29-amd64-xeon.

Does anybody know how to solve the problem? Is it a matter of tlc/tk or
GRASS?

Maciek

Maciej Sieczka wrote on 09/16/2007 02:49 PM:

Hi

Does anyone experience frequent segfaults of the autogenerated tcl/tk
windows on 64bit GNU/Linux machines like me?
  

Hi Maciej,

I am working on two different 64bit GNU/Linux machines (RHEL4 and
Mandriva 2007.1)
and never had such problems. I just tried v.overlay and it finished with
"complete".

The file doc/debugging.txt contains some hints for TclTk debugging.
...

Does anybody know how to solve the problem? Is it a matter of tlc/tk or
GRASS?
  

Or your system installation?

Markus

------------------
ITC -> dall'1 marzo 2007 Fondazione Bruno Kessler
ITC -> since 1 March 2007 Fondazione Bruno Kessler
------------------

Maciej Sieczka wrote:

Does anyone experience frequent segfaults of the autogenerated tcl/tk
windows on 64bit GNU/Linux machines like me?

Core was dumped, so I run:

$ gdb -c core.16726
This GDB was configured as "x86_64-linux-gnu".
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `wish'.
Program terminated with signal 11, Segmentation fault.

Does anybody know how to solve the problem? Is it a matter of tlc/tk or
GRASS?

It's "wish" that's crashing, which suggests a problem with your Tcl/Tk
installation. Nothing that GRASS does should be able to make wish
segfault.

--
Glynn Clements <glynn@gclements.plus.com>