[Paraview] floating point exception error when doing slice filter (only happen when running pvserver remotely in parallel)

Hong Yi hongyi at renci.org
Wed Feb 27 13:01:53 EST 2013


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: paraview-bounces at paraview.org [mailto:paraview-bounces at paraview.org] On Behalf Of Hong Yi
Sent: Wednesday, February 27, 2013 12:26 PM
To: paraview at paraview.org
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: paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org> [paraview-bounces at paraview.org] on behalf of Hong Yi [hongyi at renci.org]
Sent: Friday, February 22, 2013 12:27 PM
To: paraview at paraview.org<mailto:paraview at paraview.org>
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130227/8b59d2b1/attachment.htm>


More information about the ParaView mailing list