[vtkusers] Old Linux:vtkRenderWidgetConeExample() SIGSEGV

Donna Hanlon donna at v1.wustl.edu
Mon Nov 25 10:29:17 EST 2002


Hi,

I have the following combination working well on IRIX 6.4, Solaris 8,
and Linux Red Hat 7.1:

tcl/tk tk8.2.3
Python 2.1.3
VTK Version vtk version 4.1.1, vtk source 1.1358 2002/10/05

When I execute these commands in python, I see a cone:

>>> import vtk.tk.vtkTkRenderWidget
>>> vtk.tk.vtkTkRenderWidget.vtkRenderWidgetConeExample()

When I build the same combination on an older Linux box,
vtk.tk.vtkTkRenderWidget appears to import okay, but when I try
vtk.tk.vtkTkRenderWidget.vtkRenderWidgetConeExample(), python crashes:

Program received signal SIGSEGV, Segmentation fault.
0x40156973 in Tcl_HashStats () from
/home/donna/SureFitSrc/SureFitBin.Linux.11.22.2002/lib/libtcl8.2g.so
(gdb) where
#0  0x40156973 in Tcl_HashStats () from
/home/donna/SureFitSrc/SureFitBin.Linux.11.22.2002/lib/libtcl8.2g.so
#1  0x40156a5d in Tcl_HashStats () from
/home/donna/SureFitSrc/SureFitBin.Linux.11.22.2002/lib/libtcl8.2g.so
#2  0x4005b685 in Tk_GetUid () from
/home/donna/SureFitSrc/SureFitBin.Linux.11.22.2002/lib/libtk8.2g.so
#3  0x40064e76 in Tk_ConfigureWidget () from
/home/donna/SureFitSrc/SureFitBin.Linux.11.22.2002/lib/libtk8.2g.so
#4  0x426e9cd5 in vtkTkRenderWidget_Configure(Tcl_Interp*,
vtkTkRenderWidget*, int, char**, int) ()

Here is the contents of this machine's /etc/issue:

Red Hat Linux release 6.1 (Cartman)
Kernel 2.2.12-20 on an i686

Python, tcl/tk, and vtk were build using gcc-3.0.4 (tried with both
static and shared stdlibc++ -- same result).

The crash occurs in "Pass one" of Tk_ConfigureWidget, defined in
tk/generic/tkOldConfig.c. When I try to compare what is going on just
before the crash with what happens on the well-behaved platforms, it
appears that the latter are using some other Tk_ConfigureWidget (i.e.,
they don't seem to be using the one defined in tkOldConfig.c).  The
following comment appears in tkOldConfig.c:

 * tkOldConfig.c --
 *
 *	This file contains the Tk_ConfigureWidget procedure. THIS FILE
 *	IS HERE FOR BACKWARD COMPATIBILITY; THE NEW CONFIGURATION
 *	PACKAGE SHOULD BE USED FOR NEW PROJECTS.

Can anyone help me figure out what is going on?  I really want to get
vtkTkRenderWidget working on this older Linux box.  Any hints would be
appreciated.

Donna



More information about the vtkusers mailing list