[vtk-developers] InvokeEvent test randomly failing quiz
Ken Martin
ken.martin at kitware.com
Tue Nov 1 10:33:08 EDT 2016
OK here is a puzzle. We have a test that is occasionally failing and I
suspect it fails due to random python order of deletion of vtk objects.
The relevant python code is below. It fails when unregistering a vtkObject
and I suspect it is failing when invoking an callback during the
unregisterinternal method see the stack trace. So maybe python has deleted
the object from its maps but then it gets used in a callback for another
object being deleted? Again my python foo is weak but maybe we have to
unregister the anyEvent observer before the end of the script? Maybe
something else?
@vtk.calldata_type(vtk.VTK_OBJECT)
def callbackObj(self, caller, event, calldata):
self.calldata = calldata
def setUp(self):
self.vtkObj = vtk.vtkObject()
self.vtkObjForCallData = vtk.vtkObject()
def test_obj(self):
self.vtkObj.AddObserver(vtk.vtkCommand.AnyEvent, self.callbackObj)
self.vtkObj.InvokeEvent(vtk.vtkCommand.ModifiedEvent,
self.vtkObjForCallData)
self.assertEqual(self.calldata, self.vtkObjForCallData)
0x7f98bd3e8770 : ??? [(???) ???:-1]
0x7f98bd19b778 : vtkPythonCommand::Execute(vtkObject*, unsigned long,
void*) [(libvtkWrappingPython35Core-7.1.so.1) ???:-1]
0x7f98bcb9fd7e : ??? [(???) ???:-1]
0x7f98bcba000c : vtkObject::UnRegisterInternal(vtkObjectBase*, int)
[(libvtkCommonCore-7.1.so.1) ???:-1]
0x7f98bd19f045 : vtkPythonUtil::RemoveObjectFromMap(_object*)
[(libvtkWrappingPython35Core-7.1.so.1) ???:-1]
0x7f98bd1a5b30 : PyVTKObject_Delete
[(libvtkWrappingPython35Core-7.1.so.1) ???:-1]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20161101/a55b7ab9/attachment-0001.html>
More information about the vtk-developers
mailing list