[Paraview] Bad Code Generated for Remote Module (Maybe)
Kent Eschenberg
eschenbe at psc.edu
Mon Jul 3 15:47:24 EDT 2006
It *seems* that bad server code has been generated for a remote module
named "vtkCloud" that I am building. Note the emphasis on "seem" - it could
be that the gdb debugger has become confused. A few details:
Pentium III
CentOS release 4.3 (Final)
Linux 2.6.9-34.0.1.EL
gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)
paraview 2.4.3
The initial problem was that in vtkCloud::RequestData
vtkDataArray *D = this->GetInputArrayToProcess( 0, inputVector )
always returns 0 for D. However, as I poked around with gdb, it seems that
this might be caused by a deeper problem.
I put a breakpoint in
.../Servers/Filters/vtkCloudClientServer.cxx
==>vtkCloudCommand
I single-stepped down to where it jumped into
.../Utilities/VTKClientServer/Filtering
/vtkPolyDataAlgorithmClientServer.cxx
==>vtkPolyDataAlgorithmCommand
then onward to
.../Utilities/VTKClientServer/Filtering
/vtkAlgorithmClientServer.cxx
==> vtkAlgorithmCommand
then down (in the same file) to
op->SetInputArrayToProcess(temp0,
temp1,temp2,temp3,temp4)
This is the version where the 5th argument is a string. Then I entered "s"
and see
0x0a543bf8 in vtkAlgorithm::SetInputArrayToProcess ()
at .../Utilities/VTKClientServer/Common
/vtkPlaneCollectionClientServer.cxx:11
11 vtkObjectBase *vtkPlaneCollectionClientServerNewCommand()
WHAT? How did I get to vtkPlaneCollection? This is repeatable.
To try a different approach I started over and in vtkCloud::RequestData at
vtkDataArray *D = this->GetInputArrayToProcess( 0, inputVector )
stepped one instruction to see
0x0a543cc0 in vtkAlgorithm::GetInputArrayToProcess ()
at .../Utilities/VTKClientServer/Common
/vtkPlaneCollectionClientServer.cxx:11
11 vtkObjectBase *vtkPlaneCollectionClientServerNewCommand()
Obviously most ParaView routines can set/get the input array just fine. The
difference is that I have set PARAVIEW_EXTRA_EXTERNAL_MODULES to add two
modules (vtkCloud and another one). Is it possible that cmake or something
else has gotten confused?
Thanks in advance!
Kent
Pittsburgh Supercomputing Center
More information about the ParaView
mailing list