View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000189VTK(No Category)public2003-09-24 07:412016-08-12 09:54
Reportervtkbug 
Assigned ToKen Martin 
PriorityhighSeverityminorReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000189: vtk 4.2 segfault assemplytest
DescriptionWhen 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[](void*) () 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
0000009 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
0000011 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()
TagsNo tags attached.
Project
Type
Attached Files

 Relationships

  Notes
(0000341)
Mathieu Malaterre (developer)
2003-12-11 17:44

Could confirned the bug.

(gdb) bt
#0 0x00b69230 in main_arena () from /lib/tls/libc.so.6
#1 0x0085edca in vtkPointSet::GetMTime() (this=0x99a47c0) at /home/malaterre/Kitware/VTK/Common/vtkPointSet.cxx:93
#2 0x02849693 in vtkOpenGLPolyDataMapper::RenderPiece(vtkRenderer*, vtkActor*) (this=0x99a4b18, ren=0x99a5b30, act=0x99a4e40)
    at /home/malaterre/Kitware/VTK/Rendering/vtkOpenGLPolyDataMapper.cxx:206
#3 0x027a9ce1 in vtkPolyDataMapper::Render(vtkRenderer*, vtkActor*) (this=0x99a4b18, ren=0x99a5b30, act=0x99a4e40)
    at /home/malaterre/Kitware/VTK/Rendering/vtkPolyDataMapper.cxx:64
#4 0x0283f6bf in vtkOpenGLActor::Render(vtkRenderer*, vtkMapper*) (this=0x99a4e40, ren=0x99a5b30, mapper=0x99a4b18)
    at /home/malaterre/Kitware/VTK/Rendering/vtkOpenGLActor.cxx:94
#5 0x0272488f in vtkActor::RenderOpaqueGeometry(vtkViewport*) (this=0x99a4e40, vp=0x99a5b30) at /home/malaterre/Kitware/VTK/Rendering/vtkActor.cxx:175
#6 0x027ca09b in vtkRenderer::PickGeometry() (this=0x99a5b30) at /home/malaterre/Kitware/VTK/Rendering/vtkRenderer.cxx:1350
#7 0x028567fe in vtkOpenGLRenderer::DevicePickRender() (this=0x99a5b30) at /home/malaterre/Kitware/VTK/Rendering/vtkOpenGLRenderer.cxx:259
#8 0x027c9f94 in vtkRenderer::PickRender(vtkPropCollection*) (this=0x99a5b30, props=0x99a56d8)
    at /home/malaterre/Kitware/VTK/Rendering/vtkRenderer.cxx:1320
0000009 0x027c9772 in vtkRenderer::PickProp(float, float) (this=0x99a5b30, selectionX=152, selectionY=146)
    at /home/malaterre/Kitware/VTK/Rendering/vtkRenderer.cxx:1205
#10 0x008bc879 in vtkViewport::PickPropFrom(float, float, vtkPropCollection*) (this=0x99a5b30, selectionX=152, selectionY=146, pickfrom=0x0)
    at /home/malaterre/Kitware/VTK/Common/vtkViewport.cxx:568
0000011 0x027b1155 in vtkPropPicker::PickProp(double, double, vtkRenderer*) (this=0x99a9cd8, selectionX=152, selectionY=146, renderer=0x99a5b30)
    at /home/malaterre/Kitware/VTK/Rendering/vtkPropPicker.cxx:80
#12 0x027b1029 in vtkPropPicker::Pick(double, double, double, vtkRenderer*) (this=0x99a9cd8, selectionX=152, selectionY=146, renderer=0x99a5b30)
    at /home/malaterre/Kitware/VTK/Rendering/vtkPropPicker.cxx:48
#13 0x0276ed70 in vtkInteractorStyle::OnChar() (this=0x99a7b80) at /home/malaterre/Kitware/VTK/Rendering/vtkInteractorStyle.cxx:795
#14 0x0276f710 in vtkInteractorStyle::ProcessEvents(vtkObject*, unsigned long, void*, void*) (event=21, clientdata=0x99a7b80)
    at /home/malaterre/Kitware/VTK/Rendering/vtkInteractorStyle.cxx:1048
#15 0x00791020 in vtkCallbackCommand::Execute(vtkObject*, unsigned long, void*) (this=0x99a7c00, caller=0x99a61e0, event=21, callData=0x0)
    at /home/malaterre/Kitware/VTK/Common/vtkCallbackCommand.cxx:41
