Hi Hong,
It looks like you've found a bug in ParaView, there probably should be a
check preventing this division when the render window is empty. However,
it's likely a non issue when FPEs are disabled, which I believe is the
default. Could you search the vtkPVConfig.h file (found in build/install
dir) for PARAVIEW_ENABLE_FPE? If this is defined during the build then
PV will enable FPE's when it starts. If that's the case in your build,
then a quick fix for you would be to rebuild with that feature disabled.
If that's not the case in your build, FPE's must be being enabled by a
library that's being linked in. You may have to inquire about this with
your sys admins, if they know of any such library.
Burlen
On 02/27/2013 10:01 AM, Hong Yi wrote:
OK, now I know why the floating point exception is raised after
looking at the values of those variables and the source code.
Specifically, the whole statement it fails is actually the following:
Vx = 2.0 * (this->DisplayPoint[0] - sizex *
Viewport[0])/(sizex*(this->Viewport[2]-this->Viewport[0])) - 1.0,where
the denominator has a value of 0 when it fails: sizex = 0,
this->Viewport[2]=1, and this->Viewport[0]=0, which results in "divide
by zero" floating point exception. The key here is the sizex value
which should not be zero, and sizex is equal to the first component of
this->VTKWindow->GetSize(). So this VTKWindow gets a size of zero
which results in this floating point exception. I am puzzled on why
this could be the case since other filters like isocontouring does not
have this problem. Hopefully someone in the list could provide some
insight on this problem.
Thanks,
Hong
*From:*[email protected]
[mailto:[email protected]] *On Behalf Of *Hong Yi
*Sent:* Wednesday, February 27, 2013 12:26 PM
*To:* [email protected]
*Subject:* Re: [Paraview] floating point exception error when doing
slice filter (only happen when running pvserver remotely in parallel)
Just some follow-up information I hope to shed some light on this
problem. I used pdb to debug pvserver running with mpirun on the
server and found this floating point exception error happens on the
line below:
Program received signal SIGFPE, Arithmetic exception.
0x00002ad33e95021b in vtkViewport::DisplayToView (this=0x43a2670)
at
/home/hyi2/Download/ParaView-3.14.1-Source/VTK/Filtering/vtkViewport.cxx:204
204 (sizex*(this->Viewport[2]-this->Viewport[0])) - 1.0;
which puzzles me since I cannot imagine why this could cause floating
point exception (I cannot see possibility of "divide by zero" or other
possible arithmetic exception). I did try to check or uncheck "Remote
Render Threshold" checkbox both ways which results in the same failure
in the same statement as noted above. Also, isocontouring filter runs
fine with correct visual output, but slicing and clipping filters
result in same errors as noted above.
Hope this additional debug info could shed some light and trigger some
idea on what could be the problem. Perhaps there is a possibility it
is NVidia driver related? But in my configuration, HPC server uses
MESA software rendering and my client NVidia driver is up to date with
Geforce GTX580 graphics card.
Thanks for any ideas on what could cause this problem!
Hong
------------------------------------------------------------------------
*From:*[email protected]
<mailto:[email protected]> [[email protected]]
on behalf of Hong Yi [[email protected]]
*Sent:* Friday, February 22, 2013 12:27 PM
*To:* [email protected] <mailto:[email protected]>
*Subject:* [Paraview] floating point exception error when doing slice
filter (only happen when running pvserver remotely in parallel)
I built ParaView server with MPI on a HPC cluster with OSMesa support
since the cluster does not have graphics hardware. The MPI compiler
used to build ParaView is mpich2/gnu412x64/1.4-shared. Paraview server
built successfully on the cluster without any error. I can
successfully connect to the pvserver running on multiple nodes
remotely via Paraview client running on my local desktop, load data
in, and do gradient and vorticity computation, and look at isosurfaces
without problems. However, when I do slice filter to look at one
slice, as soon as I click on slice filter, pvserver aborts with
floating point exception error. It is not the data problem because I
can do slice filter without problem for the same data if I run builtin
Paraview server/client locally, so the problem only occurs when the
local client connects to pvserver running remotely on multiple nodes
(or on one node) via mpirun. So far, the slice filter is the only
filter I have run into with this floating point exception error raised
by the remote pvserver. The other filters such as gradient of
unstructured data, calculator of vorticity, isocontour all run
successfully with correct results produced. Any idea on what could
cause this problem is very much appreciated!
Thanks,
Hong
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview