vtk 4.2 segfault assemplytest
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
When running the following example on several computers running both Redhat 7.3 and Debian SID with VTK 4.2, python consistently segfaults when positioning the mouse in the center of the spheres and pressing 'p' to pick the assembly. If one has problems "hitting the spot", try moving the mouse pointer around while repeatedly striking 'p'.
The example could not be repeated with fewer than 7 spheres/actors in the assembly.
Backtrace from running 'gdb python' then importing the assemblytest:
#0 0x4010c915 in mallopt () from /lib/libc.so.6 #1 0x4010b6ff in free () from /lib/libc.so.6 #2 0x40793fa3 in operator delete(void*) () from /usr/lib/libstdc++.so.5 #3 0x40793fff in operator delete () from /usr/lib/libstdc++.so.5 #4 0x41633921 in vtkRenderer::PickProp(float, float) () from /usr/lib/libvtkRendering.so #5 0x406966b0 in vtkViewport::PickPropFrom(float, float, vtkPropCollection*) () from /usr/lib/libvtkCommon.so #6 0x4161eaad in vtkPropPicker::PickProp(float, float, vtkRenderer*) () from /usr/lib/libvtkRendering.so #7 0x4161ea06 in vtkPropPicker::Pick(float, float, float, vtkRenderer*) () from /usr/lib/libvtkRendering.so #8 0x415e3ae2 in vtkInteractorStyle::OnChar() () from /usr/lib/libvtkRendering.so #9 (closed) 0x415e4539 in vtkInteractorStyle::ProcessEvents(vtkObject*, unsigned long, void*, void*) () from /usr/lib/libvtkRendering.so #10 0x405b3d55 in vtkCallbackCommand::Execute(vtkObject*, unsigned long, void*) () from /usr/lib/libvtkCommon.so #11 (closed) 0x406379ba in vtkSubjectHelper::InvokeEvent(unsigned long, void*, vtkObject*) () from /usr/lib/libvtkCommon.so #12 0x40637d46 in vtkObject::InvokeEvent(unsigned long, void*) () from /usr/lib/libvtkCommon.so #13 0x41685b76 in vtkXRenderWindowInteractorCallback(_WidgetRec*, void*, _XEvent*, char*) () from /usr/lib/libvtkRendering.so #14 0x41992c57 in XtDispatchEventToWidget () from /usr/X11R6/lib/libXt.so.6 #15 0x41993538 in _XtOnGrabList () from /usr/X11R6/lib/libXt.so.6 #16 0x419936eb in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6 #17 0x41684e0e in vtkXRenderWindowInteractor::Start() () from /usr/lib/libvtkRendering.so #18 0x4147b44c in PyVTKClass_vtkWorldPointPickerNew () from /usr/lib/python2.3/site-packages/vtk_python/libvtkRenderingPython.so #19 0x080f0940 in PyCFunction_Call () #20 0x080a3d32 in PyEval_CallObjectWithKeywords () #21 0x080a2250 in Py_MakePendingCalls ()
Example code: #************* assemblytest.py ************* import vtk
def genActor(center): sphereSource = vtk.vtkSphereSource() sphereSource.SetCenter(center) mapper = vtk.vtkPolyDataMapper() mapper.SetInput(sphereSource.GetOutput()) actor = vtk.vtkActor() actor.SetMapper(mapper) return actor
assembly = vtk.vtkAssembly() assembly.AddPart(genActor([1, 1, 1])) assembly.AddPart(genActor([0, 1, 1])) assembly.AddPart(genActor([1, 0, 1])) assembly.AddPart(genActor([0, 0, 1])) assembly.AddPart(genActor([1, 1, 0])) assembly.AddPart(genActor([0, 1, 0])) assembly.AddPart(genActor([1, 0, 0])) assembly.AddPart(genActor([0, 0, 0]))
ren = vtk.vtkRenderer() ren.AddActor(assembly)
renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren)
iren = vtk.vtkRenderWindowInteractor () iren.SetRenderWindow(renWin)
iren.Initialize() iren.Start()