#16 0x0083e234 in vtkSubjectHelper::InvokeEvent(unsigned long, void*, vtkObject*) (this=0x99a9a60, event=21, callData=0x0, self=0x99a61e0)
    at /home/malaterre/Kitware/VTK/Common/vtkObject.cxx:482
#17 0x0083e686 in vtkObject::InvokeEvent(unsigned long, void*) (this=0x99a61e0, event=21, callData=0x0)
    at /home/malaterre/Kitware/VTK/Common/vtkObject.cxx:625
#18 0x0283e906 in vtkXRenderWindowInteractorCallback(_WidgetRec*, void*, _XEvent*, char*) (client_data=0x99a61e0, event=0xbfed45f0)
    at /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:607
#19 0x0095c8cf in XtDispatchEventToWidget () from /usr/X11R6/lib/libXt.so.6
#20 0x0095d3e4 in _XtOnGrabList () from /usr/X11R6/lib/libXt.so.6
#21 0x0095d59f in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6
#22 0x0283d47d in vtkXRenderWindowInteractor::Start() (this=0x99a61e0) at /home/malaterre/Kitware/VTK/Rendering/vtkXRenderWindowInteractor.cxx:169
#23 0x0545160c in PyvtkXRenderWindowInteractor_Start (self=0x99a9e40, args=0x9842254)
    at /home/malaterre/Kitware/VTKBin/Rendering/vtkXRenderWindowInteractorPython.cxx:345
#24 0x080d1a79 in PyCFunction_Call ()
#25 0x0807b1c0 in PyEval_EvalCode ()
#26 0x09842254 in ?? ()
(0001055)

2004-05-17 13:04

Could reproduce the bug in Java.
(0001056)
Mathieu Malaterre (developer)
2004-05-17 13:05

Could also reproduce the bug in Java
(0001057)
Mathieu Malaterre (developer)
2004-05-17 13:18

Adding c++ version, for debug:

#include "vtkSphereSource.h"
#include "vtkActor.h"
#include "vtkPolyDataMapper.h"
#include "vtkAssembly.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"

vtkActor* genActor(double x, double y, double z)
{
  vtkSphereSource *sphereSource = vtkSphereSource::New();
  sphereSource->SetCenter(x,y,z);
  vtkPolyDataMapper *mapper = vtkPolyDataMapper::New();
  mapper->SetInput(sphereSource->GetOutput());
  vtkActor *actor = vtkActor::New();
  actor->SetMapper(mapper);

  mapper->Delete();
  sphereSource->Delete();

  return actor;
}


int main()
{
  vtkAssembly *assembly = vtkAssembly::New();
  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));

  vtkRenderer *ren = vtkRenderer::New();
  ren->AddActor(assembly);

  vtkRenderWindow *renWin = vtkRenderWindow::New();
  renWin->AddRenderer(ren);

  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
  iren->SetRenderWindow(renWin);

  iren->Initialize();
  iren->Start();
  
  assembly->Delete();
  ren->Delete();
  renWin->Delete();
  iren->Delete();
  
  return 0;
}
(0001071)
Mathieu Malaterre (developer)
2004-05-18 10:34

Fixed in CVS:
Apply this patch if you want:
http://vtk.org/cgi-bin/cvsweb.cgi/VTK/Rendering/vtkPicker.cxx.diff?r1=1.88&r2=1.89 [^]
(0003457)
Utsav Pardasani (reporter)
2005-12-19 12:57

The patch works great. Thanks.

I needed it for VTK 4.4. I was getting messy crashes. This solved the problem.
(0036699)
Kitware Robot (administrator)
2016-08-12 09:54

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2007-08-07 13:24 Bill Hoffman Category => Test Category
2007-08-07 13:24 Bill Hoffman Summary Goodsite => vtk 4.2 segfault assemplytest
2007-08-07 13:24 Bill Hoffman Project @2@ => VTK
2007-08-28 16:01 Zack Galbreath Note Deleted: 0008208
2011-06-16 13:12 Zack Galbreath Category Test Category => (No Category)
2016-08-12 09:54 Kitware Robot Note Added: 0036699
2016-08-12 09:54 Kitware Robot Status expired => closed
2016-08-12 09:54 Kitware Robot Resolution fixed => moved


Copyright © 2000 - 2018 MantisBT Team